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 to application/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 Bitcoin
Xbt
8 2
Ethereum Ethereum
Eth
8 2
Solana Solana
Sol
5 4
XRP XRP
Xrp
5 5
USD Coin USD Coin
Usdc
5 5
Tether USD Tether USD
Usdt
5 5
Aave Aave
Aave
5 4
Cardano Cardano
Ada
5 5
Basic Attention Token Basic Attention Token
Bat
5 5
Bitcoin Cash Bitcoin Cash
Bch
8 2
Compound Compound
Comp
8 2
Dai Dai
Dai
5 5
Dogecoin Dogecoin
Doge
5 5
Polkadot Polkadot
Dot
5 4
EOS EOS
Eos
4 4
Ethereum Classic Ethereum Classic
Etc
8 2
The Graph The Graph
Grt
5 5
Chainlink Chainlink
Link
4 4
Litecoin Litecoin
Ltc
8 2
Decentraland Decentraland
Mana
5 5
Matic Matic
Matic
5 5
Maker Maker
Mkr
8 2
The Sandbox The Sandbox
Sand
5 5
Shiba Inu Shiba Inu
Shib
0 8
Synthetix Synthetix
Snx
5 4
TRON TRON
Trx
5 5
Uniswap Uniswap
Uni
5 4
Stellar Lumens Stellar Lumens
Xlm
5 5
yearn.finance yearn.finance
Yfi
8 2
0x 0x
Zrx
5 5

Public methods

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.

