Introduction
Root URL
Request Body
Response Body
Data Types
Authentication
API Keys
Errors
Pagination
CAPTCHA
Currencies
Get currencies
Get currency supply
Markets
Get markets
Get order book
Get depth
Get OHLCV
Get OHLC
Seven
Get tickers
User
Get user
Get trading details
Get trading discount tiers
Accounts
Get accounts
Get portfolio
Deposits
Get deposits
Get deposit address
Initiate Axcess deposit
Get Axcess deposit status
Initiate Skrill deposit
Get Skrill deposit status
Initiate ECOMMPAY deposit
Get ECOMMPAY deposit status
Withdrawals
Submit withdrawal request
Get withdrawals
Create destination
Get destinations
Orders
Get orders
Get order
Create order
Cancel single order
Cancel multiple orders
Order estimation
Trades
Get trades
Get trades
Rewards
Get rewards
Get rewards summary
Price Alerts
Get price alerts
Get price alert
Create price alert
Update price alert
Delete price alert
Utilities
Exchange rates
Fee rates
43 endpoints
Introduction
CoinField HTTP API is designed to be simple yet powerful. Unlike many exchanges, CoinField encourages you to create your own trading bots and utilize the power of AI to make your trading profitable. CoinField's API respects all HTTP rules, status codes and security measures.

Root URL
Root URL: «https://api.coinfield.com».

Request Body
API accepts only JSON-encoded request body. Make sure header «Content-Type» is set to «application/json».

Response Body
API returns only JSON-encoded response body. It is not mandatory to include «Accept» header.

Data Types
There are several data types which have special encoding rules: 1) «datetime» The datetimes are encoded using ISO 8601 format: `CCYY-MM-DDThh:mm:ss.sssTZD`. Milliseconds may not be available. For example: «2017-10-25T13:28:43.876Z». 2) «decimal» / «float» The floating-point numbers are encoded as a strings. For example: "12245689.2346".

Authentication
Authentication in CoinField API is done using JWT (JSON Web Token). There are two types of tokens: 1) Session tokens Such tokens are generated when user signs in and have short lifespan. These tokens are automatically revoked by the system when password is changed to ensure maximum security. Tokens may be also revoked manually at any time from dashboard. 2) API tokens (also called API keys) Such tokens are only generated manually from dashboard. You can choose lifespan for token (maximum 10 years). These tokens are never revoked automatically to ensure your application remains healthy. You have ability to revoke tokens manually at any time from dashboard. To authenticate and gain access to private endpoints in CoinField HTTP API you will have to include HTTP header to each of your requests: Authorization: Bearer {{JWT}} {{JWT}} must be replaces with your token. Check out cURL example below: curl \ -X POST \ -H "Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.eyJpYXQiOjE2MTE1NzgzNzIsImV4cCI6MTYxMTU5Mjc3Miwic3ViIjoic2Vzc2lvbiIsImlzcyI6InVhYyIsInNjcCI6WyJkZXBvc2l0cyIsIndpdGhkcmF3YWxzIiwib3JkZXJzIl0sImFwaSI6ZmFsc2UsImp0aSI6Ijk0NWRlYjBhLWViNjEtNGM4Mi05Yjc2LTljNWRhOWU3ZmI1MyIsInVpZCI6IklEQTExMURCNzgyNyIsImVtYWlsIjoiSURBMTExREI3ODI3QGV4YW1wbGUuY29tIn0.Xt5rTIMj89quJG1uh_LtNhLznxMlkhoVYg1bVIag2jnGVFw6bSo4v7OspBR1FcS2tJuOlxHArMWynGMm4JAWLKpKXwjjGHGS8Vw2NHKiO_vMfyu1Lk6PQD5uBeOmzpNGa4X94jZ-5VhOWVdYIRpMDGS8Z6UPEse2NviSOxvxR-mIXjCpoItKLrNux2hmMcD74g0WDpwTAerGy33TDlPQ2mNQQ2hu9YLENOTfL3j0sLRyxzalitI0t5r2QgabDGHehH0zxPx0oicJTm4qCYgUeFVixZttL7EbnR4dnu_Hky80lfWLFASmQo5_P-aYQ9TtAfI_qN-ZcrbFdw4eOtJTMg" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "market": "btcusd", "type": "bid", "strategy": "market", "volume": "0.1" }' \ https://api.coinfield.com/v1/order In case we are unable to serve your request due to authentication issues: 1) HTTP 401 will be returned. 2) One of the next errors will be included in the response body: a) «authentication.token.missing» b) «authentication.token.expired» c) «authentication.token.revoked» d) «authentication.token.invalid» There are several access scopes any token can have: 1) deposits 2) withdrawals 3) orders In case we are unable to serve your request due to authorization issues: 1) HTTP 403 will be returned. 2) Error «authorization.failed» will be included in the response body as well as field «reason». This may happen in several cases: 1) Token access scopes don't include required permission. 2) You have been blacklisted from using some features, for example due to arbitraging. 3) Your country is in restricted countries list (you can't use platform at all or some of it's features). 4) You have been banned, for example due to violating some of rules. More information about JWT is available on jwt.io.

API Keys
Get your production API keys from the dashboard page to complete your integration. We use JWT tokens with an expiry date set by you on your setting page. If you feel your token is compromised you can disable it at anytime using the same dashboard. Tokens can be valid for up to years depending on when you set the expiry date/time. You can also, give specific permisions to each token to make sure the key is only used for what it is intented to do.

Errors
In case request parameters don't pass endpoint validations: 1) API returns status 422. 2) API includes property «alerts» in the root of JSON response body. Each alert contains such properties: a) «name»: error name, for example «value.invalid». b) «details»: error details, a hash containing various properties to help investigate & solve error.

There are two common pagination strategies used in API: 1) «page-based»: to paginate across collection you need to specify page number. 2) «cursor-based»: to paginate across collection you need to specify ID in «before_id» or «after_id» parameters. Details are available in the description of endpoint.

CAPTCHA
CoinField uses Google reCAPTCHA v2 Invisible. User's response must be submitted in parameter «g-recaptcha-response». When verifying CAPTCHA, API may return one of the following errors: – «captcha.response.missing» – «captcha.response.invalid» You can skip CAPTCHA verification by submitting parameter «g-recaptcha-skip» set to «true» (boolean). This feature is not available in production environment.

