• Last 4,711.38
  • Avg 4,691.78
  • Vol 132.61

This information is intended for third-party software developers integrating their systems with Independent Reserve.

Airbridge™ API

Overview

Independent Reserve features a JSON based API, that is comprised of Public and Private methods.

  • All API calls must be 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 must be accessed via HTTP POST.
  • Errors are returned to the caller as a HTTP 400 return code and a descriptive error message.
  • Ensure that the contentType of the your JSON POST request is set to 'application/json'.
  • Fiat currency amounts cannot have more than 2 decimal places, and XBT amounts cannot have more than 8 decimal places.

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

Returns a list of valid primary currency codes. These are the digital currencies which can be traded on Independent Reserve.

This method does not take any parameters.

https://api.independentreserve.com/Public/GetValidPrimaryCurrencyCodes
["Xbt", "Eth", "Bch"]

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.

https://api.independentreserve.com/Public/GetValidSecondaryCurrencyCodes
["Usd","Aud", "Nzd"]

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.

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

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

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

GetValidTransactionTypes

Returns a list of valid transaction types.

This method does not take any parameters.

https://api.independentreserve.com/Public/GetValidTransactionTypes
[
    "BitcoinNetworkFee",
    "Brokerage",
    "Commission",
    "Deposit",
    "DepositFee",
    "Error",
    "GST",
    "Trade",
    "Transfer",
    "Unclaimed",
    "Withdrawal",
    "WithdrawalFee"
]

GetMarketSummary

Returns a current snapshot of the Independent Reserve market for a given currency pair.

Parameters

  • primaryCurrencyCode: The digital currency 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.
https://api.independentreserve.com/Public/GetMarketSummary?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd
{  
   "CreatedTimestampUtc ":"2014-08-05T06:42:11.3032208Z",
   "CurrentHighestBidPrice":500.00000000,
   "CurrentLowestOfferPrice":1001.00000000,
   "DayAvgPrice":510.000000,
   "DayHighestPrice":510.00000000,
   "DayLowestPrice":510.00000000,
   "DayVolumeXbt":1.00000000,
   "DayVolumeXbtInSecondaryCurrrency":0.75000000,
   "LastPrice":510.00000000,
   "PrimaryCurrencyCode":"Xbt",
   "SecondaryCurrencyCode":"Usd"
}

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 digital currency 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.

Notes

  • This method caches return values for 1 second. Calling it more than once per second will result in cached data being returned.
https://api.independentreserve.com/Public/GetOrderBook?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd
{  
   "BuyOrders":[  
      {  
         "OrderType":"LimitBid",
         "Price":497.02000000,
         "Volume":0.01000000
      },
      {  
         "OrderType":"LimitBid",
         "Price":490.00000000,
         "Volume":1.00000000
      }
   ],
   "CreatedTimestampUtc ":"2014-08-05T06:42:11.3032208Z",
   "PrimaryCurrencyCode":"Xbt",
   "SecondaryCurrencyCode":"Usd",
   "SellOrders":[  
      {  
         "OrderType":"LimitOffer",
         "Price":500.00000000,
         "Volume":1.00000000
      },
      {  
         "OrderType":"LimitOffer",
         "Price":505.00000000,
         "Volume":1.00000000
      }
   ]
}

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
}],
"CreatedTimestampUtc ": UTC timestamp of when the order book was generated
"PrimaryCurrencyCode": The primary currency being shown
"SecondaryCurrencyCode": The secondary currency being used for pricing
"SellOrders":[ List of all Sell Orders on order book { ... } ]
                

GetTradeHistorySummary

Returns summarised historical trading data for a given currency pair. Data is summarised into 1 hour intervals.

Parameters

  • primaryCurrencyCode: The digital currency 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.