GET
https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes
Response
[
  "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.

GET
https://api.independentreserve.com/Public/GetValidSecondaryCurrencyCodes
Response
[
  "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.

GET
https://api.independentreserve.com/Public/GetValidLimitOrderTypes
Response
[
  "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.

GET
https://api.independentreserve.com/Public/GetValidMarketOrderTypes
Response
[
  "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.

GET
https://api.independentreserve.com/Public/GetValidOrderTypes
Response
[
  "LimitBid",
  "LimitOffer",
  "MarketBid",
  "MarketOffer"
]

GetValidTransactionTypes

Returns a list of valid transaction types.

This method does not take any parameters.

GET
https://api.independentreserve.com/Public/GetValidTransactionTypes
Response
[
  "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.

GET
https://api.independentreserve.com/Public/GetPrimaryCurrencyConfig
Response
{
  "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.
GET
https://api.independentreserve.com/Public/GetMarketSummary?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd
Response
{
  "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.
GET
https://api.independentreserve.com/Public/GetOrderBook?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd
Response
{
  "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.
GET
https://api.independentreserve.com/Public/GetAllOrders?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd
Response
{
  "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.
GET
https://api.independentreserve.com/Public/GetTradeHistorySummary?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd&numberOfHoursInThePastToRetrieve=24
Response
{
  "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.
GET
https://api.independentreserve.com/Public/GetRecentTrades?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd&numberOfRecentTradesToRetrieve=10
Response
{
  "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.
GET
https://api.independentreserve.com/Public/GetFxRates
Response
[
  {
    "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.

GET
https://api.independentreserve.com/Public/GetOrderMinimumVolumes
Response
{
  "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.

GET
https://api.independentreserve.com/Public/GetDepositFees
Response
[
  {
    "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.

GET
https://api.independentreserve.com/Public/GetFiatWithdrawalFees
Response
[
  {
    "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.

GET
https://api.independentreserve.com/Public/GetCryptoWithdrawalFees
Response
{
  "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.
POST
https://api.independentreserve.com/Private/GetOpenOrders
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "primaryCurrencyCode": "Xbt",
  "secondaryCurrencyCode": "Usd",
  "pageIndex": 1,
  "pageSize": 25
}
Response
{
  "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 to false, response time is improved and the TotalItems and TotalPages properties are returned as -1.

Notes

  • Only recently cancelled orders will be returned; cancelled orders are regularly purged from history.
POST
https://api.independentreserve.com/Private/GetClosedOrders
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "primaryCurrencyCode": "Xbt",
  "secondaryCurrencyCode": "Usd",
  "includeTotals": false,
  "pageIndex": 1,
  "pageSize": 25,
  "fromTimestampUtc": "2023-08-01T08:00:00Z"
}
Response
{
  "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 to false, response time is improved and the TotalItems and TotalPages properties are returned as -1.
POST
https://api.independentreserve.com/Private/GetClosedFilledOrders
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "primaryCurrencyCode": "Xbt",
  "secondaryCurrencyCode": "Usd",
  "includeTotals": false,
  "pageIndex": 1,
  "pageSize": 25
}
Response
{
  "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

POST
https://api.independentreserve.com/Private/GetOrderDetails
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "orderGuid": "c7347e4c-b865-4c94-8f74-d934d4b0b177",
  "clientId": null
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/GetAccounts
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}"
}
Response
[
  {
    "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 to false, response time is improved and the TotalItems and TotalPages properties are returned as -1.

Notes

Array parameters should be serialized for signature input as comma-separated value list.
Example: txTypes=Brokerage,Trade

POST
https://api.independentreserve.com/Private/GetTransactions
Request
{
  "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
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/GetFiatBankAccounts
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}"
}
Response
[
  {
    "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

POST
https://api.independentreserve.com/Private/GetDigitalCurrencyDepositAddress
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "primaryCurrencyCode": "Xbt"
}
Response
{
  "DepositAddress": "12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
  "LastCheckedTimestampUtc": "2022-05-05T09:35:22.4032405Z",
  "NextUpdateTimestampUtc": "2022-05-05T09:45:22.4032405Z"
}

Example 2 - Tagged Currency

POST
https://api.independentreserve.com/Private/GetDigitalCurrencyDepositAddress
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "primaryCurrencyCode": "Xrp"
}
Response
{
  "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

POST
https://api.independentreserve.com/Private/GetDigitalCurrencyDepositAddresses
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "primaryCurrencyCode": "Xbt",
  "pageIndex": 1,
  "pageSize": 10
}
Response
{
  "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

POST
https://api.independentreserve.com/Private/GetDigitalCurrencyDepositAddresses
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "primaryCurrencyCode": "Xlm",
  "pageIndex": 1,
  "pageSize": 10
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/GetTrades
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "pageIndex": 1,
  "pageSize": 5
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/GetTradesByOrder
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "orderGuid": "79eac4c9-f24f-4746-a013-2dfa3a295e11",
  "clientId": "a96ff431-7f47-4ab5-9974-4a2c6b6eb8d8",
  "pageIndex": 1,
  "pageSize": 5
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/GetBrokerageFees
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}"
}
Response
[
  {
    "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 same clientId
POST
https://api.independentreserve.com/Private/GetDigitalCurrencyWithdrawal
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "transactionGuid": "2a93732f-3f40-4685-b3bc-ff3ec326090d",
  "clientId": null
}
Response
{
  "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
POST
https://api.independentreserve.com/Private/GetFiatWithdrawal
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "fiatWithdrawalRequestGuid": "2e9ad56c-1954-4b0f-b3d8-2ade7fad93ff",
  "clientId": null
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/GetDepositLimits
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}"
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/GetWithdrawalLimits
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}"
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/PlaceLimitOrder
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "clientId": "{client-id}",
  "primaryCurrencyCode": "Xbt",
  "secondaryCurrencyCode": "Usd",
  "orderType": "LimitBid",
  "price": 485.76,
  "volume": 0.358,
  "timeInForce": "Gtc"
}
Response
{
  "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

POST
https://api.independentreserve.com/Private/PlaceMarketOrder
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "clientId": "{client-id}",
  "primaryCurrencyCode": "Xbt",
  "secondaryCurrencyCode": "Usd",
  "orderType": "MarketOffer",
  "volume": 0.025
}
Response
{
  "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

POST
https://api.independentreserve.com/Private/PlaceMarketOrder
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "primaryCurrencyCode": "Xbt",
  "secondaryCurrencyCode": "Aud",
  "orderType": "MarketOffer",
  "volume": "77.8",
  "volumeCurrencyType": "Secondary"
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/CancelOrder
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "orderGuid": "719c495c-a39e-4884-93ac-280b37245037"
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/CancelOrders
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "orderGuids": [
    "5053e267-6060-44a8-9ab6-77f36fed86df",
    "309d8b71-868c-4408-9346-c5aca4c3efdb"
  ]
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/SynchDigitalCurrencyDepositAddressWithBlockchain
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "depositAddress": "12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
  "primaryCurrencyCode": "Bch"
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/WithdrawFiatCurrency
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "secondaryCurrencyCode": "{secondaryCurrencyCode}",
  "withdrawalAmount": "{withdrawalAmount}",
  "fiatBankAccountGuid": "{fiatBankAccountGuid}",
  "useNpp": "true",
  "comment": "{comment}",
  "clientId": null
}
Response
{
  "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.
POST
https://api.independentreserve.com/Private/WithdrawDigitalCurrency
Request
{
  "apiKey": "{api-key}",
  "nonce": "{nonce}",
  "signature": "{signature}",
  "amount": 0.123,
  "withdrawalAddress": "1BP2wi6UxQwG3oDuDj2V2Rvgu6PMJnJu61",
  "comment": "",
  "primaryCurrencyCode": "Bch",
  "destinationTag": "123456",
  "clientId": null
}
Response
{
  "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.

WebSockets

WebSockets documentation is available on our github repository.