Currencies
Get currencies
PublicGET /v1/currencies
Returns information about supported currencies.
Legacy endpoint.
Response fields
id
Currency ID, for example «solo».
type
Currency type, «fiat» or «crypto».
erc20
«true» if currency is based on ERC20 standard, «false» otherwise.
name
Currency readable name, for example «USD».
symbol
Currency symbol, for example «$».
ISO4217
Alphanumeric code (ISO 4217) used to represent a currency, for example «USD».
precision
Maximum number of fraction digits displayed in UI.
withdrawal_fraction
Maximum number of fraction digits for various withdrawal-related use-cases.
color
Currency color in hexadecimal format, for example «#FFFFFF».
info
Link to the currency information, for example «https://coinmarketcap.com/currencies/sologenic/».
logo
Link to the currency logo.

Currencies
Get currency supply
PublicGET /v1/currencies/:currency_id/supply
Path parameters
currency_id
Currency ID. Only cryptocurrencies are supported.
Response fields
maximum_supply
Maximum currency supply. May be unavailable.
circulating_supply
Circulating currency supply. May be unavailable.
total_supply
Total currency supply. May be unavailable.

Markets
Get markets
PublicGET /v1/markets
Response fields
id
Market ID, for example «btcusd».
name
Market name, for example «BTC/USD».
ask_unit
Ask unit, for example «BTC».
bid_unit
Bid unit, for example «USD».
ask_precision
Maximum number of fraction digits for various ask-related use-cases.
bid_precision
Maximum number of fraction digits for various bid-related use-cases.
restricted_countries
Restricted countried for trading in this market. Array of ISO 3166 alpha-2 codes.
minimum_level
Minimum level required to be able to trade in this market.
minimum_volume
Minimum volume for order.
maximum_volume
Maximum volume for order.
minimum_funds
Minimum value of «funds» (see order creation endpoint).
maximum_funds
Maximum value of «funds» (see order creation endpoint).

Markets
Get order book
PublicGET /v1/orderbook/:market_id
Returns order book for a specific market.
Path parameters
market_id
Market ID. Required.
Query parameters
limit
Number of asks and bids to be returned.
Valid values: 1, 20, 50, 100, 150, 200.
Default value: 20 (20 asks and 20 bids).
Response fields
market_id
Market ID of the requested order book.
market
Deprecated. Use «market_id» instead.
total_asks
Total volume of asks in the requested order book.
This is the sum of the current dataset and does not refer to the
total order book if the limit lower than the complete order book.
total_bids
Total volume of bids in the requested order book.
This is the sum of the current dataset and does not refer to the
total order book if the limit lower than the complete order book.
asks_hash
MD5 checksum of asks array.
May be used in order to see if the order book has been updated since last request.
bids_hash
MD5 checksum of bids array.
May be used in order to see if the order book has been updated since last request.
asks
Array contaning asks.
bids
Array contaning bids.
id
Order ID.
price
Order price.
volume
Remaining volume of an order.
created_at
Time when order has been created. In ISO 8601 format.
timestamp
Same as «created_at». Deprecated.

Markets
Get depth
PublicGET /v1/depth/:market_id
Returns depth (volumes & prices) for a specific market.
Path parameters
market_id
Market ID. Required.
Query parameters
limit
Number of price levels to be returned.
Valid values: 1, 20, 50, 100, 200, 300.
Default value: 300.
Response fields
market_id
Market ID of the requested depth data.
market
Deprecated. Use «market_id» instead.
updated_at
Time when depth data has been updated last time. In ISO 8601 format.
asks
Array containing arrays of such structure:
– Index 0 (first element): represents price.
– Index 1 (second element): represents volume.
Asks are always sorted by price descending.
bids
Array containing arrays of such structure:
– Index 0 (first element): represents price.
– Index 1 (second element): represents volume.
Bids are always sorted by price ascending.

Markets
Get OHLCV
PublicGET /v1/ohlcv
Returns OHLCV of a specific market.
Query parameters
market_id
Market ID. Required.
limit
Number of candles returned.
Minimum value: 1.
Maximum value: 10000.
Default value: 30.
period
Candle periods.
Valid values:
– 1: 1 minute
– 5: 5 minutes (default)
– 15: 15 minutes
– 30: 30 minutes
– 60: 1 hour
– 120: 2 hours
– 360: 6 hours
– 720: 12 hours
– 1440: 24 hours
– 4320: 3 days
– 10080: 7 days
time_from
«from» time in Unix epoch format, for example «1530848940».
Optional.
Inclusive.
time_to
«to» time in Unix epoch format, for example «1530850620».
Optional.
Inclusive.
Has no effect unless «time_from» specified.
Response fields
array[0]
Timestamp.
array[1]
Open price.
array[2]
Highest price.
array[3]
Lowest price.
array[4]
Close price.
array[5]
Volume.

Markets
Get OHLC
PublicGET /v1/ohlc/:market_id
Returns OHLC of a specific market.
This endpoint is deprecated but still available.
Use «Get OHLCV» instead.
Path parameters
market_id
Market ID. Required.
Query parameters
limit
Number of candles returned.
Minimum value: 1.
Maximum value: 10000.
Default value: 30.
period
Candle periods.
Valid values:
– 1: 1 minute
– 5: 5 minutes (default)
– 15: 15 minutes
– 30: 30 minutes
– 60: 1 hour
– 120: 2 hours
– 360: 6 hours
– 720: 12 hours
– 1440: 24 hours
– 4320: 3 days
– 10080: 7 days
from
«from» time in Unix epoch format, for example «1530848940».
Optional.
to
«to» time in Unix epoch format, for example «1530850620».
Optional.
Response fields
ts
Time of candle in ISO 8601 format, for example «2018-07-06T04:30:00.000Z».
o
Open price.
h
Highest price.
l
Lowest price.
c
Close price.
v
Volume.

Markets
Seven
PublicGET /v1/ohlcv/seven

