API
Overview
Independent Reserve features a JSON based HTTP API that is comprised of Public and Private endpoints.
-
All calls are made over SSL to
https://api.independentreserve.com
- Public methods do not require an authentication token and should be accessed via HTTP GET.
- Private methods require a valid authentication token and are accessed via HTTP POST.
-
Ensure that the
contentType
of the your JSON POST is set toapplication/json
. -
The client can receive a compressed response by adding header
Accept-Encoding: gzip, deflate
We also support WebSockets.
Refer to the table below for the the decimal places supported when placing orders. On Independent Reserve, a cryptocurrency is defined as a primary currency, a fiat currency as a secondary currency.
Currency | Code |
Order Primary Currency Decimal Places |
Order Secondary Currency Decimal Places |
---|---|---|---|
Bitcoin | Xbt | 8 | 2 |
Ethereum | Eth | 8 | 2 |
Solana | Sol | 5 | 4 |
XRP | Xrp | 5 | 5 |
USD Coin | Usdc | 5 | 5 |
Tether USD | Usdt | 5 | 5 |
Aave | Aave | 5 | 4 |
Cardano | Ada | 5 | 5 |
Basic Attention Token | Bat | 5 | 5 |
Bitcoin Cash | Bch | 8 | 2 |
Compound | Comp | 8 | 2 |
Dai | Dai | 5 | 5 |
Dogecoin | Doge | 5 | 5 |
Polkadot | Dot | 5 | 4 |
EOS | Eos | 4 | 4 |
Ethereum Classic | Etc | 8 | 2 |
The Graph | Grt | 5 | 5 |
Chainlink | Link | 4 | 4 |
Litecoin | Ltc | 8 | 2 |
Decentraland | Mana | 5 | 5 |
Matic | Matic | 5 | 5 |
Maker | Mkr | 8 | 2 |
The Sandbox | Sand | 5 | 5 |
Shiba Inu | Shib | 0 | 8 |
Synthetix | Snx | 5 | 4 |
TRON | Trx | 5 | 5 |
Uniswap | Uni | 5 | 4 |
Stellar Lumens | Xlm | 5 | 5 |
yearn.finance | Yfi | 8 | 2 |
0x | Zrx | 5 | 5 |
Public methods
Public methods should be accessed via HTTP GET and do not require an authentication token to be passed.
The following public API methods are available:
- GetValidPrimaryCurrencyCodes
- GetValidSecondaryCurrencyCodes
- GetValidLimitOrderTypes
- GetValidMarketOrderTypes
- GetValidOrderTypes
- GetValidTransactionTypes
- GetPrimaryCurrencyConfig
- GetMarketSummary
- GetOrderBook
- GetAllOrders
- GetTradeHistorySummary
- GetRecentTrades
- GetFxRates
- GetOrderMinimumVolumes
- GetDepositFees
- GetFiatWithdrawalFees
- GetCryptoWithdrawalFees
GetValidPrimaryCurrencyCodes
Returns a list of valid primary currency codes. These are the cryptocurrencies which can be traded on Independent Reserve.
This method does not take any parameters.
[
"Xbt",
"Eth",
"Sol",
"Xrp",
"Usdc",
"Usdt",
"Aave",
"Ada",
"Bat",
"Bch",
"Comp",
"Dai",
"Doge",
"Dot",
"Eos",
"Etc",
"Grt",
"Link",
"Ltc",
"Mana",
"Matic",
"Mkr",
"Sand",
"Shib",
"Snx",
"Trx",
"Uni",
"Xlm",
"Yfi",
"Zrx"
]
GetValidSecondaryCurrencyCodes
Returns a list of valid secondary currency codes. These are the fiat currencies which are supported by Independent Reserve for trading purposes.
This method does not take any parameters.
[
"Aud",
"Usd",
"Nzd",
"Sgd"
]
GetValidLimitOrderTypes
Returns a list of valid limit order types which can be placed onto the Independent Reserve exchange platform.
This method does not take any parameters.
[
"LimitBid",
"LimitOffer"
]
GetValidMarketOrderTypes
Returns a list of valid market order types which can be placed onto the Independent Reserve exchange platform.
This method does not take any parameters.
[
"MarketBid",
"MarketOffer"
]
GetValidOrderTypes
Returns a list of all valid order types which can be placed onto the Independent Reserve exchange platform.
This method does not take any parameters.
[
"LimitBid",
"LimitOffer",
"MarketBid",
"MarketOffer"
]
GetValidTransactionTypes
Returns a list of valid transaction types.
This method does not take any parameters.
[
"AccountFee",
"Brokerage",
"Deposit",
"DepositFee",
"GST",
"ReferralCommission",
"StatementFee",
"Trade",
"Withdrawal",
"WithdrawalFee"
]
GetPrimaryCurrencyConfig
Returns the configuration of all primary currencies.
This method does not take any parameters.
{
"Code": "Xbt",
"Name": "Bitcoin",
"IsTradeEnabled": true,
"IsDepositEnabled": true,
"IsWithdrawalEnabled": true,
"IsDelisted": false,
"DecimalPlaces": {
"OrderPrimaryCurrency": 8,
"OrderSecondaryCurrency": 2
}
}
Return value descriptions
- IsTradeEnabled - Indicates whether trading is temporarily enabled/disabled
- IsDepositEnabled - Indicates whether deposits are temporarily enabled/disabled
- IsWithdrawalEnabled - Indicates whether withdrawals are temporarily enabled/disabled
- IsDelisted - When set to true, a permanent delisting has occurred. Only withdrawals are allowed, no further deposits or trading may occur.
- DecimalPlaces.OrderPrimaryCurrency - Number of decimal places accepted for order volume when denominated in primary currency
- DecimalPlaces.OrderSecondaryCurrency - Number of decimal places accepted for price denominated in secondary currency
GetMarketSummary
Returns a current snapshot of the Independent Reserve market for a given currency pair.
Parameters
- primaryCurrencyCode - The cryptocurrency for which to retrieve market summary. Must be a valid primary currency, which can be checked via the GetValidPrimaryCurrencyCodes method.
- secondaryCurrencyCode - The fiat currency in which to retrieve market summary. Must be a valid secondary currency, which can be checked via the GetValidSecondaryCurrencyCodes method.
Notes
- This method caches return values for 1 second. Calling it more than once per second will result in cached data being returned.
{
"DayHighestPrice": 45005.12,
"DayLowestPrice": 43418.84,
"DayAvgPrice": 44211.98,
"DayVolumeXbt": 45.68239145,
"DayVolumeXbtInSecondaryCurrrency": 0.2355363,
"CurrentLowestOfferPrice": 44763.99,
"CurrentHighestBidPrice": 44345.75,
"LastPrice": 44496.56,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"CreatedTimestampUtc": "2022-02-10T09:34:05.2287498Z"
}
Return value descriptions
- CreatedTimestampUtc - UTC timestamp of when the market summary was generated
- CurrentHighestBidPrice - Current highest bid on order book
- CurrentLowestOfferPrice - Current lowest offer on order book
- DayAvgPrice - Weighted average traded price over last 24 hours
- DayHighestPrice - Highest traded price over last 24 hours
- DayLowestPrice - Lowest traded price over last 24 hours
- DayVolumeXbt - Volume of primary currency traded in last 24 hours
- DayVolumeXbtInSecondaryCurrrency - Volume of primary currency traded in last 24 hours for chosen secondary currency
- LastPrice - Last traded price
- PrimaryCurrencyCode - The primary currency being summarised
- SecondaryCurrencyCode - The secondary currency being used for pricing
GetOrderBook
Returns the Order Book for a given currency pair.
Parameters
- primaryCurrencyCode - The cryptocurrency for which to retrieve order book. Must be a valid primary currency, which can be checked via the GetValidPrimaryCurrencyCodes method.
- secondaryCurrencyCode - The fiat currency in which to retrieve order book. Must be a valid secondary currency, which can be checked via the GetValidSecondaryCurrencyCodes method.
- maxDepthVolume - Limit the results to a maximum cumulated volume. This is an optional parameter.
- maxDepthValue - Limit the results to a maximum value (price * volume). This is an optional parameter.
Notes
- If both maxDepthVolume and maxDepthValue parameters are specified, the returned set is the upper limit of either one.
- This method caches return values for 1 second. Calling it more than once per second will result in cached data being returned.
- If you wish to retrieve order guids for each order, please use the GetAllOrders method.
{
"BuyOrders": [
{
"OrderType": "LimitBid",
"Price": 497.02,
"Volume": 0.01
},
{
"OrderType": "LimitBid",
"Price": 490,
"Volume": 1
}
],
"SellOrders": [
{
"OrderType": "LimitOffer",
"Price": 500,
"Volume": 1
},
{
"OrderType": "LimitOffer",
"Price": 505,
"Volume": 1
}
],
"CreatedTimestampUtc": "2022-08-05T06:42:11.3032208Z",
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd"
}
Return value descriptions
- BuyOrders - List of all Buy Orders on order book
- OrderType - Type of order
- Price - Order price in secondary currency
- Volume - Order volume in primary currency
- SellOrders - List of all Sell Orders on order book
- CreatedTimestampUtc - UTC timestamp of when the order book was generated
- PrimaryCurrencyCode - The primary currency being shown
- SecondaryCurrencyCode - The secondary currency being used for pricing
GetAllOrders
Returns the Order Book for a given currency pair including order identifiers.
Parameters
- primaryCurrencyCode - The cryptocurrency for which to retrieve order book. Must be a valid primary currency, which can be checked via the GetValidPrimaryCurrencyCodes method.
- secondaryCurrencyCode - The fiat currency in which to retrieve order book. Must be a valid secondary currency, which can be checked via the GetValidSecondaryCurrencyCodes method.
- maxDepthVolume - Limit the results to a maximum cumulated volume. This is an optional parameter.
- maxDepthValue - Limit the results to a maximum value (price * volume). This is an optional parameter.
Notes
- If both maxDepthVolume and maxDepthValue parameters are specified, the returned set is the upper limit of either one.
- This method caches return values for 1 second. Calling it more than once per second will result in cached data being returned.
{
"BuyOrders": [
{
"Guid": "78c52285-61de-4ccb-914e-d86db9fb498d",
"Price": 497.02,
"Volume": 0.01
},
{
"Guid": "b0ae2cde-cefb-451d-8c65-92082e062856",
"Price": 490,
"Volume": 1
}
],
"SellOrders": [
{
"Guid": "9a32ae71-391e-4a21-8817-603472d75342",
"Price": 500,
"Volume": 1
},
{
"Guid": "8ee0209f-fd46-4d90-9eed-ab475485e157",
"Price": 505,
"Volume": 1
}
],
"CreatedTimestampUtc": "2022-08-05T06:42:11.3032208Z",
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd"
}
Return value descriptions
- BuyOrders - List of all Buy Orders on order book
- Guid - Unique order identifier
- Price - Order price in secondary currency
- Volume - Order volume in primary currency
- SellOrders - List of all Sell Orders on order book
- CreatedTimestampUtc - UTC timestamp of when the order book was generated
- PrimaryCurrencyCode - The primary currency being shown
- SecondaryCurrencyCode - The secondary currency being used for pricing
GetTradeHistorySummary
Returns summarised historical trading data for a given currency pair. Data is summarised into 1 hour intervals.
Parameters
- primaryCurrencyCode - The cryptocurrency for which to retrieve trade history. Must be a valid primary currency, which can be checked via the GetValidPrimaryCurrencyCodes method.
- secondaryCurrencyCode - The fiat currency in which to retrieve trade history. Must be a valid secondary currency, which can be checked via the GetValidSecondaryCurrencyCodes method.
- numberOfHoursInThePastToRetrieve - How many past hours of historical summary data to retrieve (maximum is 240)
Notes
- This method caches return values for 30 minutes. Calling it more than once per 30 minutes will result in cached data being returned.
{
"CreatedTimestampUtc ": "2022-08-05T09:02:57.5440691Z",
"HistorySummaryItems": [
{
"AverageSecondaryCurrencyPrice": 510,
"ClosingSecondaryCurrencyPrice": 510,
"StartTimestampUtc": "2022-08-04T09:00:00Z",
"EndTimestampUtc": "2022-08-04T10:00:00Z",
"HighestSecondaryCurrencyPrice": 510,
"LowestSecondaryCurrencyPrice": 510,
"NumberOfTrades": 0,
"OpeningSecondaryCurrencyPrice": 510,
"PrimaryCurrencyVolume": 0,
"SecondaryCurrencyVolume": 0
}
],
"NumberOfHoursInThePastToRetrieve": 1,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd"
}
Return value descriptions
- CreatedTimestampUtc - TC timestamp of when the data was generated
- HistorySummaryItems - List of hourly summary blocks
- AverageSecondaryCurrencyPrice - Deprecated, not used
- ClosingSecondaryCurrencyPrice - Last traded price in hour
- StartTimestampUtc - UTC Start time of hour
- EndTimestampUtc - UTC End time of hour
- HighestSecondaryCurrencyPrice - Highest traded price during hour
- LowestSecondaryCurrencyPrice - Lowest traded price during hour
- NumberOfTrades - umber of trades executed during hour
- OpeningSecondaryCurrencyPrice - Opening traded price at start of hour
- PrimaryCurrencyVolume - Volume of primary currency trade during hour
- SecondaryCurrencyVolume - Deprecated, not used
- NumberOfHoursInThePastToRetrieve - Number of past hours being returned
- PrimaryCurrencyCode - The primary currency being shown
- SecondaryCurrencyCode - The secondary currency being used for pricing
GetRecentTrades
Returns a list of most recently executed trades for a given currency pair.
Parameters
- primaryCurrencyCode - The cryptocurrency for which to retrieve recent trades. Must be a valid primary currency, which can be checked via the GetValidPrimaryCurrencyCodes method.
- secondaryCurrencyCode - The fiat currency in which to retrieve recent trades. Must be a valid secondary currency, which can be checked via the GetValidSecondaryCurrencyCodes method.
- numberOfRecentTradesToRetrieve - How many recent trades to retrieve (maximum is 50)
Notes
- This method caches return values for 1 second. Calling it more than once per second will result in cached data being returned.
{
"CreatedTimestampUtc": "2023-08-05T09:14:39.4830696Z",
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Trades": [
{
"TradeGuid": "593e609d-041a-4f46-a41d-2cb8e908973f",
"Taker": "Bid",
"PrimaryCurrencyAmount": 1,
"SecondaryCurrencyTradePrice": 27299.23,
"TradeTimestampUtc": "2023-07-31T10:34:05.935412Z"
},
{
"TradeGuid": "593effff-041a-4f46-a41d-2cb8e908973g",
"Taker": "Offer",
"PrimaryCurrencyAmount": 0.01,
"SecondaryCurrencyTradePrice": 27300.12,
"TradeTimestampUtc": "2023-07-31T10:33:24.8458426Z"
}
]
}
Return value descriptions
- CreatedTimestampUtc - TC timestamp of when the data was generated
- PrimaryCurrencyCode - The primary currency being shown
- SecondaryCurrencyCode - The secondary currency being used for pricing
- Trades - List of individual trades
- TradeGuid - Unique identifier of the trade
- Taker - The order side that was the taker. Possible values are
Bid
,Offer
- PrimaryCurrencyAmount - Amount traded in primary currency
- SecondaryCurrencyTradePrice - Price of trade in secondary currency
- TradeTimestampUtc - UTC timestamp of trade
GetFxRates
Returns a list of exchange rates used by Independent Reserve when depositing funds or withdrawing funds from accounts.
This method does not take any parameters.
Notes
- The rates represent the amount of Currency Code B that can be bought with 1 unit of Currency Code A.
- This method caches return values for 1 minute. Calling it more than once per minute will result in cached data being returned.
[
{
"CurrencyCodeA": "Aud",
"CurrencyCodeB": "Usd",
"Rate": 0.8683
},
{
"CurrencyCodeA": "Usd",
"CurrencyCodeB": "Aud",
"Rate": 1.1517
}
]
GetOrderMinimumVolumes
Returns a list of minimum allowed volumes for orders.
This method does not take any parameters.
{
"Xbt": 0.0001,
"Bch": 0.001,
"Eth": 0.001,
"Ltc": 0.01,
"Xrp": 1,
"Omg": 0.1,
"Zrx": 1,
"Eos": 0.1,
"Xlm": 10,
"Bat": 1,
"Usdt": 1,
"Etc": 0.01,
"Pmgt": 0.001,
"Link": 0.1,
"Usdc": 1,
"Mkr": 0.001,
"Dai": 1,
"Comp": 0.001,
"Snx": 0.1,
"Yfi": 0.0001,
"Aave": 0.01,
"Grt": 1,
"Dot": 0.1,
"Uni": 0.1,
"Ada": 1,
"Matic": 0.1,
"Doge": 1
}
GetDepositFees
Returns the fee schedule for fiat deposits. Crypto deposits do not incur fees.
This method does not take any parameters.
[
{
"DepositType": "Swift",
"FreeThreshold": 5000,
"Fee": {
"Fixed": 15,
"Percentage": null
}
},
{
"DepositType": "Eft",
"FreeThreshold": 100,
"Fee": {
"Fixed": 0.99,
"Percentage": null
}
},
{
"DepositType": "Osko",
"FreeThreshold": 1000,
"Fee": {
"Fixed": 2.5,
"Percentage": null
}
},
{
"DepositType": "SGD-FAST",
"FreeThreshold": null,
"Fee": {
"Fixed": 0,
"Percentage": 0.55
}
}
]
Return value descriptions
- DepositType - The method of deposit
- FreeThreshold - An amount below this threshold will incur a deposit fee. When null, the fee is always applied.
- Fee - Deposit fee which will be deducted from deposit amount when under threshold. Denominated in the
deposit currency.
- Fixed - Fixed fee amount
- Percentage - Percentage fee
GetFiatWithdrawalFees
Returns the fee schedule for all withdrawals.
This method does not take any parameters.
[
{
"WithdrawalType": "Wire Transfer",
"MinimumAmount": 50,
"CurrencyCode": "Aud",
"Fee": {
"Fixed": 0,
"Percentage": null
}
},
{
"WithdrawalType": "Wire Transfer",
"MinimumAmount": 50,
"CurrencyCode": "Usd",
"Fee": {
"Fixed": 20,
"Percentage": null
}
},
{
"WithdrawalType": "Osko",
"MinimumAmount": 0.01,
"CurrencyCode": "Aud",
"Fee": {
"Fixed": 1.5,
"Percentage": null
}
},
{
"WithdrawalType": "SGD-FAST",
"MinimumAmount": 0.01,
"CurrencyCode": "Sgd",
"Fee": {
"Fixed": 0,
"Percentage": 0.55
}
}
]
Return value descriptions
- WithdrawalType - The withdrawal method
- MinimumAmount - The minimum withdrawal amount
- CurrencyCode - The withdrawal currency
- Fee - Withdrawal fee which will be charged from your account.
- Fixed - Fixed fee amount
- Percentage - Percentage fee
GetCryptoWithdrawalFees
Returns the fee schedule for crypto withdrawals.
This method does not take any parameters.
{
"Xbt": 0.0003,
"Bch": 0.0001,
"Bsv": 0.0001,
"Eth": 0.005,
"Ltc": 0.001,
"Xrp": 0.15,
"Omg": 2,
"Zrx": 10,
"Eos": 0.1,
"Xlm": 0.01,
"Bat": 15,
"Gnt": 60,
"Usdt": 6,
"Etc": 0.01,
"Pmgt": 0.003,
"Link": 0.3,
"Usdc": 6,
"Mkr": 0.006,
"Dai": 6,
"Comp": 0.03,
"Snx": 2,
"Yfi": 1,
"Aave": 1,
"Knc": 1,
"Grt": 5
}
Return value descriptions
- CurrencyCode - Withdrawal fee for the currency. Denominated in the withdrawal currency.
Authentication
All private API methods require authentication. All method parameters (except signature) are required to authenticate a request. There are three additional parameters which should be passed to private API methods:
- API Key
- Nonce or Expiry
- Signature
API key
To generate an API Key, go to the Settings page, "API Keys" and then "Generate API Key". Select the level of access. Ensure that you the lowest level of access required for your usage.
It is strongly recommended to take advantage of the IP Address restriction when creating the key. The server will reject any usage of the key from an unauthorised IP Address.
Nonce or Expiry
Either specify a nonce
or expiry
. One of these parameters must be specified, but not
both. Using an expiry has the advantage of not needing to synchronise a nonce across multiple threads.
When using nonce, it should be a 64-bit unsigned integer. The nonce must increase with each request made to the API. For example, if the nonce is set to 1 in the first request, it must be set to at least 2 in the subsequent request. It is not necessary to start with 1. A common practice is to use Unix time for this parameter.
When using expiry, it should be a Unix UTC timestamp in seconds. For example 2024-03-02T01:23:45Z has Unix timestamp 1709342625. The server will reject any request with an expiry in the past or more than 30 seconds into the future. Additionally, the API key must have been restricted to at least one IP Address at the time of creation.
Whichever parameter is chosen, it must be used to form the signature.
Signature
Signature is a HMAC-SHA256 encoded message. The message is comma-separated string containing the API method URL, and a comma separated list of all method parameters (except signature) in the form: "parameterName=parameterValue". The HMAC-SHA256 code must be generated using the API Secret that was generated with your API key. This code must be converted to it's hexadecimal representation.
Notes
To avoid typical errors please ensure that in your code
- the parameter names are spelled correctly;
- the parameter values are same in signature input string and message body;
- the parameter sequence used to create the signature must match the method documentation.
Example (Python)
import time
import requests
import hmac
import hashlib
import json
from collections import OrderedDict
url = 'https://api.independentreserve.com/Private/GetOpenOrders'
key = 'api_key'
secret = 'api_secret'
currentTime = int(time.time())
nonce = currentTime
expiry = currentTime + 3 # Expire in three seconds
# make sure that parameter order is correct as specified in method documentation
parameters = [
url,
'apiKey=' + key,
'nonce=' + str(nonce),
'primaryCurrencyCode=Xbt',
'secondaryCurrencyCode=Usd',
'pageIndex=1',
'pageSize=10'
]
message = ','.join(parameters)
signature = hmac.new(
secret.encode('utf-8'),
msg=message.encode('utf-8'),
digestmod=hashlib.sha256).hexdigest().upper()
# make sure this collection ordered in the same way as parameters
data = OrderedDict([
('apiKey', key),
('nonce', nonce), # Either nonce or expiry here
('signature', str(signature)),
('primaryCurrencyCode', 'Xbt'),
('secondaryCurrencyCode', 'Usd'),
('pageIndex', 1),
('pageSize', 10)])
headers = {'Content-Type': 'application/json'}
r = requests.post(url, data=json.dumps(data, sort_keys=False), headers=headers)
print(r.content)
Private methods
Private methods should be accessed via HTTP POST and require a valid authentication token to be passed. Parameters for all private methods, including the three parameters to authenticate the call, must be posted as a JSON object.
The table below lists the private API methods along with the
API Role
required to access the method.
The Restricted Withdrawals role can only withdraw to whitelisted addresses and bank accounts. To whitelist an address or a bank account, please first execute a withdrawal using the web portal or alternatively for cryptocurrency, add the address to the address book.
You can request via Support to restrict API key usage to a specific IP address.
Method | API Roles |
---|---|
GetOpenOrders | Full Access Restricted Withdrawals Trade Read Only |
GetClosedOrders | Full Access Restricted Withdrawals Trade Read Only |
GetClosedFilledOrders | Full Access Restricted Withdrawals Trade Read Only |
GetOrderDetails | Full Access Restricted Withdrawals Trade Read Only |
GetAccounts | Full Access Restricted Withdrawals Trade Read Only |
GetTransactions | Full Access Restricted Withdrawals Trade Read Only |
GetFiatBankAccounts | Full Access Restricted Withdrawals Trade Read Only |
GetDigitalCurrencyDepositAddress | Full Access Restricted Withdrawals Trade Read Only |
GetDigitalCurrencyDepositAddresses | Full Access Restricted Withdrawals Trade Read Only |
GetTrades | Full Access Restricted Withdrawals Trade Read Only |
GetTradesByOrder | Full Access Restricted Withdrawals Trade Read Only |
GetBrokerageFees | Full Access Restricted Withdrawals Trade Read Only |
GetDigitalCurrencyWithdrawal | Full Access Restricted Withdrawals Trade Read Only |
GetFiatWithdrawal | Full Access Restricted Withdrawals Trade Read Only |
GetDepositLimits | Full Access Restricted Withdrawals Trade Read Only |
GetWithdrawalLimits | Full Access Restricted Withdrawals Trade Read Only |
PlaceLimitOrder | Full Access Restricted Withdrawals Trade |
PlaceMarketOrder | Full Access Restricted Withdrawals Trade |
CancelOrder | Full Access Restricted Withdrawals Trade |
CancelOrders | Full Access Restricted Withdrawals Trade |
SynchDigitalCurrencyDepositAddressWithBlockchain | Full Access Restricted Withdrawals Trade |
WithdrawFiatCurrency | Full Access Restricted Withdrawals |
WithdrawDigitalCurrency | Full Access Restricted Withdrawals |
GetOpenOrders
Retrieves a page of a specified size with your currently Open and Partially Filled orders.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- primaryCurrencyCode - The primary currency of orders. This is an optional parameter.
- secondaryCurrencyCode - The secondary currency of orders. This is an optional parameter.
- pageIndex - Must be larger than 0.
- pageSize - Must be between 1 and 100.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"primaryCurrencyCode": "Xbt",
"secondaryCurrencyCode": "Usd",
"pageIndex": 1,
"pageSize": 25
}
{
"PageSize": 25,
"TotalItems": 2,
"TotalPages": 1,
"Data": [
{
"AvgPrice": 466.36,
"CreatedTimestampUtc": "2022-05-05T09:35:22.4032405Z",
"FeePercent": 0.005,
"OrderGuid": "dd015a29-8f73-4469-a5fa-ea91544dfcda",
"OrderType": "LimitOffer",
"Outstanding": 21.45621,
"Price": 466.36,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Status": "Open",
"Value": 10006.3180956,
"Volume": 21.45621,
"ClientId": "a96ff431-7f47-4ab5-9974-4a2c6b6eb8d8"
},
{
"AvgPrice": 455.48,
"CreatedTimestampUtc": "2022-05-05T09:35:22.4032405Z",
"FeePercent": 0.005,
"OrderGuid": "58f9da9d-a12e-4362-afa8-f5c252ba1725",
"OrderType": "LimitBid",
"Outstanding": 1.345,
"Price": 455.48,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Status": "Open",
"Value": 612.6206,
"Volume": 1.345,
"ClientId": "c1f1937c-d743-461b-bab3-c9d8c8dbf36d"
}
]
}
Return value descriptions
- PageSize - Number of orders shown per page
- TotalItems - Total number of open orders
- TotalPages - Total number of pages
- Data - List of all open orders
- AvgPrice - Average price for all trades executed for the order
- CreatedTimestampUtc - UTC timestamp of when order was created
- FeePercent - Brokerage fee
- OrderGuid - Unique identifier of the order
- OrderType - Type of order
- Outstanding - Unfilled volume still outstanding on this order
- Price - Order limit price in secondary currency
- PrimaryCurrencyCode - Primary currency of order
- SecondaryCurrencyCode - Secondary currency of order
- Status - Order status (Open, PartiallyFilled)
- Value - The value of the order, denominated in secondary currency
- Volume - The original volume ordered
- AvgPrice - Average price for all trades executed for the order
- CreatedTimestampUtc - UTC timestamp of when order was created
- FeePercent - Brokerage fee
- OrderGuid - Unique identifier of the order
- OrderType - Type of order
- Outstanding - Unfilled volume still outstanding on this order
- Price - Order limit price in secondary currency
- PrimaryCurrencyCode - Primary currency of order
- SecondaryCurrencyCode - Secondary currency of order
- Status - Order status (Open, PartiallyFilled)
- Value - The value of the order, denominated in secondary currency
- Volume - The original volume ordered
- Original
- Volume - The original volume ordered
- Outstanding - Unfilled volume outstanding on this order in original currency
- VolumeCurrencyType - Whether volume is denominated in Primary or Secondary currency
GetClosedOrders
Retrieves a page of a specified size with your Closed and Cancelled orders.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- primaryCurrencyCode - The primary currency of orders. This is an optional parameter.
- secondaryCurrencyCode - The secondary currency of orders. This is an optional parameter.
- pageIndex - Must be larger than 0.
- pageSize - Must be between 1 and 5000.
- fromTimestampUtc - The timestamp in UTC, specified according to ISO 8601 standard, e.g.
2023-08-01T08:00:00Z
, from which you want to retrieve orders. This is an optional parameter. - includeTotals - Defaults to
true
for backward compatibility. When set tofalse
, response time is improved and theTotalItems
andTotalPages
properties are returned as-1
.
Notes
- Only recently cancelled orders will be returned; cancelled orders are regularly purged from history.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"primaryCurrencyCode": "Xbt",
"secondaryCurrencyCode": "Usd",
"includeTotals": false,
"pageIndex": 1,
"pageSize": 25,
"fromTimestampUtc": "2023-08-01T08:00:00Z"
}
{
"PageSize": 25,
"TotalItems": 50,
"TotalPages": 2,
"Data": [
{
"AvgPrice": 698.8,
"CreatedTimestampUtc": "2022-08-05T06:42:11.3032208Z",
"FeePercent": 0.005,
"OrderGuid": "5c8885cd-5384-4e05-b397-9f5119353e10",
"OrderType": "MarketOffer",
"Outstanding": 0,
"Price": null,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Status": "Filled",
"Value": 17.47,
"Volume": 0.025,
"ClientId": "64bd5f83-273b-4c16-9dfd-b58ac61a6dc9"
},
{
"AvgPrice": 700,
"CreatedTimestampUtc": "2022-08-03T18:33:55.4327861Z",
"FeePercent": 0.005,
"OrderGuid": "719c495c-a39e-4884-93ac-280b37245037",
"OrderType": "LimitOffer",
"Outstanding": 0.5,
"Price": 700,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Status": "PartiallyFilledAndCancelled",
"Value": 1050,
"Volume": 1.5,
"ClientId": "4dea2037-2657-44b1-b9d2-ad917fb9134f"
},
{
"AvgPrice": 650,
"CreatedTimestampUtc": "2022-08-02T05:33:48.2354125Z",
"FeePercent": 0.005,
"OrderGuid": "33ea8ee7-5b7b-4745-b604-1a3ce955ca1b",
"OrderType": "MarketOffer",
"Outstanding": 0,
"Price": null,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Status": "Filled",
"Value": 975,
"Volume": 1.5,
"ClientId": "dc2eaf71-6dbe-444f-b2e4-a71af4694c7d"
}
]
}
Return value descriptions
- PageSize - Number of orders shown per page
- TotalItems - Total number of closed orders
- TotalPages - Total number of pages
- Data - List of closed and recently cancelled orders
- AvgPrice - Average price for all trades executed for the order
- CreatedTimestampUtc - UTC timestamp of when order was created
- FeePercent - Brokerage fee
- OrderGuid - Unique identifier of the order
- OrderType - Type of order,
- Outstanding - Unfilled volume still outstanding on this order
- Price - Order limit price in secondary currency
- PrimaryCurrencyCode - Primary currency of order
- SecondaryCurrencyCode - Secondary currency of order
- Status - Order status (Filled, PartiallyFilledAndCancelled, Cancelled, PartiallyFilledAndExpired, Expired)
- Value - The value of the order, denominated in secondary currency
- Volume - The original volume ordered
- Original
- Volume - The original volume ordered
- Outstanding - Unfilled volume outstanding on this order in original currency
- VolumeCurrencyType - Whether volume is denominated in Primary or Secondary currency
GetClosedFilledOrders
Retrieves a page of a specified size with your Closed orders which have had some or all of their outstanding volume filled.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- primaryCurrencyCode - The primary currency of orders. This is an optional parameter.
- secondaryCurrencyCode - The secondary currency of orders. This is an optional parameter.
- pageIndex - Must be larger than 0.
- pageSize - Must be between 1 and 5000.
- fromTimestampUtc - The timestamp in UTC, specified according to ISO 8601 standard, e.g.
2023-08-01T08:00:00Z
, from which you want to retrieve orders. This is an optional parameter. - includeTotals - Defaults to
true
for backward compatibility. When set tofalse
, response time is improved and theTotalItems
andTotalPages
properties are returned as-1
.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"primaryCurrencyCode": "Xbt",
"secondaryCurrencyCode": "Usd",
"includeTotals": false,
"pageIndex": 1,
"pageSize": 25
}
{
"PageSize": 25,
"TotalItems": 50,
"TotalPages": 2,
"Data": [
{
"AvgPrice": 698.8,
"CreatedTimestampUtc": "2022-08-05T06:42:11.3032208Z",
"FeePercent": 0.005,
"OrderGuid": "5c8885cd-5384-4e05-b397-9f5119353e10",
"OrderType": "MarketOffer",
"Outstanding": 0,
"Price": null,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Status": "Filled",
"Value": 17.47,
"Volume": 0.025,
"ClientId": "b03eb46e-5f10-45f9-a7a5-2413853692a8"
},
{
"AvgPrice": 700,
"CreatedTimestampUtc": "2022-08-03T18:33:55.4327861Z",
"FeePercent": 0.005,
"OrderGuid": "719c495c-a39e-4884-93ac-280b37245037",
"OrderType": "LimitOffer",
"Outstanding": 0.5,
"Price": 700,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Status": "PartiallyFilledAndCancelled",
"Value": 1050,
"Volume": 1.5,
"ClientId": "ac514e1a-5c08-4b83-a121-18a81e34aba7"
},
{
"AvgPrice": 650,
"CreatedTimestampUtc": "2022-08-02T05:33:48.2354125Z",
"FeePercent": 0.005,
"OrderGuid": "33ea8ee7-5b7b-4745-b604-1a3ce955ca1b",
"OrderType": "MarketOffer",
"Outstanding": 0,
"Price": null,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"Status": "Filled",
"Value": 975,
"Volume": 1.5,
"ClientId": "ee910c35-43a2-47d1-83d8-94c8c9752cee"
}
]
}
Return value descriptions
- PageSize - Number of orders shown per page
- TotalItems - Total number of closed orders
- TotalPages - Total number of pages
- Data - List of closed and partially filled orders
- AvgPrice - Average price for all trades executed for the order
- CreatedTimestampUtc - UTC timestamp of when order was created
- FeePercent - Brokerage fee
- OrderGuid - Unique identifier of the order
- OrderType - Type of order
- Outstanding - Unfilled volume still outstanding on this order
- Price - Order limit price in secondary currency
- PrimaryCurrencyCode - Primary currency of order
- SecondaryCurrencyCode - Secondary currency of order
- Status - Order status (Filled, PartiallyFilledAndCancelled, PartiallyFilledAndExpired)
- Value - The value of the order, denominated in secondary currency
- Volume - The original volume ordered
- Original
- Volume - The original volume ordered
- Outstanding - Unfilled volume outstanding on this order in original currency
- VolumeCurrencyType - Whether volume is denominated in Primary or Secondary currency
GetOrderDetails
Retrieves details about a single order.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- orderGuid - The guid of the order^.
- clientId - The clientId that was supplied when placing an order ^.
^ Only one of these parameters may be supplied at a time
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"orderGuid": "c7347e4c-b865-4c94-8f74-d934d4b0b177",
"clientId": null
}
{
"OrderGuid": "c7347e4c-b865-4c94-8f74-d934d4b0b177",
"CreatedTimestampUtc": "2022-09-23T12:39:34.3817763Z",
"Type": "MarketBid",
"VolumeOrdered": 5,
"VolumeFilled": 5,
"Price": null,
"AvgPrice": 100,
"ReservedAmount": 0,
"Status": "Filled",
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd",
"ClientId": "bd9fde9d-aec7-4b81-a5f0-eb88b2e75723"
}
Return value descriptions
- CreatedTimestampUtc - UTC timestamp of when order was created
- OrderGuid - Unique identifier of the order
- Type - Type of order
- VolumeOrdered - The original volume ordered
- VolumeFilled - Volume already filled on this order
- Price - Order limit price in secondary currency
- AvgPrice - Average price for all trades executed for the order
- ReservedAmount - The amount of funds reserved in your account by this order
- Status - Order status (Open, PartiallyFilled, Filled, PartiallyFilledAndCancelled, Cancelled, PartiallyFilledAndExpired, Expired)
- PrimaryCurrencyCode - Primary currency of order
- SecondaryCurrencyCode - Secondary currency of order
- VolumeCurrencyType - Whether volume is denominated in Primary or Secondary currency
GetAccounts
Retrieves information about your Independent Reserve accounts in crypto and fiat currencies.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}"
}
[
{
"AccountGuid": "66dcac65-bf07-4e68-ad46-838f51100424",
"AccountStatus": "Active",
"AvailableBalance": 45.334,
"CurrencyCode": "Xbt",
"TotalBalance": 46.81
},
{
"AccountGuid": "49994921-60ec-411e-8a78-d0eba078d5e9",
"AccountStatus": "Active",
"AvailableBalance": 14345.53,
"CurrencyCode": "Usd",
"TotalBalance": 15784.07
}
]
Return value descriptions
- AccountGuid - Unique identifier of account
- AccountStatus - Status of account
- AvailableBalance - Available balance in account to trade or withdraw
- CurrencyCode - Currency of account
- TotalBalance - Total balance in account
GetTransactions
Retrieves a page of a specified size containing all transactions made on an account.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- accountGuid - The Guid of your Independent Reserve account. You can retrieve information about your accounts via the GetAccounts method.
- fromTimestampUtc - The timestamp in UTC, specified according to ISO 8601 standard, e.g.
2022-08-01T08:00:00Z
, from which you want to retrieve transactions. This is an optional parameter. - toTimestampUtc - The timestamp in UTC, specified according to ISO 8601 standard, e.g.
2022-08-07T08:00:00Z
, until which you want to retrieve transactions. This is an optional parameter. - txTypes - Array of transaction types for filtering. This is an optional parameter.
- pageIndex - Must be larger than 0.
- pageSize - Must be between 1 and 5000.
- includeTotals - Defaults to
true
for backward compatibility. When set tofalse
, response time is improved and theTotalItems
andTotalPages
properties are returned as-1
.
Notes
Array parameters should be serialized for signature input as comma-separated value list.
Example: txTypes=Brokerage,Trade
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"accountGuid": "49994921-60ec-411e-8a78-d0eba078d5e9",
"fromTimestampUtc": "2024-03-01T09:00:00Z",
"toTimestampUtc": null,
"txTypes": [
"Brokerage",
"Trade"
],
"includeTotals": false,
"pageIndex": 1,
"pageSize": 25
}
{
"PageSize": 25,
"TotalItems": 6,
"TotalPages": 1,
"Data": [
{
"TransactionGuid": "27e6cbc9-e9cc-4725-882f-690cd6641ff8",
"Balance": 199954.27,
"BitcoinTransactionId": null,
"BitcoinTransactionOutputIndex": null,
"EthereumTransactionId": null,
"Comment": null,
"CreatedTimestampUtc": "2024-03-03T05:33:48.2354125Z",
"Credit": null,
"CurrencyCode": "Usd",
"Debit": 6.98,
"SettleTimestampUtc": "2024-03-03T05:36:24.5532653Z",
"Status": "Confirmed",
"Type": "Brokerage",
"CorrelationId": "27e6cbc9-e9cc-4725-882f-690cd6641ff0"
},
{
"TransactionGuid": "6503e0a5-28a1-43b6-905d-fc4a705957f9",
"Balance": 199961.25,
"BitcoinTransactionId": null,
"BitcoinTransactionOutputIndex": null,
"EthereumTransactionId": null,
"Comment": null,
"CreatedTimestampUtc": "2024-03-02T15:44:05.4323116Z",
"Credit": 1396,
"CurrencyCode": "Usd",
"Debit": null,
"SettleTimestampUtc": "2024-03-02T15:48:04.2312658Z",
"Status": "Confirmed",
"Type": "Trade",
"CorrelationId": "27e6cbc9-e9cc-4725-882f-690cd6641ff0"
}
]
}
Return value descriptions
- TransactionGuid - Unique identifier of the transaction
- Balance - Running balance in account
- BitcoinTransactionId - Related Bitcoin network transaction
- BitcoinTransactionOutputIndex - Related Bitcoin network transaction output index
- EthereumTransactionId - Related Ethereum network transaction
- Comment - Comments related to transaction
- CreatedTimestampUtc - UTC created timestamp of transaction
- Credit - Credit amount
- CurrencyCode - Currency of account this transaction relates to
- Debit - Debit amount
- SettleTimestampUtc - UTC settlement timestamp
- Status - Transaction status
- Type - Transaction type
- CorrelationId - This is a context sensitive key. If the transaction is a withdrawal, it will be the primary key for the withdrawal request. When the transaction is a crypto deposit, the value will be the transaction hash from the network. In the case of a trade, the value will be the tradeGuid.
GetFiatBankAccounts
Retrieves the list of pre-configured external bank accounts.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}"
}
[
{
"PayId": {
"Id": "user@example.com",
"Type": "Email"
},
"Guid": "51f59e78-9c6b-4f7d-9c1b-171695f6292f",
"Name": "PayID: user@example.com"
},
{
"Bsb": "062623",
"Country": "Australia",
"Currency": "AUD",
"AccountNumber": "123456789",
"AccountHolderName": "Lastname Firstname",
"Guid": "df0a8341-f3b7-43b4-a64e-7e951753bef8",
"Name": "External Bank"
}
]
GetDigitalCurrencyDepositAddress
Retrieves the deposit address which should be used for cryptocurrency deposits.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- primaryCurrencyCode - The cryptocurrency to generate deposit address for.
Example 1
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"primaryCurrencyCode": "Xbt"
}
{
"DepositAddress": "12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
"LastCheckedTimestampUtc": "2022-05-05T09:35:22.4032405Z",
"NextUpdateTimestampUtc": "2022-05-05T09:45:22.4032405Z"
}
Example 2 - Tagged Currency
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"primaryCurrencyCode": "Xrp"
}
{
"DepositAddress": "r4syzLC4ziaMZ5wJuqhQe1znYMowsu83K9",
"Tag": "2750772332",
"LastCheckedTimestampUtc": "2018-06-25T16:40:42.0014486+00:00",
"NextUpdateTimestampUtc": "2019-07-24T04:39:33.7627391+00:00"
}
Return value descriptions
- DepositAddress - Digital address to use for deposits
- Tag - Returned for cryptocurrencies that support tags (for example: Xrp, Xlm)
- LastCheckedTimestampUtc - UTC timestamp of when this address was last checked against the blockchain
- NextUpdateTimestampUtc - UTC timestamp of when this address is scheduled to next be checked against the blockchain
GetDigitalCurrencyDepositAddresses
Retrieves a page of cryptocurrency deposit addresses which have been assigned to your account.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- primaryCurrencyCode - The cryptocurrency to retrieve deposit addresses for.
- pageIndex - Must be larger than 0.
- pageSize - Must be between 1 and 50.
Example 1
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"primaryCurrencyCode": "Xbt",
"pageIndex": 1,
"pageSize": 10
}
{
"PageSize": 10,
"TotalItems": 10,
"TotalPages": 1,
"Data": [
{
"DepositAddress": "1CxrjaGvVLgXwi1s1d9d62hrCVLU83nHpX",
"LastCheckedTimestampUtc": "2022-07-24T11:23:48.8693053Z",
"NextUpdateTimestampUtc": "2022-07-25T11:23:48.8693053Z"
},
{
"DepositAddress": "12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
"LastCheckedTimestampUtc": "2022-05-05T09:35:22.4032405Z",
"NextUpdateTimestampUtc": "2022-05-05T09:45:22.4032405Z"
}
]
}
Example 2 - Tagged Currency
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"primaryCurrencyCode": "Xlm",
"pageIndex": 1,
"pageSize": 10
}
{
"PageSize": 10,
"TotalItems": 1,
"TotalPages": 1,
"Data": [
{
"DepositAddress": "GBFP755NG4EHIJ4GVZGKZUTIRWOVTRL6KOHYUC2YPBZNQPKBZLJVIJFL",
"Tag": "2750772332",
"LastCheckedTimestampUtc": "2020-05-20T23:02:49.0110167+00:00",
"NextUpdateTimestampUtc": "2020-05-20T23:03:49.6380096+00:00"
}
]
}
Return value descriptions
- DepositAddress - Deposit address to use for deposits
- Tag - Returned for cryptocurrencies that support tags (for example: Xrp, Xlm)
- LastCheckedTimestampUtc - UTC timestamp of when this address was last checked against the blockchain
- NextUpdateTimestampUtc - UTC timestamp of when this address is scheduled to next be checked against the blockchain
GetTrades
Retrieves a page of a specified size containing trades which were executed against your orders.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- pageIndex - Must be larger than 0.
- pageSize - Must be between 1 and 50.
- fromTimestampUtc - The timestamp in UTC, specified according to ISO 8601 standard, e.g.
2022-08-01T08:00:00Z
, from which you want to retrieve transactions. This is an optional parameter. - toTimestampUtc - The timestamp in UTC, specified according to ISO 8601 standard, e.g.
2022-08-07T08:00:00Z
, until which you want to retrieve transactions. This is an optional parameter.
Notes
- This method caches return values for 1 second. Calling it more than once per second will result in cached data being returned.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"pageIndex": 1,
"pageSize": 5
}
{
"Data": [
{
"TradeGuid": "593e609d-041a-4f46-a41d-2cb8e908973f",
"TradeTimestampUtc": "2022-12-16T03:44:19.2187707Z",
"OrderGuid": "8bf851a3-76d2-439c-945a-93367541d467",
"OrderType": "LimitBid",
"OrderTimestampUtc": "2022-12-16T03:43:36.7423769Z",
"VolumeTraded": 0.5,
"Price": 410,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd"
},
{
"TradeGuid": "13c1e71c-bfb4-452c-b13e-e03535f98b09",
"TradeTimestampUtc": "2022-12-11T11:37:42.2089564Z",
"OrderGuid": "1ce88acf-6013-4867-b58d-77f0e41ec475",
"OrderType": "LimitBid",
"OrderTimestampUtc": "2022-12-11T11:37:42.0724391Z",
"VolumeTraded": 0.4,
"Price": 399,
"PrimaryCurrencyCode": "Xbt",
"SecondaryCurrencyCode": "Usd"
}
],
"PageSize": 5,
"TotalItems": 20,
"TotalPages": 4
}
Return value descriptions
- TradeGuid - Unique identifier of the trade
- TradeTimestampUtc - UTC timestamp corresponding to trade execution
- OrderGuid - Unique identifier of the order which was matched as part of the trade
- OrderType - The type of order which was matched
- OrderTimestampUtc - UTC timestamp when order was created
- VolumeTraded - The volume of primary currency traded
- Price - The price in secondary currency at which the trade was executed
- PrimaryCurrencyCode - The primary currency which was traded
- SecondaryCurrencyCode - The secondary currency in which the trade was denominated
GetTradesByOrder
Retrieves the list of trades executed against your order.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- orderGuid - Unique identifier of the order^.
- pageIndex - Must be larger than 0.
- pageSize - Must be between 1 and 50.
- clientId - The clientId that was supplied when placing an order ^
^ At least one of these parameters should be supplied
Notes
- This method caches return values for 1 second. Calling it more than once per second will result in cached data being returned.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"orderGuid": "79eac4c9-f24f-4746-a013-2dfa3a295e11",
"clientId": "a96ff431-7f47-4ab5-9974-4a2c6b6eb8d8",
"pageIndex": 1,
"pageSize": 5
}
{
"Data": [
{
"TradeGuid": "97be0f79-f003-4d74-86cf-c4d2960e4bcb",
"TradeTimestampUtc": "2020-05-20T12:13:24.0368425+00:00",
"OrderGuid": "79eac4c9-f24f-4746-a013-2dfa3a295e11",
"OrderType": "MarketBid",
"OrderTimestampUtc": "2020-05-20T12:13:24.0268429+00:00",
"VolumeTraded": 0.19316949,
"Price": 315.21,
"PrimaryCurrencyCode": "Ltc",
"SecondaryCurrencyCode": "Aud"
},
{
"TradeGuid": "8fb3f7fc-8041-4914-8369-dc5ee7056566",
"TradeTimestampUtc": "2020-05-20T12:13:24.0368425+00:00",
"OrderGuid": "79eac4c9-f24f-4746-a013-2dfa3a295e11",
"OrderType": "MarketBid",
"OrderTimestampUtc": "2020-05-20T12:13:24.0268429+00:00",
"VolumeTraded": 0.20683051,
"Price": 314,
"PrimaryCurrencyCode": "Ltc",
"SecondaryCurrencyCode": "Aud"
}
],
"PageSize": 5,
"TotalItems": 20,
"TotalPages": 4
}
Return value descriptions
- TradeGuid - Unique identifier of the trade
- TradeTimestampUtc - UTC timestamp corresponding to trade execution
- OrderGuid - Unique identifier of the order which was matched as part of the trade
- OrderType - The type of order which was matched
- OrderTimestampUtc - UTC timestamp when order was created
- VolumeTraded - The volume of primary currency traded
- Price - The price - denominated in the secondary currency - at which the trade was executed
- PrimaryCurrencyCode - The primary currency which was traded
- SecondaryCurrencyCode - The secondary currency in which the trade was denominated
GetBrokerageFees
Retrieves information about the trading fees for the cryptocurrencies in your Independent Reserve account.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}"
}
[
{
"CurrencyCode": "Xbt",
"Fee": 0.005
},
{
"CurrencyCode": "Xrp",
"Fee": 0.005
},
{
"CurrencyCode": "Eth",
"Fee": 0.005
},
{
"CurrencyCode": "Eos",
"Fee": 0.005
},
{
"CurrencyCode": "Bch",
"Fee": 0.005
},
{
"CurrencyCode": "Ltc",
"Fee": 0.005
},
{
"CurrencyCode": "Etc",
"Fee": 0.005
},
{
"CurrencyCode": "Xlm",
"Fee": 0.005
},
{
"CurrencyCode": "Bat",
"Fee": 0.005
},
{
"CurrencyCode": "Omg",
"Fee": 0.005
},
{
"CurrencyCode": "Rep",
"Fee": 0.005
},
{
"CurrencyCode": "Zrx",
"Fee": 0.005
},
{
"CurrencyCode": "Gnt",
"Fee": 0.005
},
{
"CurrencyCode": "Pla",
"Fee": 0.005
}
]
Return value descriptions
- CurrencyCode - The currency the fee applies to
- Fee - Fee value
GetDigitalCurrencyWithdrawal
Get the details of a specific digital currency withdrawal
Parameters
Either transactionGuid
or clientId
must be specified as the key to retrieve the record.
- apiKey - Your API Key
- nonce - Nonce value
- signature - HMAC-SHA256 encoded message to authenticate API call
- transactionGuid - This should either be the TransactionGuid returned by WithdrawDigitalCurrency, or the CorrelationId returned by GetTransactions.
- clientId - If the withdrawal was created with a
clientId
, it can be retrieved by the sameclientId
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"transactionGuid": "2a93732f-3f40-4685-b3bc-ff3ec326090d",
"clientId": null
}
{
"TransactionGuid": "dc932e19-562b-4c50-821e-a73fd048b93b",
"PrimaryCurrencyCode": "Bch",
"CreatedTimestampUtc": "2020-04-01T05:26:30.5093622+00:00",
"Amount": {
"Total": 0.1231,
"Fee": 0.0001
},
"Destination": {
"Address": "bc1qhpqxkjpvgkckw530yfmxyr53c94q8f4273a7ez",
"Tag": null
},
"Status": "Pending",
"Transaction": null,
"ClientId": "my-unique-tracking-id-2383486"
}
Return value descriptions
- TransactionGuid - Unique identifier of the withdrawal
- PrimaryCurrencyCode - Currency being withdrawn
- CreatedTimestampUtc - Timestamp in UTC when fiat withdrawal request was created
- Amount
- Total - Total amount being withdrawn by the user (inclusive of any fees)
- Fee - Fee amount which will be taken out of the withdrawal amount
- Destination
- Address - Target cryptocurrency address
- Tag - Target cryptocurrency destination tag.
- Status - Request status in the workflow (Pending, Held, Approved, Executing, Executed, Rejected, Cancelled)
- Transaction - Value is null if transaction hasn't been broadcasted to the network
- Hash - Related blockchain network transaction
- OutputIndex - The index of the transaction output to the destination address. This value is specified only for Xbt, Bch, Bsv, Ltc.
GetFiatWithdrawal
Get details on a specific fiat withdrawal. See our FAQ for more information on fiat withdrawals.
Parameters
Either fiatWithdrawalRequestGuid
or clientId
must be specified as the key to retrieve
the record.
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- fiatWithdrawalRequestGuid - Fiat withdrawal request identifier.
- clientId - If the withdrawal was created with a clientId, it can be retrieved by the same clientId
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"fiatWithdrawalRequestGuid": "2e9ad56c-1954-4b0f-b3d8-2ade7fad93ff",
"clientId": null
}
{
"FiatWithdrawalRequestGuid": "2e9ad56c-1954-4b0f-b3d8-2ade7fad93ff",
"AccountGuid": "eda82a84-57fe-4ce6-9ee5-45a41063ee23",
"Status": "Pending",
"CreatedTimestampUtc": "2022-12-18T14:08:47.4032405Z",
"TotalWithdrawalAmount": 50,
"FeeAmount": 20,
"Currency": "Usd",
"ClientId": "my-unique-tracking-id-2383386"
}
Return value descriptions
- FiatWithdrawalRequestGuid - fiat withdrawal request identifier
- AccountGuid - IR account to withdraw from
- Status - Request status in the workflow
- CreatedTimestampUtc - Timestamp in UTC when fiat withdrawal request was created
- TotalWithdrawalAmount - Total amount being withdrawn by the user (inclusive of any fees)
- FeeAmount - Fee amount which will be taken out of the withdrawal amount
- Currency - Currency being withdrawn
GetDepositLimits
Get fiat deposit limits.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}"
}
{
"Fiat": [
{
"DepositType": "PoliPayment",
"MaxTransactionAmount": 1000,
"Limits": [
{
"Deposited": 300,
"Period": "Day",
"AutomaticApprovalLimit": 1000
}
]
},
{
"DepositType": "Osko",
"MaxTransactionAmount": 10000,
"Limits": [
{
"Deposited": 400,
"Period": "Day",
"AutomaticApprovalLimit": 10000
}
]
}
]
}
Return value descriptions
- Fiat - Array of deposit types
- DepositType - Method of deposit
- MaxTransactionAmount - Maximum amount of a single payment
- Limits
- Deposited - Total amount of deposits processed within the period
- Period - "Day"
- AutomaticApprovalLimit - Deposits up to this amount in the period will be processed and credited to your account automatically. Amounts over this limit will require review by an operator.
GetWithdrawalLimits
Get withdrawal limits.
Parameters
- apiKey: Your API Key.
- nonce: Nonce value.
- signature: HMAC-SHA256 encoded message to authenticate API call.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}"
}
{
"Xbt": [
{
"Withdrawn": 0.38,
"Period": "P12H",
"AutomaticApprovalLimit": 6
}
],
"Eth": [
{
"Withdrawn": 0.1,
"Period": "P12H",
"AutomaticApprovalLimit": 80
}
],
"Xrp": [
{
"Withdrawn": 0,
"Period": "P12H",
"AutomaticApprovalLimit": 30000
}
]
}
Return value descriptions
- Xbt - Primary currency code
- Withdrawn - Total amount of withdrawals processed within the period
- Period - Sliding window the limit applies to. Formatted as Iso8601 duration
- AutomaticApprovalLimit - Withdrawals up to this amount made during the period will be processed automatically
PlaceLimitOrder
Places new limit bid / offer order. A Limit Bid is a buy order and a Limit Offer is a sell order.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- primaryCurrencyCode - The cryptocurrency code of limit order. Must be a valid primary currency, which can be checked via the GetValidPrimaryCurrencyCodes method.
- secondaryCurrencyCode - The fiat currency of limit order. Must be a valid secondary currency, which can be checked via the GetValidSecondaryCurrencyCodes method.
- orderType - The type of limit order. Must be a valid limit order type, which can be checked via the GetValidLimitOrderTypes method.
- price - The price in secondary currency to buy/sell.
- volume - The volume to buy/sell in primary currency.
- timeInForce - See details below
- clientId - Specify your own clientId to a maximum of 36 characters. Uniqueness of clientId will be enforced across orders for a guaranteed 24 hours minimum, but in most cases longer. If an order is placed with a duplicate clientId, it will be rejected. Do not insert sensitive data, the clientId is publicly visible via our websocket channels.
Time In Force
When placing limit orders, several different options are available for the timeInForce
argument. If
omitted, the assumed value is Gtc
.
Parameter Value | Description |
---|---|
Gtc | (Good Til Cancelled) This order will stay on the order book until it is either filled or cancelled by a subsequent event. |
Ioc |
(Immediate Or Cancel) If any volume from the order can be executed immediately, it will be executed. If
there is any remaining unfilled volume, the order will be cancelled and not placed on the order book.
When the price does not cross the market, the response will be (400) TimeInForce.Ioc order cannot be executed. |
Fok | (Fill Or Kill) The order will be cancelled if it cannot be fully executed at the time of placement. |
Moc | (Maker Or Cancel) If the order fully or partially crosses the spread at the time of placement, it will be immediately rejected. The order will only be placed if no part of the order will be executed immediately. An order with the Moc flag always functions as a maker order and never as a taker order. |
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"clientId": "{client-id}",
"primaryCurrencyCode": "Xbt",
"secondaryCurrencyCode": "Usd",
"orderType": "LimitBid",
"price": 485.76,
"volume": 0.358,
"timeInForce": "Gtc"
}
{
"CreatedTimestampUtc": "2022-08-05T06:42:11.3032208Z",
"OrderGuid": "719c495c-a39e-4884-93ac-280b37245037",
"Price": 485.76,
"PrimaryCurrencyCode": "Xbt",
"ReservedAmount": 0.358,
"SecondaryCurrencyCode": "Usd",
"Status": "Open",
"Type": "LimitOffer",
"VolumeFilled": 0,
"VolumeOrdered": 0.358
}
Return value descriptions
- CreatedTimestampUtc - TC timestamp of when order was created
- OrderGuid - Unique identifier of the order
- Price - Order limit price in secondary currency
- PrimaryCurrencyCode - Primary currency of order
- ReservedAmount - The amount of funds reserved in your account by this order
- SecondaryCurrencyCode - Secondary currency of order
- Status - Order status (Open, PartiallyFilled, Filled)
- Type - Type of order
- VolumeFilled - Volume already filled on this order
- VolumeOrdered - The original volume ordered
- VolumeCurrencyType - Indicate in which currency the volume is denominated
PlaceMarketOrder
Place new market bid / offer order. A Market Bid is a buy order and a Market Offer is a sell order.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature: HMAC-SHA256 encoded message to authenticate API call.
- primaryCurrencyCode - The cryptocurrency code of market order. Must be a valid primary currency, which can be checked via the GetValidPrimaryCurrencyCodes method.
- secondaryCurrencyCode - The fiat currency of market order. Must be a valid secondary currency, which can be checked via the GetValidSecondaryCurrencyCodes method.
- orderType - The type of market order. Must be a valid market order type, which can be checked via the GetValidMarketOrderTypes method.
- volume - The volume of currency to order, denominated in volumeCurrencyType.
- volumeCurrencyType - Optional with default value of "Primary". Possible values are Primary, Secondary.
- clientId - Specify your own clientId to a maximum of 36 characters. Uniqueness of clientId will be enforced across orders for a guaranteed 24 hours minimum, but in most cases longer. If an order is placed with a duplicate clientId, it will be rejected. Do not insert sensitive data, the clientId is publicly visible via our websocket channels.
- allowedSlippagePercent - Optional parameter for slippage protection, in which the order will be rejected after the market has moved by the specified amount.
Example 1
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"clientId": "{client-id}",
"primaryCurrencyCode": "Xbt",
"secondaryCurrencyCode": "Usd",
"orderType": "MarketOffer",
"volume": 0.025
}
{
"CreatedTimestampUtc": "2022-08-05T06:42:11.3032208Z",
"OrderGuid": "5c8885cd-5384-4e05-b397-9f5119353e10",
"PrimaryCurrencyCode": "Xbt",
"ReservedAmount": 0.025,
"SecondaryCurrencyCode": "Usd",
"Status": "Open",
"Type": "MarketOffer",
"VolumeFilled": 0,
"VolumeOrdered": 0.025
}
Example 2
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"primaryCurrencyCode": "Xbt",
"secondaryCurrencyCode": "Aud",
"orderType": "MarketOffer",
"volume": "77.8",
"volumeCurrencyType": "Secondary"
}
{
"CreatedTimestampUtc": "2020-05-21T01:38:06.090333+00:00",
"OrderGuid": "4994b087-70d7-457f-babe-6c226c5bc4e3",
"PrimaryCurrencyCode": "Xbt",
"ReservedAmount": 9716.94255222,
"SecondaryCurrencyCode": "Aud",
"Status": "Open",
"Type": "MarketOffer",
"VolumeFilled": 0,
"VolumeOrdered": 77.8,
"VolumeCurrencyType": "Secondary"
}
Return value descriptions
- CreatedTimestampUtc - TC timestamp of when order was created
- OrderGuid - Unique identifier of the order
- PrimaryCurrencyCode - Primary currency of order
- ReservedAmount - The amount of funds reserved in your account by this order
- SecondaryCurrencyCode - Secondary currency of order
- Status - Order status (Open, PartiallyFilled, Filled)
- Type - Type of order
- VolumeFilled - Volume already filled on this order
- VolumeOrdered - The original volume ordered
- VolumeCurrencyType - Whether volume is denominated in Primary or Secondary currency
CancelOrder
Cancels a previously placed order.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- orderGuid - The guid of currently open or partially filled order.
Notes
- The order must be in either 'Open' or 'PartiallyFilled' status to be valid for cancellation. You can retrieve list of Open and Partially Filled orders via the GetOpenOrders method. You can also check an individual order's status by calling the GetOrderDetails method.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"orderGuid": "719c495c-a39e-4884-93ac-280b37245037"
}
{
"AvgPrice": 455.48,
"CreatedTimestampUtc": "2022-08-05T06:42:11.3032208Z",
"OrderGuid": "719c495c-a39e-4884-93ac-280b37245037",
"Price": 485.76,
"PrimaryCurrencyCode": "Xbt",
"ReservedAmount": 0.358,
"SecondaryCurrencyCode": "Usd",
"Status": "Cancelled",
"Type": "LimitOffer",
"VolumeFilled": 0,
"VolumeOrdered": 0.358
}
Return value descriptions
- AvgPrice - Average price for all trades executed for the order
- CreatedTimestampUtc - TC timestamp of when order was created
- OrderGuid - Unique identifier of the order
- Price - Order limit price in secondary currency
- PrimaryCurrencyCode - Primary currency of order
- ReservedAmount - The amount of funds reserved in your account by this order
- SecondaryCurrencyCode - Secondary currency of order
- Status - Order status (Filled, PartiallyFilledAndCancelled, Cancelled, PartiallyFilledAndExpired, Expired)
- Type - Type of order
- VolumeFilled - Volume already filled on this order
- VolumeOrdered - The original volume ordered
- VolumeCurrencyType - Whether volume is denominated in Primary or Secondary currency
CancelOrders
Accepts an array of orderGuid so that multiple orders can be cancelled in the one call.
Response will contain cancellation result for each individual order.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- orderGuids - An array of order guids.
Notes
-
The orderGuids parameter is a JSON array in the POST body but for signature generation, the orderGuids
should be formatted as csv. For example
orderGuids=Guid1,Guid2
. - The order must be in either 'Open' or 'PartiallyFilled' status to be valid for cancellation. You can retrieve list of Open and Partially Filled orders via the GetOpenOrders method. You can also check an individual order's status by calling the GetOrderDetails method.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"orderGuids": [
"5053e267-6060-44a8-9ab6-77f36fed86df",
"309d8b71-868c-4408-9346-c5aca4c3efdb"
]
}
{
"5053e267-6060-44a8-9ab6-77f36fed86df": {
"IsSuccess": true,
"Message": null
},
"309d8b71-868c-4408-9346-c5aca4c3efdb": {
"IsSuccess": true,
"Message": null
}
}
SynchDigitalCurrencyDepositAddressWithBlockchain
Forces the deposit address to be checked for cryptocurrency deposits.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- depositAddress - The cryptocurrency deposit address to check for new deposits.
- primaryCurrencyCode - Primary currency code.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"depositAddress": "12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
"primaryCurrencyCode": "Bch"
}
{
"DepositAddress": "12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
"LastCheckedTimestampUtc": "2022-05-05T09:35:22.4032405Z",
"NextUpdateTimestampUtc": "2022-05-05T09:45:22.4032405Z"
}
Return value descriptions
- DepositAddress - Cryptocurrency deposit address to be updated
- LastCheckedTimestampUtc - UTC timestamp of when this address was last checked against the blockchain
- NextUpdateTimestampUtc - UTC timestamp of when this address is scheduled to next be checked against the blockchain
WithdrawFiatCurrency
Creates a Fiat currency withdrawal from your Independent Reserve account to an external bank account. See the fiat withdrawals FAQ for more information.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- secondaryCurrencyCode - The Independent Reserve fiat currency account to withdraw from.
- withdrawalAmount - Amount of fiat currency to withdraw.
- fiatBankAccountGuid: Fiat bank account guid
- useNpp: Send instantly using NPP
- comment - Withdrawal comment. Should not exceed 500 characters.
- clientId - Optional. Specify your own clientId to a maximum of 36 characters. Uniqueness of clientId will be enforced for a guaranteed 24 hours minimum, but in most cases longer. If a fiat withdrawal is placed with a duplicate clientId, it will be rejected.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"secondaryCurrencyCode": "{secondaryCurrencyCode}",
"withdrawalAmount": "{withdrawalAmount}",
"fiatBankAccountGuid": "{fiatBankAccountGuid}",
"useNpp": "true",
"comment": "{comment}",
"clientId": null
}
{
"FiatWithdrawalRequestGuid": "a953d73e-e650-471f-a502-676dea9574ea",
"AccountGuid": "137edc8f-d681-4a61-905c-5e761317193b",
"Status": "Executed",
"CreatedTimestampUtc": "2020-09-30T14:08:47.4032405Z",
"TotalWithdrawalAmount": 11.5,
"FeeAmount": 1.5,
"Currency": "Aud",
"ClientId": "my-unique-tracking-id-2383286"
}
Return value descriptions
- FiatWithdrawalRequestGuid - Unique indentifier of this request
- AccountGuid - IR account to withdraw from
- Status - Request status in the workflow
- CreatedTimestampUtc - Timestamp in UTC when fiat withdrawal request was created
- TotalWithdrawalAmount - Total amount being withdrawn by the user (inclusive of any fees)
- FeeAmount - Fee amount which will be taken out of the withdrawal amount
- Currency - Currency being withdrawn
WithdrawDigitalCurrency
Creates a cryptocurrency withdrawal request. There is a minimum withdrawal value for each cryptocurrency, except where the available balance is less than this amount. In all cases, the withdrawal amount must be greater than the withdrawal fee. Take care to provide a valid destination address. Cryptocurrency withdrawals are irreversible once sent.
Notes
- Only API Keys which are explicitly marked as being allowed to withdraw cryptocurrency can call this method.
Parameters
- apiKey - Your API Key.
- nonce - Nonce value.
- signature - HMAC-SHA256 encoded message to authenticate API call.
- amount - The amount of cryptocurrency to withdraw.
- withdrawalAddress - Target Bitcoin or Ether withdrawal address.
- comment - Withdrawal comment. Should not exceed 500 characters.
- primaryCurrencyCode - Primary currency code.
- destinationTag - Optional. For cryptocurrencies that support tags (for example: XRP)
- clientId - Optional. Specify your own clientId to a maximum of 36 characters. Uniqueness of clientId will be enforced for a guaranteed 24 hours minimum, but in most cases longer. If a crypto withdrawal is placed with a duplicate clientId, it will be rejected.
{
"apiKey": "{api-key}",
"nonce": "{nonce}",
"signature": "{signature}",
"amount": 0.123,
"withdrawalAddress": "1BP2wi6UxQwG3oDuDj2V2Rvgu6PMJnJu61",
"comment": "",
"primaryCurrencyCode": "Bch",
"destinationTag": "123456",
"clientId": null
}
{
"TransactionGuid": "dc932e19-562b-4c50-821e-a73fd048b93c",
"PrimaryCurrencyCode": "Bch",
"CreatedTimestampUtc": "2020-04-01T05:26:30.5093622+00:00",
"Amount": {
"Total": 0.1231,
"Fee": 0.0001
},
"Destination": {
"Address": "bc1qhpqxkjpvgkckw530yfmxyr53c94q8f4273a7ez",
"Tag": null
},
"Status": "Pending",
"Transaction": null,
"ClientId": "my-unique-tracking-id-2383485"
}
Return value descriptions
- TransactionGuid - Unique identifier of the withdrawal
- PrimaryCurrencyCode - Currency being withdrawn
- CreatedTimestampUtc - Timestamp in UTC when fiat withdrawal request was created
- Amount
- Total - Total amount being withdrawn by the user (inclusive of any fees)
- Fee - Fee amount which will be taken out of the withdrawal amount
- Destination
- Address - Target cryptocurrency address
- Tag - Target cryptocurrency destination tag.
- Status - Request status in the workflow (Pending, Held, Approved, Executing, Executed, Rejected, Cancelled)
- Transaction - Value is null if transaction hasn't been broadcasted to the network
- Hash - Related blockchain network transaction
- OutputIndex - The index of the transaction output to the destination address. This value is specified only for Xbt, Bch, Bsv, Ltc.
Error handling
The API uses standard HTTP status codes 200/400 to indicate the success/failure of a request. In the event of
an error, the response body will contain a JSON object with ErrorCode
and Message
properties
like below:
{
"ErrorCode": "ValidationError",
"Message": "Invalid primary currency code"
}
The following table lists the specific error codes that the API can return. The Message
property in
the response may contain more context specific details. The description below is a general guide for the class
of error.
Error Code | Description |
---|---|
UnexpectedError | An error occurred internally to Independent Reserve. The client should check account or order status and send a new request if required. |
ValidationError | One or more properties in the request were invalid. Check Message property for more information. |
AccessDenied | Check that your credentials are correct. |
RequestDuplicated | A prior request with the same ClientId has already been received. |
RecordDoesNotExist | The request was for a key that doesn't exist in our system. |
RecordNotWhitelisted | This can happen when a crypto address or bank account is not whitelisted for the operation attempted. |
UserSuspended | Access to this account is temporarily suspended for security reasons. |
UserInactive | The account has been permanently closed. |
UserFrozen | Some functions on this account are limited. Logon to Portal for more information. |
OrderLimitExceeded | The order attempted has exceeded internal limits. The order size should be reduced. |
WithdrawalDisabled | Withdrawals for the selected currency are temporarily unavailable. |
Sample API clients
Below are sample API client code libraries that can be used as a point of reference or as the basis of your own applications that integrate with Independent Reserve.
Please keep in mind that neither Independent Reserve nor the third party authors are responsible for losses due to bugs or improper use of the API. Independent Reserve have performed an initial review of the veracity of the third party code but cannot vouch for any changes made since then. If you have concerns, please contact us via the support page.
Platform/Language | Project link |
---|---|
.NET | https://github.com/independentreserve/dotNetApiClient |
Postman | https://github.com/independentreserve/dotNetApiClient/tree/master/test/Postman |
Node.js | https://github.com/davesag/ir-api (third party authored) |
PHP | https://github.com/elliotchance/independentreserve (third party authored) |
Java | https://github.com/timmolter/XChange (third party authored) |
Python | https://github.com/MelchiSalins/pyindependentreserve (third party authored) |
Rust | https://github.com/tcharding/rust-crypto-trader (third party authored) |
WebSockets
WebSockets documentation is available on our github repository.