https://api.independentreserve.com/Public/GetTradeHistorySummary?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd&numberOfHoursInThePastToRetrieve=24
{  
   "CreatedTimestampUtc ":"2014-08-05T09:02:57.5440691Z",
   "HistorySummaryItems":[{  
        "AverageSecondaryCurrencyPrice":510.00000000,
        "ClosingSecondaryCurrencyPrice":510.00000000,
        "StartTimestampUtc":"2014-08-04T09:00:00Z"         
        "EndTimestampUtc":"2014-08-04T10:00:00Z",
        "HighestSecondaryCurrencyPrice":510.00000000,
        "LowestSecondaryCurrencyPrice":510.00000000,
        "NumberOfTrades":0,
        "OpeningSecondaryCurrencyPrice":510.00000000,
        "PrimaryCurrencyVolume":0.00000000,
        "SecondaryCurrencyVolume":0.00000000,
    }],
   "NumberOfHoursInThePastToRetrieve":1,
   "PrimaryCurrencyCode":"Xbt",
   "SecondaryCurrencyCode":"Usd"
}

Return value descriptions

"CreatedTimestampUtc ":UTC timestamp of when the data was generated,
"HistorySummaryItems":[ List of hourly summary blocks
{  
    "AverageSecondaryCurrencyPrice": Average traded price during hour
    "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":Number of trades executed during hour
    "OpeningSecondaryCurrencyPrice": Opening traded price at start of hour
    "PrimaryCurrencyVolume": Volume of primary currency trade during hour
    "SecondaryCurrencyVolume": Volume of secondary currency traded during hour
}],
"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 digital currency 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.
https://api.independentreserve.com/Public/GetRecentTrades?primaryCurrencyCode=xbt&secondaryCurrencyCode=usd&numberOfRecentTradesToRetrieve=10
{  
   "CreatedTimestampUtc ":"2014-08-05T09:14:39.4830696Z",
   "PrimaryCurrencyCode":"Xbt",
   "SecondaryCurrencyCode":"Usd",
   "Trades":[  
      {  
         "PrimaryCurrencyAmount":1.00000000,
         "SecondaryCurrencyTradePrice":510.00000000,
         "TradeTimestampUtc":"2014-07-31T10:34:05.935412Z"
      },
      {  
         "PrimaryCurrencyAmount":0.01000000,
         "SecondaryCurrencyTradePrice":501.000000,
         "TradeTimestampUtc":"2014-07-31T10:33:24.8458426Z"
      }
   ]
}

Return value descriptions

"CreatedTimestampUtc ":UTC 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 
{  
    "PrimaryCurrencyAmount": Amount traded in primary currency
    "SecondaryCurrencyTradePrice": Amount traded in secondary currency
    "TradeTimestampUtc": UTC timestamp of trade
}]
                

GetFxRates

Returns a list of exchange rates used by Independing 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.
https://api.independentreserve.com/Public/GetFxRates
[{"CurrencyCodeA":"Aud","CurrencyCodeB":"Usd","Rate":0.86830000},{"CurrencyCodeA":"Usd","CurrencyCodeB":"Aud","Rate":1.15170000}]

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
  • Signature

API key

To generate an API Key, go to the Settings page, scroll down to the "API Keys" section and click the "generate" button. Your API Key and corresponding API Secret will be shown. Please store your API Secret in a safe place as this will be the only time we will ever show you the API Secret for this Key.


Nonce

The nonce is a 64 bit unsigned integer. The nonce must increase with each request made to the API.

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 neccessary to start with 1. A common practice is to use unix time for this parameter.


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.

Note:

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,hashlib
import json
from collections import OrderedDict

url='https://api.independentreserve.com/Private/GetOpenOrders'

key='api_key'

secret='api_secret'

nonce=int(time.time()) 

# 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), 
    ("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 following private API methods are available:

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 digital currency 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.
HTTP POST https://api.independentreserve.com/Private/PlaceLimitOrder
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "primaryCurrencyCode":"Xbt",
    "secondaryCurrencyCode":"Usd",
    "orderType": "LimitBid",
    "price": 485.76,
    "volume": 0.358
}
{
    "CreatedTimestampUtc":"2014-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 ":UTC 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
                

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 digital currency 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 to buy/sell in primary currency.
HTTP POST https://api.independentreserve.com/Private/PlaceMarketOrder
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "primaryCurrencyCode":"Xbt",
    "secondaryCurrencyCode":"Usd",
    "orderType": "MarketOffer",
    "volume": 0.025
}
{
    "CreatedTimestampUtc":"2014-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
}

Return value descriptions