Markets
Get tickers
PublicGET /v1/tickers/:market_id
Returns tickers for all markets or just for specific.
Path parameters
market_id
Market ID.
Optional.
If present returns ticker just for specified market.
Query parameters
period
Defines time range for ticker.
For example, «period=120» means ticker for
past 120 minutes from now (2 hours) will be returned.
Valid values:
– 1: 1 minute
– 5: 5 minutes
– 15: 15 minutes
– 30: 30 minutes
– 60: 1 hour
– 120: 2 hours
– 360: 6 hours
– 720: 12 hours
– 1440: 24 hours (default)
– 4320: 3 days
– 10080: 7 days
Response fields
tickers
A hash containing market IDs in the keys and tickers in the values.
markets
An array containing tickers.
Deprecated. Please, use «tickers» instead.
market_id
Market ID.
period
Ticker period.
open
Opening price 24 hours prior to current time.
bid
Best bid price.
ask
Best ask price.
high
Highest traded price in the past 24 hours.
low
Lowest traded price in the past 24 hours.
last
Last traded price.
volume
Total volume of the last 24 hours.
vol
Same as «volume». Deprecated.
market
Market ID. Deprecated.
time
Time when ticker has been updated last time.
Unix time in milliseconds.
timestamp
Time when ticker has been updated last time.
ISO 8601 format.
Deprecated.

User
Get user
PrivateGET /v1/me
 GET /v1/account
Returns various information about user.
Response fields
id
Unique user ID.
Always begins with «ID», matches /^ID[A-Z0-9]{10}$/ and has length of 12.
For example: IDA151KL7827.
uid
Same as «id». Deprecated.
email
User email.
password_compromised
Represents status of password compromisation check (exposed in a data breach).
Valid values:
– «null»: no checks have been performed.
– «true»: password is compromised.
– «false»: password is not compromised.
level
User level (from 0 to 6).
role
User role.
time_zone
Time zone in «Time Zone Database» format.
tz
Same as «tz». Deprecated.
base_currency_id
Base currency ID (used by GUI, account statements and in other places).
base_currency
Same as «base_currency_id». Deprecated.
base_cid
Same as «base_currency_id». Deprecated.
trading_discounts_enabled
If «true» CFC trading discount (pay fee with CFC) will be automatically applied to all orders.
registration_source
Registration source.
One of:
– «web»: user has been registered using browser.
– «application»: user has been registered using application.
– «api»: no more longer supported.
– «other»: no more longer supported.
referrer_id
Referrer ID.
referrer_uid
Same as «referrer_id». Deprecated.
mfa_enabled
MFA stands for multi-factor authentication. «true» if 2FA is enabled.
otp
Same as «mfa_enabled». Deprecated.
phones
Represents array of verified user phones.
Each item contains such properties:
– «number»: phone number in international format.
current_sign_in_ip
Current sign in IP (last one).
current_sign_in_at
Current sign in time (last one).
last_sign_in_ip
Previous sign in IP (before last one).
last_sign_in_at
Previous sign in time (before last one).
profile
Hash containing such properties («null» if profile hasn't been submitted yet):
– «status»
– «first_name»
– «middle_name»
– «last_name»
– «first_last_name»
– «second_last_name»
– «international_full_name»
– «name_suffix»
– «birthdate»
– «gender»
– «nationality»
– «country»
– «uniform_territory»
– «address»
– «address_line_1»
– «address_line_2»
– «territory»
– «city»
– «postcode»
– «occupation»
– «job_title»
– «proof_of_address_type»
– «proof_of_address_document»
– «trading_skills_level»
– «estimated_trading_volume_per_month»
– «source_of_funds_type_type»
– «source_of_funds_description»
– «purpose_of_the_account»
– «representing_someone_else»
– «politically_exposed_person»
– «level_6_application_submitted_at»
– «level_6_application_method»
documents
Represents array of user documents.
Each item contains such properties:
– «type»: document type.
– «number»: document number (optional).
– «expiry»: document expiry date (optional).
– «date»: document issuance date (optional).
– «url»: document download URL (limited time).

User
Get trading details
PrivateGET /v1/trading/details
Returns various information about user's trading activity, restrictions, discounts, etc.
Response fields
cfc_holdings
Total amount of CFC funds (balance + locked).
cfc_purchases_average_price_usd
Average CFC purchase price in USD during IEO.
cfc_lock_up_duration_seconds
Duration of CFC lock-up period in seconds.
cfc_lock_up_remaining_seconds
Number of seconds until lock-up is cleared.
volume_past_30_days_usd
Total trading volume for past 30 days in USD.
discount_tier
Current discount tier. See description of fields at «Get trading discount tiers».
discounts_enabled
If «true» discount will be automatically applied to all orders
unless discount is explicitly disabled by using order request parameters.

User
Get trading discount tiers
PublicGET /v1/trading/discount_tiers
Returns information about available trading discount tiers.
Response fields
id
Unique discount tier number, for example «2».
discount_percentage
Discount percentage, for example «35».
cfc_holdings.greater_than_or_equal_to
Defines minimum amount of CFC holdings required in order to use this discount tier.
trading_volume_past_30_days_usd.greater_than_or_equal_to
Defines minimum amount of trading volume past 30 days in USD required in order to use this discount tier.

Accounts
Get accounts
PrivateGET /v1/wallets
Returns user accounts.
Response fields
currency_id
No description.
currency
Same as «currency_id».
Parameter is deprecated: please use «currency_id» instead.
balance
Funds available to use.
locked
Funds currently in use (pending orders, pending withdrawals, staking etc).

Accounts
Get portfolio
PrivateGET /v1/portfolio
Returns total user accounts value converted to specified currency via parameters or to user's base currency.
Conversion is performed using global market average prices.
Query parameters
currency_id
Currency ID, for example «eth».
If specified, all balances will be converted to this currency instead of user's base currency.
currency
Same as «currency_id». Deprecated.
Response fields
available
Amount of free user funds ready to be used for trading, withdrawals and other actions.
locked
Amount of locked user funds (used by open orders, pending withdrawals etc).
hold
Amount of funds on hold by exchange for some limited time.
total
Total amount of user funds («available» + «locked»).
currency_id
Measurement unit for returned values.
currency
Same as «currency_id». Deprecated.

Deposits
Get deposits
PrivateGET /v1/deposits/:currency_id
Returns user deposits.
This endpoint supports page-based pagination.
In addition these properties are returned:
– «current_page»
– «current_count»
– «total_pages»
– «total_count»
– «per_page»
Path parameters
currency_id
Currency ID, for example «btc».
Optional.
If specified, returns only those deposits in which the currency is equal to the specified value.
Query parameters
state
One of:
– «submitted»
– «authorizing»
– «authorized»
– «rejected»
– «accepted»
Optional.
If specified, returns only those deposits in which the state is equal to the specified value.
txid
Transaction ID (cryptocurrency only).
Optional.
If specified, returns only those deposits in which the TXID is equal to the specified value.
time_from
«from» time in Unix epoch format, for example «1530848940».
Optional.
Inclusive.
Can be used separately from «time_to».
time_to
«to» time in Unix epoch format, for example «1530850620».
Optional.
Inclusive.
Can be used separately from «time_from».
page
Page number. Default is 1.
per_page
Number of items returned per page. Default is 100.
limit
Same as «per_page».
Parameter is deprecated: please use «per_page» instead.
sort
Sorts deposits by ID, either «asc» or «desc». Default is «desc».
Response fields
id
Deposit ID.
currency_id
Currency ID.
currency
Same as «currency_id». Deprecated field. Don't use.
amount
Deposit amount including fee.
fee
Deposit fee rate.
For example: «0.007» means 0.7%.
txid
Transaction ID in the network (crypto only).
sender_address
Address of sender's wallet (crypto only).
Unavailable for some deposits.
recipient_address
Address of recipient's wallet (crypto only).
address
Same as «recipient_address». Deprecated field. Don't use.
state
State of deposit.
method
Deposit method. For example: «crypto», «wire», «paypal».
confirmations
Transaction confirmations number in the network (crypto only).
created_at
Time when deposit has been created.
updated_at
Time when deposit has received any updates last time (like state changes, TX confirmations).
completed_at
Time when deposit has been completed (accepted or rejected).

Deposits
Get deposit address
PrivateGET /v1/deposit_addresses/:currency_id
 GET /v1/deposit-addresses/:currency_id
Returns deposit address for specific cryptocurrency.
Path parameters
currency_id
Currency ID, for example «btc».
Required.
Only cryptocurrency.
Response fields
currency_id
Currency ID.
currency
Same as «currency_id». Deprecated field. Don't use.
address
Deposit address (not a hash, just text).
formats
A hash contaning format names in the keys and deposit addresses in the values.
For example (XRP):
{
"formats": {
"classic": "rJSwtUcnvGGZYFkJGtA9DVnSeUGRobSaFZ?dt=777",
"x": "XVSMmDLoxZZyY52joLXczs5jSff5Jn3wSq954fe2Jk2aaSs"
}
}
requested_at
Time when address generation has been requested.
generated_at
Time when address has been finally generated.
addresses
Deprecated field. Please, use property «address» at the root of response instead.

Deposits
Initiate Axcess deposit
PrivatePOST /v1/deposits/axcess
Initiates processing of Axcess deposit.
After successful response is received continuously check response from «Get Axcess deposit status».
Body parameters
currency_id
Currency ID (fiat only).
amount
Deposit amount (2 decimal places maximum).
otp
2FA code (required only if 2FA is enabled).
Response fields
id
Deposit ID.
currency_id
Currency ID.
amount
Deposit amount including fee.

Deposits
Get Axcess deposit status
PrivateGET /v1/deposits/axcess/status
Returns processing status of Axcess deposit.
Two cases are possible:
1) Deposit is rejected due to auditing issues or due to issues creating deposit at Axcess.
2) Deposit is authorized and «checkout_id» is returned in the response.
This means processing can be continued.
Query parameters
id
Deposit ID.
Response fields
id
Deposit ID.
state
Deposit state.
axcess
Contains various properties related directly to Axcess.
checkout_id
Axcess checkout ID. This ID is used by Axcess payment widget.

Deposits
Initiate Skrill deposit
PrivatePOST /v1/deposits/skrill
Initiates processing of Skrill deposit.
After successful response is received continuously check response from «Get Skrill deposit status».
Body parameters
currency_id
Currency ID (fiat only).
amount
Deposit amount (2 decimal places maximum).
otp
2FA code (required only if 2FA is enabled).
Response fields
id
Deposit ID.
currency_id
Currency ID.
amount
Deposit amount including fee.

Deposits
Get Skrill deposit status
PrivateGET /v1/deposits/skrill/status
Returns processing status of Skrill deposit.
Two cases are possible:
1) Deposit is rejected due to auditing issues or due to issues creating deposit at Skrill.
2) Deposit is authorized and «session_id» is returned in the response.
This means processing can be continued.
Query parameters
id
Deposit ID.
Response fields
id
Deposit ID.
state
Deposit state.
skrill
Contains various properties related directly to Skrill.
session_id
Skrill session ID. This ID is used by Skrill payment form.

Deposits
Initiate ECOMMPAY deposit
PrivatePOST /v1/deposits/ecommpay
Initiates processing of ECOMMPAY deposit.
After successful response is received continuously check response from «Get ECOMMPAY deposit status».
ECOMMPAY supports two modes for deposit:
1) Web mode: user is redirected to page and fills payment properties there.
2) API mode: user fills payment properties on CoinField.
Currently only Web ECOMMPAY mode is available.
Body parameters
currency
Currency ID (fiat only).
amount
Deposit amount (integers only).
otp
2FA code (required only if 2FA is enabled).
Response fields
id
Deposit ID.
currency_id
Currency ID.
amount
Deposit amount including fee.

Deposits
Get ECOMMPAY deposit status
PrivateGET /v1/deposits/ecommpay/status
Returns processing status of ECOMMPAY deposit.
Two cases are possible:
1) Deposit is rejected due to auditing issues.
2) Deposit is rejected due to issues creating deposit at ECOMMPAY (API mode only).
3) Deposit is authorized and additional properties are returned in the response.
This means processing can be continued.
Query parameters
id
Deposit ID.
Response fields
id
Deposit ID.
state
Deposit state.
ecommpay
Contains various properties related directly to ECOMMPAY.
ecommpay.mode
ECOMMPAY mode.
Can be «web» or «api».
Currently only «web» is used.
ecommpay.payment_page_url
Payment page URL. Only for Web ECOMMPAY mode.
ecommpay.payment_page_parameters
Payment page parameters.
Only for Web ECOMMPAY mode.
Refer to ECOMMPAY documentation about fields in this data structure.
ecommpay.3ds.url
3-D Secure page URL.
Only for API ECOMMPAY mode.
ecommpay.3ds.payload
3-D Secure parameters.
Only for API ECOMMPAY mode.
Refer to ECOMMPAY documentation about fields in this data structure.