"CreatedTimestampUtc ":UTC 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
                

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.
HTTP POST https://api.independentreserve.com/Private/CancelOrder
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "orderGuid":"719c495c-a39e-4884-93ac-280b37245037"
}
{
    "CreatedTimestampUtc":"2014-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

"CreatedTimestampUtc ":UTC 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
                

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: The page index. Must be greater or equal to 1
  • pageSize: Must be greater or equal to 1 and less than or equal to 50. If a number greater than 50 is specified, then 50 will be used.
HTTP POST https://api.independentreserve.com/Private/GetOpenOrders
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "primaryCurrencyCode":"Xbt",
    "secondaryCurrencyCode":"Usd",
    "pageIndex":1,
    "pageSize":25
}
{
    "PageSize":25,
    "TotalItems":2,
    "TotalPages":1,
    "Data":[
        {
            "AvgPrice":466.36000000,
            "CreatedTimestampUtc":"2014-05-05T09:35:22.4032405Z",
            "FeePercent":0.005,
            "OrderGuid":"dd015a29-8f73-4469-a5fa-ea91544dfcda",
            "OrderType":"LimitOffer",
            "Outstanding":21.45621,
            "Price":466.36000000,
            "PrimaryCurrencyCode":"Xbt",
            "SecondaryCurrencyCode":"Usd",
            "Status":"Open",
            "Value":10006.31809560,
            "Volume":21.45621000
        },
        {
            "AvgPrice":455.48000000,
            "CreatedTimestampUtc":"2014-05-05T09:35:22.4032405Z",
            "FeePercent":0.005,
            "OrderGuid":"58f9da9d-a12e-4362-afa8-f5c252ba1725",
            "OrderType":"LimitBid",
            "Outstanding":1.345,
            "Price":455.48000000,
            "PrimaryCurrencyCode":"Xbt",
            "SecondaryCurrencyCode":"Usd",
            "Status":"Open",
            "Value":612.62060000,
            "Volume":1.34500000
        }
    ]
}

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
}]
                

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: The page index. Must be greater or equal to 1
  • pageSize: Must be greater or equal to 1 and less than or equal to 50. If a number greater than 50 is specified, then 50 will be used.
HTTP POST https://api.independentreserve.com/Private/GetClosedOrders
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "primaryCurrencyCode":"Xbt",
    "secondaryCurrencyCode":"Usd",
    "pageIndex":1,
    "pageSize":25
}
{
    "PageSize":25,
    "TotalItems":50,
    "TotalPages":2,
    "Data":[
                {
                    "AvgPrice":698.8,
                    "CreatedTimestampUtc":"2014-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.02500000
                },
                {
                    "AvgPrice":700,
                    "CreatedTimestampUtc":"2014-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.50000000
                },
                // ...
                {
                    "AvgPrice":650,
                    "CreatedTimestampUtc":"2014-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.50000000
                },
            ]
}

Return value descriptions

"PageSize": Number of orders shown per page
"TotalItems": Total number of closed 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 (Filled, PartiallyFilledAndCancelled, Cancelled, PartiallyFilledAndExpired, Expired)
    "Value": The value of the order, denominated in secondary currency
    "Volume": The original volume ordered
}]
                

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: The page index. Must be greater or equal to 1
  • pageSize: Must be greater or equal to 1 and less than or equal to 50. If a number greater than 50 is specified, then 50 will be used.
HTTP POST https://api.independentreserve.com/Private/GetClosedFilledOrders
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "primaryCurrencyCode":"Xbt",
    "secondaryCurrencyCode":"Usd",
    "pageIndex":1,
    "pageSize":25
}
{
    "PageSize":25,
    "TotalItems":50,
    "TotalPages":2,
    "Data":[
                {
                    "AvgPrice":698.8,
                    "CreatedTimestampUtc":"2014-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.02500000
                },
                {
                    "AvgPrice":700,
                    "CreatedTimestampUtc":"2014-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.50000000
                },
                // ...
                {
                    "AvgPrice":650,
                    "CreatedTimestampUtc":"2014-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.50000000
                },
            ]
}

Return value descriptions

"PageSize": Number of orders shown per page
"TotalItems": Total number of closed 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 (Filled, PartiallyFilledAndCancelled, PartiallyFilledAndExpired)
    "Value": The value of the order, denominated in secondary currency
    "Volume": The original volume ordered
}]
                

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.
HTTP POST https://api.independentreserve.com/Private/GetOrderDetails
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "orderGuid":"c7347e4c-b865-4c94-8f74-d934d4b0b177"
}
{
  "OrderGuid": "c7347e4c-b865-4c94-8f74-d934d4b0b177",
  "CreatedTimestampUtc": "2014-09-23T12:39:34.3817763Z",
  "Type": "MarketBid",
  "VolumeOrdered": 5.0,
  "VolumeFilled": 5.0,
  "Price": null,
  "AvgPrice": 100.0,
  "ReservedAmount": 0.0,
  "Status": "Filled",
  "PrimaryCurrencyCode": "Xbt",
  "SecondaryCurrencyCode": "Usd"
}

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
                

GetAccounts

Retrieves information about your Independent Reserve accounts in digital and fiat currencies.

Parameters

  • apiKey: Your API Key.
  • nonce: Nonce value.
  • signature: HMAC-SHA256 encoded message to authenticate API call.
HTTP POST https://api.independentreserve.com/Private/GetAccounts
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
}
[
    {
        "AccountGuid":"66dcac65-bf07-4e68-ad46-838f51100424",
        "AccountStatus":"Active",
        "AvailableBalance":45.33400000,
        "CurrencyCode":"Xbt",
        "TotalBalance":46.81000000
    },
    {
        "AccountGuid":"49994921-60ec-411e-8a78-d0eba078d5e9",
        "AccountStatus":"Active",
        "AvailableBalance":14345.53000000,
        "CurrencyCode":"Usd",
        "TotalBalance":15784.07000000
    }
]

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 trnasactions 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 Reseve 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. 2014-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. 2014-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: The page index. Must be greater or equal to 1
  • pageSize: Must be greater or equal to 1 and less than or equal to 50. If a number greater than 50 is specified, then 50 will be used.

Note:

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

HTTP POST https://api.independentreserve.com/Private/GetTransactions
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "accountGuid":"49994921-60ec-411e-8a78-d0eba078d5e9",
    "fromTimestampUtc":"2014-08-01T09:00:00Z",
    "toTimestampUtc":null,
    "txTypes":["Brokerage","Trade"]
    "pageIndex":1,
    "pageSize":25
}
{
    "PageSize":25,
    "TotalItems":6,
    "TotalPages":1,
    "Data":[
            {
                "Balance":199954.27000000,
                "BitcoinTransactionId":null,
                "BitcoinTransactionOutputIndex":null,
                "Comment":null,
                "CreatedTimestampUtc":"2014-08-03T05:33:48.2354125Z",
                "Credit":null,
                "CurrencyCode":"Usd",
                "Debit":6.98000000,
                "SettleTimestampUtc":"2014-08-03T05:36:24.5532653Z",
                "Status":"Confirmed",
                "Type":"Brokerage"
            },
            // ...
            {
                "Balance":199961.25000000,
                "BitcoinTransactionId":null,
                "BitcoinTransactionOutputIndex":null,
                "Comment":null,
                "CreatedTimestampUtc":"2014-08-02T15:44:05.4323116Z",
                "Credit":1396.00000000,
                "CurrencyCode":"Usd",
                "Debit":null,
                "SettleTimestampUtc":"2014-08-02T15:48:04.2312658Z",
                "Status":"Confirmed",
                "Type":"Trade"
            }
        ]
}

Return value descriptions

"Balance": Running balance in account
"BitcoinTransactionId": Related Bitcoin network transaction
"BitcoinTransactionOutputIndex": Related Bitcoin network transaction output index
"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
                

GetDigitalCurrencyDepositAddress

Retrieves the deposit address which should be used for new Bitcoin or Ether deposits.

Parameters

  • apiKey: Your API Key.
  • nonce: Nonce value.
  • signature: HMAC-SHA256 encoded message to authenticate API call.
  • primaryCurrencyCode: The digital currency to generate deposit address for.