Withdrawals
Submit withdrawal request
PrivatePOST /v1/withdrawals/:currency
Creates a new withdrawal request for fiat or crypto.
Path parameters
currency
Currency ID, for example «btc».
Body parameters
amount
Amount to be withdrawn.
destination
Destination ID. You may use existing destination or create a new one.
otp
One-time password.
If multi-factor authentication is turned on, this value is required.
Response fields
id
Withdrawal ID.
currency
Withdrawal currency.
amount
Withdrawal amount (including fee).
fee
Withdrawal fee.
state
Withdrawal state.

Withdrawals
Get withdrawals
PrivateGET /v1/withdrawals/:currency
Returns withdrawals.
This endpoint supports page-based pagination.
In addition these properties are returned:
– «current_page»
– «current_count»
– «total_pages»
– «total_count»
– «per_page»
Path parameters
currency
Currency ID, for example «btc».
Query parameters
page
Page number. Default is 1.
per_page
Number of items returned per page. Default is 100.
limit
Same as «per_page».
Parameter is deprecated: please use «per_page» instead.
sort
Sorts items by ID, either «asc» or «desc». Default is «desc».
state
If specified, returns only those withdrawals in which the state is same as the specified value.
time_from
«from» time in Unix epoch format, for example «1530848940».
Optional.
Inclusive.
Can be used separately from «time_to».
time_to
«to» time in Unix epoch format, for example «1530850620».
Optional.
Inclusive.
Can be used separately from «time_from».
Response fields
id
Withdrawal ID.
currency
Withdrawal currency.
amount
Withdrawal amount (including fee).
fee
Withdrawal fee.
state
Withdrawal state.
type
«fiat» or «coin».
txid
If crypto, transaction ID in network.
confirmations
If crypto, current transaction confirmations number.
destination
If crypto, this is the wallet address, if any other method, this value is the destination ID.
rid
Same as «destination».
Field is deprecated: please use «destination» instead.
created_at
Time when withdrawal request has been submitted.
updated_at
Time when withdrawal received any kind of update.
completed_at
Time when withdrawal has been completed (including success or failure).
done_at
Same as «completed_at».
Field is deprecated: please use «completed_at» instead.

Withdrawals
Create destination
PrivatePOST /v1/withdrawal_addresses/:currency
Creates withdrawal destination.
Path parameters
currency
Currency ID, for example «btc».
Body parameters
label
User-friendly name for withdrawal destination.
Minimum length: 2.
Maximum length: 64.
method
Transfer method.
One of:
– crypto
– wire
– sepa
– paypal
– muchbetter
– interac
– otc
– crypto_capital
– ecommpay
– paystack
details
Hash containing fields specific to transfer method.
Available fields:
– wallet_address
– pay_id
– beneficiary_name
– beneficiary_address_line_1
– beneficiary_address_line_2
– beneficiary_address_line_3
– beneficiary_city
– beneficiary_zip
– beneficiary_country
– beneficiary_telephone
– bank_name
– bank_address_line_1
– bank_address_line_2
– bank_address_line_3
– bank_city
– bank_zip
– bank_country
– correspondent_bank_name
– correspondent_bank_address_line_1
– correspondent_bank_address_line_2
– correspondent_bank_address_line_3
– correspondent_bank_city
– correspondent_bank_zip
– correspondent_bank_country
– swift
– iban
– account_number
– sort_code
– aba
– phone
– transit
– email
Response fields
id
No description.
currency
No description.
type
«coin» or «fiat» depending on currency.
label
No description.
method
No description.
details
No description.

Withdrawals
Get destinations
PrivateGET /v1/withdrawal_addresses/:currency
Returns withdrawal destination.
The returned items are sorted by ID descending.
This endpoint supports page-based pagination.
In addition these properties are returned:
– «current_page»
– «current_count»
– «total_pages»
– «total_count»
– «per_page»
Check out «Create destination» endpoint for information about response fields.
Path parameters
currency
Currency ID, for example «btc».
Query parameters
method
If specified, returns only those destination in which the transfer method is equal to the specified value.
page
Page number. Default is 1.
per_page
Number of items returned per page. Default is 30.

Orders
Get orders
PrivateGET /v1/orders/:market_id
Returns user orders.
Response contains an array of orders with the same format as described in «Get order».
Notes about pagination:
1) This endpoint supports two types of pagination: page-based and cursor-based.
2) Use «page» and «per_page» if you would like to use page-based pagination.
3) Use «before_id», «after_id» and «limit» if you would like to use cursor-based pagination.
Path parameters
market_id
Market ID.
Required.
For example: «btcusd».
Query parameters
state
Filters orders by state.
By default no filtering is applied.
page
Page number of paginated results.
per_page
Limits the number of returned orders.
Valid values: 50, 100, 150, 200, 250, 300,
350, 400, 450, 500, 550, 600, 650, 700,
750, 800, 850, 900, 950, 1000.
Default value: 100.
before_id
Order ID.
If specified, returns only those items in which the ID is less than the specified value.
after_id
Order ID.
If specified, returns only those items in which the ID is greater than the specified value.
If «before_id» is specified, this parameter is ignored.
limit
If you use page-based pagination:
Same as «per_page». Deprecated. If both parameters are present «per_page» takes higher priority.
If you use cursor-based pagination:
Specifies maximum number of items to return.
sort
If set, orders will be sorted by ID in specific order: «desc» or «asc».
By default orders are sorted descending by ID.
order_by
Same as «sort». Deprecated. If both parameters are present «sort» takes higher priority.
time_from
«from» time in Unix epoch format, for example «1530848940».
Optional.
Inclusive.
Can be used separately from «time_to».
time_to
«to» time in Unix epoch format, for example «1530850620».
Optional.
Inclusive.
Can be used separately from «time_from».

Orders
Get order
PrivateGET /v1/order/:id
Returns order by ID.
Path parameters
id
Order ID.
Required.
For example: «7l211fvs1tt0178sdl».
Response fields
id
Order ID;
market_id
Market ID.
market
Same as «market». Deprecated.
ask_unit
Market ask unit. In BTC/USD ask unit is BTC.
bid_unit
Market bid unit. In BTC/USD bid unit is USD.
strategy
Order strategy.
One of:
— «limit»
— «market»
— «stop_limit»
type
Order type.
One of:
— «ask»
— «bid»
side
Same as «type». Deprecated.
price
Order price (only for «limit» or «stop_limit» orders).
stop_price
Order stop price («stop_limit» orders).
immediate
«true» or «false».
If set to «true», order will be fully filled immediately or canceled if not possible to fill fully.
expiry
The time at which order cancellation will be automatically triggered.
Applicable only to limit or stop limit orders.
state
Order state.
One of:
— «open»
— «closed»
— «canceled»
– «pending» (for stop limit orders)
trades_count
Number of trades taken place for the order.
user_id
User ID of the user placing the order.
uid
Same as «user_id». Deprecated.
average_execution_price
Average price of executed trades.
avg_price
Same as «average_execution_price». Deprecated.
created_at
Time when order has been placed.
updated_at
Time when order has received any kind of updates last time like volume change,
new trade, state change and other.
volume_initial
Initial order volume (original).
volume_remaining
Remaining order volume (still not filled).
volume_executed
Executed order volume (filled by trades).
volume
Same as «volume_initial». Deprecated.
remaining_volume
Same as «volume_remaining». Deprecated.
executed_volume
Same as «volume_executed». Deprecated.
base
Same as «ask_unit».
quote
Same as «bid_unit».
funds_received
For ask orders this property contains amount of funds
you have received from selling an asset (BTC/USD – USD).
For bid orders this property contains amount of funds
you have received from buying an asset (BTC/USD – BTC).
funds_used
For ask orders this property contains amount of funds
you have used for selling an asset (BTC/USD – BTC).
For bid orders this property contains amount of funds
you have used for buying an asset (BTC/USD – USD).
cost
Same as «funds_used». Deprecated.
fee_model
Fee model used by order.
One of:
– «ask_bid»: fee ratio is always fixed and varies based on order type (ask or bid).
– «maker_taker»: fee ratio is determined depending on order behavior (maker or taker).
fee_ask_bid_ratio
Fee ratio used by «ask_bid» model.
fee_maker_ratio
Fee ratio used by «maker_taker» model.
fee_taker_ratio
Fee ratio used by «maker_taker» model.
fee_unit_default
Defines default currency used to pay fees.
For ask orders default fee unit is equal to bid unit (BTC/USD – USD).
For bid orders default fee unit is equal to ask unit (BTC/USD – BTC).
fee_discount_default
Defines discount which is applied to fee in case fee is paid in default unit («fee_unit_default»).
For example: value «0.15» means 15% discount.
fee_unit_instructed
If present, trade executor will attempt to use instructed currency to pay fees in.
If there are not enough funds on user's account trade executed will use «fee_unit_default».
fee_discount_instructed
Defines discount which is applied to fee in case fee is paid in instructed unit («fee_unit_instructed»).

Orders
Create order
PrivatePOST /v1/order
Creates order.
Response fields are same as in «Get order».
Body parameters
market_id
Market ID, for example «xrpusd».
Required.
type
«bid» if you want to create buy order or «ask» if you want to create sell order.
Required.
strategy
The strategy which defines how to match and execute orders.
One of:
– «limit»
– «market»
– «stop_limit»
volume
The amount you are willing to buy or sell.
price
The price for each unit.
stop_price
If the strategy is «stop_limit», this value is the price at which stop limit order will be triggered.
funds
For bid orders:
The amount of money you are willing to spend for purchase.
The system will automatically calculate the volume based on the current exchange rates and the value of parameter.
For ask orders:
The amount of money you are willing to get for the sell.
The system will automatically calculate the volume based on the current exchange rates and the value of parameter.
expiry
The time at which order cancellation will be automatically triggered.
Applicable only to limit or stop limit orders.
immediate
If set to «true», order will be fully filled immediately or canceled if not possible to fill fully.
Applicable only to limit, market or stop limit orders.
discount
If «true» forces the system to pay fees in CFC and apply discount.

Orders
Cancel single order
PrivateDELETE /v1/order/:order_id
Enqueues cancellation for specific order.
Response fields determine filters used by worker to process cancellation.
Path parameters
order_id
Order ID.
Response fields
market_id
No description.
user_id
No description.
order_ids
No description.
reference
Cancellation job unique reference.

Orders
Cancel multiple orders
PrivateDELETE /v1/orders/:market_id
Enqueues cancellation for multiple orders.
Possible combinations:
– «market_id»: cancels all orders in the market.
– «market_id» + «order_type»: cancels all asks or bids in the market.
– «market_id» + «order_ids»: cancels specific orders in the market.
Response fields determine filters used by worker to process cancellation.
Path parameters
market_id
Market ID.
Body parameters
order_ids
An array containing order IDs of the single market.
order_type
Order type («ask» or «bid»).
Response fields
market_id
No description.
user_id
No description.
order_ids
No description.
order_type
No description.
reference
Cancellation job unique reference.