HTTP POST https://api.independentreserve.com/Private/GetDigitalCurrencyDepositAddress
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "primaryCurrencyCode":"Xbt"
}
{
    "DepositAddress":"12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
    "LastCheckedTimestampUtc":"2014-05-05T09:35:22.4032405Z",
    "NextUpdateTimestampUtc":"2014-05-05T09:45:22.4032405Z"
}

Return value descriptions

"DepositAddress": Digital address to use for deposits
"LastCheckedTimestampUtc": UTC timestamp of when this address was last checked against Blockchain
"NextUpdateTimestampUtc": UTC timestamp of when this address is scheduled to next be checked against Blockchain
                

GetDigitalCurrencyDepositAddresses

Retrieves a page of digital currency 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 digital currency to retrieve deposit addresses for.
  • pageIndex: The page index. Must be greater or equal to 1
  • pageSize: Must be greater or equal to 1 and less than or equal to 50. If a number greater than 50 is specified, then 50 will be used.
HTTP POST https://api.independentreserve.com/Private/GetDigitalCurrencyDepositAddresses
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "primaryCurrencyCode":"Xbt",
    "pageIndex": 1,
    "pageSize": 10
}
{
    "PageSize": 10,
    "TotalItems": 10,
    "TotalPages": 1
    "Data": [
            {
                "DepositAddress": "1CxrjaGvVLgXwi1s1d9d62hrCVLU83nHpX",
                "LastCheckedTimestampUtc": "2014-07-24T11:23:48.8693053Z",
                "NextUpdateTimestampUtc": "2014-07-25T11:23:48.8693053Z"
            },
            // ...
            {
                "DepositAddress":"12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
                "LastCheckedTimestampUtc":"2014-05-05T09:35:22.4032405Z",
                "NextUpdateTimestampUtc":"2014-05-05T09:45:22.4032405Z"
            }
    ]
}

Return value descriptions

"DepositAddress": Deposit address to use for deposits
"LastCheckedTimestampUtc": UTC timestamp of when this address was last checked against Blockchain
"NextUpdateTimestampUtc": UTC timestamp of when this address is scheduled to next be checked against Blockchain
                

SynchDigitalCurrencyDepositAddressWithBlockchain

Forces the deposit address to be checked for new Bitcoin or Ether deposits.

Parameters

  • apiKey: Your API Key.
  • nonce: Nonce value.
  • signature: HMAC-SHA256 encoded message to authenticate API call.
  • depositAddress: Bitcoin, Bitcoin Cash or Ether deposit address to check for new deposits.
  • primaryCurrencyCode: Optional primary currency code. If not passed API will interpret an address as Bitcoin or Ether depending on address passed.
HTTP POST https://api.independentreserve.com/Private/SynchDigitalCurrencyDepositAddressWithBlockchain
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "depositAddress":"12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
    "primaryCurrencyCode":"Bch"
}
{
    "DepositAddress":"12a7FbBzSGvJd36wNesAxAksLXMWm4oLUJ",
    "LastCheckedTimestampUtc":"2014-05-05T09:35:22.4032405Z",
    "NextUpdateTimestampUtc":"2014-05-05T09:45:22.4032405Z"
}

Return value descriptions

"DepositAddress": Digital currency deposit address to be updated
"LastCheckedTimestampUtc": UTC timestamp of when this address was last checked against Blockchain
"NextUpdateTimestampUtc": UTC timestamp of when this address is scheduled to next be checked against Blockchain
                

WithdrawDigitalCurrency

Creates a digital currency withdrawal request. There is a minimum withdrawal amount of XBT 0.001 or ETH 0.01, 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. Bitcoin and Ether withdrawals are irreversible once sent.

Notes

  • Only API Keys which are explicitly marked as being allowed to withdraw digital currency 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 Bitcoin to withdraw.
  • withdrawalAddress: Target Bitcoin or Ether withdrawal address.
  • comment: Withdrawal comment. Should not exceed 500 characters.
  • primaryCurrencyCode: Optional primary currency code. If not passed API will interpret an address as Bitcoin or Ether depending on address passed.