Orders
Order estimation
PublicGET /v1/orders/:market_id/estimation
Estimates volume or funds based on current order book.
Examples:
---
Order book BTCUSD
ASK
9800.00 USD / 2.03 BTC
9600.00 USD / 0.51 BTC
9500.00 USD / 0.28 BTC
BID
9480.00 USD / 0.11 BTC
9400.00 USD / 0.34 BTC
9350.00 USD / 1.27 BTC
---
Request: Type = Ask | Strategy = Limit | Volume = 0.15 | Price = 9550.00
Path: /v1/orders/btcusd/estimation?type=ask&strategy=limit&volume=0.15&price=9550.00
Response: Volume = 0.15 | Funds = 1432.50
^ ^
You spend You get
---
Request: Type = Bid | Strategy = Limit | Volume = 1.167 | Price = 9300.00
Path: /v1/orders/btcusd/estimation?type=bid&strategy=limit&volume=1.167&price=9300.00
Response: Volume = 1.167 | Funds = 10853.10
^ ^
You get You spend
---
Request: Type = Ask | Strategy = Market | Volume = 0.38
Path: /v1/orders/btcusd/estimation?type=ask&strategy=market&volume=0.38
Response: Volume = 0.38 | Funds = 3580.80
^ ^
You spend You get
---
Request: Type = Bid | Strategy = Market | Volume = 0.805
Path: /v1/orders/btcusd/estimation?type=bid&strategy=market&volume=0.805
Response: Volume = 0.805 | Funds = 7703.00
^ ^
You get You spend
---
Request: Type = Ask | Strategy = Market | Funds = 3000.00
Path: /v1/orders/btcusd/estimation?type=ask&strategy=market&funds=3000.00
Response: Volume = 0.31821277 | Funds = 3000.00
^ ^
You spend You get
---
Request: Type = Bid | Strategy = Market | Funds = 3000.0
Path: /v1/orders/btcusd/estimation?type=bid&strategy=market&funds=3000.00
Response: Volume = 0.31541666 | Funds = 3000.00
^ ^
You get You spend
Path parameters
market_id
Market ID, for example «btcusd». Required.
Query parameters
type
«ask» or «bid». Required.
strategy
«limit» or «market». Required.
price
Must be provided if parameter «strategy» equals to «limit».
Greater than zero.
Maximum integer digits: 8.
Maximum fraction digits: 8.
volume
Must be provided if parameter «funds» is missing.
Market ask unit (BTC).
Greater than zero.
Maximum integer digits: 8.
Maximum fraction digits: 8.
funds
Only for market orders.
Must be provided if parameter «volume» is missing.
Market bid unit (USD).
Greater than zero.
Maximum integer digits: 8.
Maximum fraction digits: 8.
Response fields
volume
Market ask unit.
funds
Market bid unit.
time
Time indicating when the returned values were up-to-date. ISO 8601 format.

Trades
Get trades
PublicGET /v1/trades/:market_id
Returns executed trades for specific market.
This endpoint supports cursor-based pagination.
Path parameters
market_id
Market ID, for example «btcusd». Required.
Query parameters
before_id
Trade ID, for example: «7l1e2m7l70062osn».
If specified, returns only those items in which the ID is less than the specified value.
after_id
Trade ID, for example: «7l1e2m7l70062osn».
If specified, returns only those items in which the ID is greater than the specified value.
If «before_id» is specified, this parameter is ignored.
limit
Limits number of returned items. Default is 50.
sort
Sorts items by ID, either «asc» or «desc». Default is «desc».
order_by
Same as «sort». Deprecated.
from
Numeric trade ID. If set, only trades done after the specified trade ID will be returned.
Deprecated. Use «before_id» and «after_id» instead!
to
Numeric trade ID. If set, only trades done before the specified trade ID will be returned.
Deprecated. Use «before_id» and «after_id» instead!
Response fields
id
Trade ID, for example: «7l1e2m7l70062osn».
price
Trade execution price.
volume
Trade volume.
funds
Spent funds.
executed_at
Time when trade has been executed.
total_value
Deprecated field. Don't use.
timestamp
Deprecated field. Don't use.
market_id
Market ID.
market
Same as «market_id». Deprecated.
trades_hash
MD5 checksum of trades, may be used in order to see if the trades has been updated since last request.

Trades
Get trades
PrivateGET /v1/trade_history/:market_id
 GET /v1/trade-history/:market_id
Returns executed trades for specific market.
This endpoint supports cursor-based pagination.
Path parameters
market_id
Market ID, for example «btcusd». Required.
Query parameters
before_id
Trade ID, for example: «7l1e2m7l70062osn».
If specified, returns only those items in which the ID is less than the specified value.
after_id
Trade ID, for example: «7l1e2m7l70062osn».
If specified, returns only those items in which the ID is greater than the specified value.
If «before_id» is specified, this parameter is ignored.
limit
Limits number of returned items. Default is 50.
sort
Sorts items by ID, either «asc» or «desc». Default is «desc».
time_from
«from» time in Unix epoch format, for example «1530848940».
Optional.
Inclusive.
Can be used separately from «time_to».
time_to
«to» time in Unix epoch format, for example «1530850620».
Optional.
Inclusive.
Can be used separately from «time_from».
order_by
Same as «sort». Deprecated.
from
Numeric trade ID. If set, only trades done after the specified trade ID will be returned.
Deprecated. Use «before_id» and «after_id» instead!
to
Numeric trade ID. If set, only trades done before the specified trade ID will be returned.
Deprecated. Use «before_id» and «after_id» instead!
Response fields
id
Trade ID, for example: «7l1e2m7l70062osn».
market_id
Market ID.
ask_id
Ask order ID.
bid_id
Bid order ID.
ask_behavior
Ask order behavior.
One of:
– «maker»: order behaves as maker.
– «taker»: order behaves as taker.
– «null»: in case ask/bid fee model is used.
bid_behavior
Bid order behavior.
One of:
– «maker»: order behaves as maker.
– «taker»: order behaves as taker.
– «null»: in case ask/bid fee model is used.
price
Trade execution price.
volume
Trade volume.
funds
Spent funds.
total_value
Same as «funds». Deprecated field. Don't use.
executed_at
Time when trade has been executed.
timestamp
Same as «executed_at». Deprecated field. Don't use.
buyer_id
Bid order owner ID.
buyer_income
Hash containing next properties:
– «unit»: income unit (BTC/USD – BTC).
– «amount»: income amount (including fee).
buyer_outcome
Hash containing next properties:
– «unit»: outcome unit (BTC/USD – USD).
– «amount»: outcome amount.
buyer_fee
Hash containing next properties:
– «unit»: fee unit, for example «btc».
– «model»: fee model, for example «ask_bid» or «maker_taker».
– «ratio»: fee ratio, for example «0.0025» (means 0.25%).
– «discount»: fee discount, for example «0.1» (means 10%).
– «amount»: fee amount.
seller_id
Ask order owner ID.
seller_income
Hash containing next properties:
– «unit»: income unit (BTC/USD – USD).
– «amount»: income amount (including fee).
seller_outcome
Hash containing next properties:
– «unit»: outcome unit (BTC/USD – BTC).
– «amount»: outcome amount.
seller_fee
Hash containing next properties:
– «unit»: fee unit, for example «btc».
– «model»: fee model, for example «ask_bid» or «maker_taker».
– «ratio»: fee ratio, for example «0.0025» (means 0.25%).
– «discount»: fee discount, for example «0.1» (means 10%).
– «amount»: fee amount.
order_id
Deprecated field. Don't use.
side
«ask» or «bid». Deprecated field. Don't use.