HTTP POST https://api.independentreserve.com/Private/WithdrawDigitalCurrency
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "amount":0.123,
    "withdrawalAddress":"1BP2wi6UxQwG3oDuDj2V2Rvgu6PMJnJu61",
    "comment":"",
    "primaryCurrencyCode":"Bch"
}
null

This method does not return any value.


RequestFiatWithdrawal

Creates a withdrawal request for a Fiat currency withdrawal from your Independent Reserve account to an external bank account.

Withdrawals to Australian bank accounts will be converted into AUD by Independent Reserve at a competitive exchange rate. International withdrawals will be transmitted in USD, and converted into the appropriate currency by the receiving bank. Minimum withdrawal amount is $50.00, except where the available balance is less than this amount. In all cases, the withdrawal amount must be greater than the withdrawal fee (only applies to international withdrawals). Withdrawals are manually processed. Please allow 2-3 business days for the funds to arrive in your bank account. Withdrawals to Australian accounts are usually faster. Independent Reserve can only process withdrawals to bank accounts that match the name of the Independent Reserve account holder.

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 (currently only USD accounts are supported).
  • withdrawalAmount: Amount of fiat currency to withdraw.
  • withdrawalBankAccountName: A pre-configured bank account you've already linked to your Independent Reserve account.
  • comment: Withdrawal comment. Should not exceed 500 characters.
HTTP POST https://api.independentreserve.com/Private/RequestFiatWithdrawal
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "secondaryCurrencyCode":"{secondaryCurrencyCode}",
    "withdrawalAmount":"{withdrawalAmount}",
    "withdrawalBankAccountName":"{withdrawalBankAccountName}",
    "comment":"{comment}"
}
{
    "FiatWithdrawalRequestGuid": "2e9ad56c-1954-4b0f-b3d8-2ade7fad93ff",
    "AccountGuid": "eda82a84-57fe-4ce6-9ee5-45a41063ee23",
    "Status": "Pending",
    "CreatedTimestampUtc": "2014-12-18T14:08:47.4032405Z",
    "TotalWithdrawalAmount": 50.00,
    "FeeAmount": 20.00,
    "Currency": "Usd"
}

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 (inlcusive of any fees)
"FeeAmount": Fee amount which will be taken out of the withdrawal amount
"Currency": Currency being withdrawn
                

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: The page index. Must be greater or equal to 1
  • pageSize: Must be greater or equal to 1 and less than or equal to 50. If a number greater than 50 is specified, then 50 will be used.

Notes

  • This method caches return values for 1 second. Calling it more than once per second will result in cached data being returned.
HTTP POST https://api.independentreserve.com/Private/GetTrades
{  
    "apiKey":"{api-key}",
    "nonce":{nonce},
    "signature":"{signature}",
    "pageIndex":1,
    "pageSize":5
}
{
  "Data": [
    {
      "TradeGuid": "593e609d-041a-4f46-a41d-2cb8e908973f",
      "TradeTimestampUtc": "2014-12-16T03:44:19.2187707Z",
      "OrderGuid": "8bf851a3-76d2-439c-945a-93367541d467",
      "OrderType": "LimitBid",
      "OrderTimestampUtc": "2014-12-16T03:43:36.7423769Z",
      "VolumeTraded": 0.5,
      "Price": 410.0,
      "PrimaryCurrencyCode": "Xbt",
      "SecondaryCurrencyCode": "Usd"
    },
    // ... 
    {
      "TradeGuid": "13c1e71c-bfb4-452c-b13e-e03535f98b09",
      "TradeTimestampUtc": "2014-12-11T11:37:42.2089564Z",
      "OrderGuid": "1ce88acf-6013-4867-b58d-77f0e41ec475",
      "OrderType": "LimitBid",
      "OrderTimestampUtc": "2014-12-11T11:37:42.0724391Z",
      "VolumeTraded": 0.4,
      "Price": 399.0,
      "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

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 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.

.Net - C#

https://github.com/independentreserve/dotNetApiClient


iOS - Objective C

https://github.com/independentreserve/iOSApiClient


Node JS - Javascript

https://github.com/naddison36/independentreserve (third party authored)


PHP

https://github.com/elliotchance/independentreserve (third party authored)


Java

https://github.com/timmolter/XChange (third party authored)