Rewards
Get rewards
PrivateGET /v1/rewards/:currency_id
Returns list of rewards.
This endpoint supports cursor-based pagination.
Path parameters
currency_id
If specified, returns only those rewards in which the currency is equal to the specified value.
Query parameters
before_id
If specified, returns only those items in which the ID is less than the specified value.
after_id
If specified, returns only those items in which the ID is greater than the specified value.
limit
Limits number of returned items.
Valid values: 10, 15, 20, 25, 30, 35, 40, 45, 50.
Default value: 50.
sort
Sorts items by ID, either «asc» or «desc». Default is «desc».
time_from
«from» time in Unix epoch format, for example «1530848940».
Optional.
Inclusive.
Can be used separately from «time_to».
time_to
«to» time in Unix epoch format, for example «1530850620».
Optional.
Inclusive.
Can be used separately from «time_from».
Response fields
id
Reward ID.
type
One of:
– «trading_v1»
– «trading_v2»
– «deposit»
– «registration»
currency_id
Reward currency.
currency
Same as «currency_id». Deprecated.
amount
Reward amount.
created_at
Time when reward has been created.
executed_at
Time when reward has been executed e.g. time when reward amount has been credited to user account.
deposit__referred_id
Referred user ID.
deposit__referred_email
Referred user email.
The returned value is partially hidden for privacy reasons, for example «j*****e@o***.com».
deposit__deposit_id
Deposit ID which triggered reward.
trading_v1__market_id
Market ID.
trading_v1__trade_id
Trade ID (numeric) which triggered reward.
registration__user_id
No description.
registration__registered_at
No description.
registration__level
No description.
registration__level_reached_at
No description.
registration__country
No description.
registration__matched_country
No description.
registration__source
No description.
trading_v2__market_id
Market ID
trading_v2__trade_id
Trade ID (numeric) which triggered reward.
trading_v2__trader_id
Trader ID.
trading_v2__trader_type
Trader type («seller» or «buyer»).
trading_v2__trader_email
Trader email (obfuscated).
trading_v2__referrer_depth
Index in trader's referrers chain (zero means «user_id» is a direct referrer of trader).
trading_v2__referred_active_users_count
Number of directly referred users (depth = 0) which were considered active as
of reward execution time («executed_at»).
Active user is a user which had at least single trade for past 30 days.
trading_v2__referred_id
ID of user which is next in trader's referrers chain («trading_v2__referrer_depth» + 1).
trading_v2__referred_email
User email (obfuscated).
trading_v2__rate_percentage
Represents a base percentage of trade's fee credited to user.
trading_v2__bonus_percentage
Represents an extra percentage of trade's fee credited to user.

Rewards
Get rewards summary
PrivateGET /v1/rewards/summary
 GET /v1/rewards-summary
Returns lifetime rewards earnings.
The data is updated every 8 hours.
Query parameters
types
Comma-separated list of reward types.
If specified, returns only those items in which the type is included in the list of specified values.
Response fields
currency_id
Rewards currency.
currency
Same as «currency_id».
amount
Total amount of rewards earned.

Price Alerts
Get price alerts
PrivateGET /v1/price_alerts
Returns user price alerts (newest price alerts go first).
Check out response fields at «Create price alert».
Query parameters
market
If specified, returns only those price alerts in which the market is equal to the specified value.

Price Alerts
Get price alert
PrivateGET /v1/price_alerts/:id
Returns user price alert by ID.
Check out response fields at «Create price alert».
Path parameters
id
Price alert ID.

Price Alerts
Create price alert
PrivatePOST /v1/price_alerts
Creates new price alert for user.
Body parameters
market
No description.
price
Maximum integer digits: 7. Maximum fraction digits: 8.
trend
«up» or «down».
Response fields
id
No description.
market
No description.
price
No description.
trend
«up» or «down».
active
No description.
created_at
No description.
updated_at
No description.

Price Alerts
Update price alert
PrivatePUT /v1/price_alerts/:id
Updates price alert.
Check out response fields at «Create price alert».
Path parameters
id
Price alert ID.
Body parameters
price
Maximum integer digits: 7. Maximum fraction digits: 8.
trend
«up» or «down».
active
No description.

Price Alerts
Delete price alert
PrivateDELETE /v1/price_alerts/:id
Deletes price alert.
Path parameters
id
Price alert ID.
Response fields
id
ID of deleted price alert.

Utilities
Exchange rates
PublicGET /v1/exchange_rates
Returns exchange rates.
Response is a hash containing currencies in the keys and exchange rates in the values.
For example:
exchange_rates = {
"btc": {
"usd": "9548.65",
"btc": "1.0",
"eth": "34.76534624"
},
"eth": {
"usd": "274.66",
"btc": "0.02876427",
"eth": "1.0"
},
"usd": {
"usd": "1.0",
"btc": "0.00010472",
"eth": "0.00364086"
}
}
It is guaranteed that any currency supported by exchange can be converted any other currency.
For example, to convert 500 USD to Bitcoin you need to do the following:
500 USD * exchange_rates.usd.btc = 0.05236 BTC

Utilities
Fee rates
PrivateGET /v1/fees
Returns various fee rates: deposits, withdrawals, trading.
Response fields
type
Represents fee rate type.
One of:
– «deposit»
– «withdrawal»
– «trading»
currency_id
Currency ID. Only for deposit & withdrawal fees.
currency
Same as «currency_id». Deprecated.
method
Transfer method. Only for deposit & withdrawal fees.
fee_type
Fee type.
One of:
– «fixed»: means fixed fee, for example 5 USD.
– «relative»: means percentage, for example fee value «0.005» means 0.5%.
Only for deposit & withdrawal fees.
fee_value
Only for deposit & withdrawal fees.
fee_minimum
Minimum amount of fees required to be paid. Only for deposit & withdrawal fees.
minimum
Same as «fee_minimum». Deprecated.
market_id
Market ID. Only for trading fees.
market
Same as «market_id».
maker_ratio
Fee ratio for maker trades, for example fee value 0.005 means 0.5%. Only for trading fees.
taker_ratio
Fee ratio for taker trades, for example fee value 0.005 means 0.5%. Only for trading fees.