Bittrex API API Reference

Bittrex provides a simple and powerful API consisting of REST endpoints for transactional operations and a complementary Websocket service providing streaming market, order, and balance updates.

Access to and use of the API is governed by our Terms of Service. If you are a user of Bittrex.com, the applicable Terms of Service are available here. If you are a user of Bittrex International, the applicable Terms of Service are available here.

If you have any API questions, feedback, or recommendations please post a question via our support center.

API Endpoint
https://api.bittrex.com/v3
Schemes: https
Version: v3

Availability

The V3-Alpha API is available on an invite-only basis at this time. Later releases will be made publicly available to the community.

Pre-Release Warning

Warning: The V3-Alpha or other pre-release API versions are not for production use.

The V3-Alpha release will be subject to breaking changes, potentially without notice, until the final API is released. Pre-release APIs should only be used for testing and review.

The V3-Alpha API will operate against production (live-site) data and accounts and we recommend using test accounts and small-value transactions to validate your implementation.

By using the V3-Alpha API you understand and agree that issues may be encountered without warning, affecting your use of the website and API. Bittrex provides no warranties, either express or implied, as to the suitability or usability of pre-release APIs. Bittrex will not be liable for any loss, whether such loss is direct, indirect, special or consequential, suffered by any party as a result of their use of the V3-Alpha API or other pre-release APIs.

Getting Started

Keep the following in mind when developing against the Bittrex API:

  • Enable 2FA on your account. API Keys cannot be generated unless 2FA is enabled.
  • All REST requests must be sent to https://api.bittrex.com/v3 using the application/json content type. Non-HTTPS requests will be redirected to HTTPS, possibly causing functional or performance issues with your application.

Best Practices

Call Limits

The Bittrex API employs call limits on all endpoints to ensure the efficiency and availability of the platform for all customers. In general, API users are permitted to make a maximum of 60 API calls per minute. Calls after the limit will fail, with the limit resetting at the start of the next minute.

Note: Corporate and high-volume accounts may contact customer support for additional information to ensure that they may continue operating at an optimal level.

Authentication

Overview

In order to properly sign an authenticated request for the Bittrex v3 API, the following headers must be included:

  • Api-Key

  • Api-Timestamp

  • Api-Content-Hash

  • Api-Signature

The following sections are instructions for properly populating these headers.


Api-Key

Populate this header with your API key.

Example Value:

4894xxxxxxxx407e827d05xxxxxxxxxx


Api-Timestamp

Populate this header with the current time as a UNIX timestamp, in epoch-millisecond format.

Sample JS Code Snippet:

var timestamp = new Date().getTime();

Example Value:

1542323450016


Api-Content-Hash

Populate this header with a SHA512 hash of the request contents, ASCII-encoded. If there are no request contents, populate this header with a SHA512 hash of an empty string.

Sample JS Code Snippet:

var contentHash = CryptoJS.SHA512(content).toString(CryptoJS.enc.ASCII);

Example Value:

cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

Api-Signature

Create a pre-sign string formed from the following items and concatenating them together:

  1. contents of your Api-Timestamp header
  2. the full URI you are using to make the request (including query string)
  3. contents of your Api-Content-Hash header

Once you have created this pre-sign string, sign it via HMACSHA512, using your API secret as the signing secret. ASCII-encode the result of this operation and populate the Api-Signature header with it.

Sample JS Code Snippet:

var uri = 'https://api.bittrex.com/v3/balances';
var preSign = [timestamp, uri, contentHash].join('');
var signature = CryptoJS.HmacSHA512(preSign, apiSecret).toString(CryptoJS.enc.ASCII);

Example Pre-Signed Value:

1542323450016https://api.bittrex.com/v3/balancescf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e

Example Post-Signed Value:

939047623f0efbe10bfbb32f18e5d8885b2a91be3c3cea82adf0dd2d20892b20bcb6a10a91fec3afcedcc009f2b2a86c5366974cfadcf671fe0490582568f51f

Api-Subaccount-Id

(NOTE: This functionality is limited to partners and unavailable to general traders.)

If you wish to make a request on behalf of a subaccount, you will need to:

  1. Authenticate using all 4 of the headers above referring to your master account.
  2. Populate the Api-Subaccount-Id header with the Guid of the subaccount you wish to impersonate for this request. The specified subaccount must be a subaccount of the master account used to authenticate the request.

Example Value:

 x111x11x-8968-48ac-b956-x1x11x111111

Account

GET /account

Retrieve account information. (NOT YET IMPLEMENTED)

Request Url Example
https://api.bittrex.com/v3/account
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string",
  "email": "string"
}

Addresses

GET /addresses

List deposit addresses. (NOT YET IMPLEMENTED)

Request Url Example
https://api.bittrex.com/v3/addresses
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "status": "string",
    "currencySymbol": "string",
    "cryptoAddress": "string"
  }
]

POST /addresses

Request provisioning of a deposit address.

information including ID of the currency to provision a deposit address for

Request Url Example
https://api.bittrex.com/v3/addresses
Request Content-Types: application/json
Request Body Example
{
  "currencySymbol": "string"
}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "string",
  "currencySymbol": "string",
  "cryptoAddress": "string"
}

GET /addresses/{currencySymbol}

Retrieve the deposit address for a particular currency.

currencySymbol: string
in path

symbol of the currency to retrieve the deposit address for

Request Url Example
https://api.bittrex.com/v3/addresses/{currencySymbol}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "string",
  "currencySymbol": "string",
  "cryptoAddress": "string"
}

Balances

GET /balances

List account balances across available currencies.

Request Url Example
https://api.bittrex.com/v3/balances
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "currencySymbol": "string",
    "total": "number (double)",
    "available": "number (double)"
  }
]

GET /balances/{currencySymbol}

Retrieve account balance for a specific currency.

currencySymbol: string
in path

unique symbol of the currency to retrieve the account balance for

Request Url Example
https://api.bittrex.com/v3/balances/{currencySymbol}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "currencySymbol": "string",
  "total": "number (double)",
  "available": "number (double)"
}

Currencies

GET /currencies

List currencies with optional health info.

Request Url Example
https://api.bittrex.com/v3/currencies
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "symbol": "string",
    "name": "string",
    "baseAddress": "string",
    "coinType": "string",
    "isActive": "boolean",
    "isInternational": "boolean",
    "minConfirmations": "integer (int32)",
    "notice": "string",
    "txFee": "number (double)"
  }
]

GET /currencies/{symbol}

Retrieve info on a specified currency.

symbol: string
in path

symbol of the currency to retrieve

Request Url Example
https://api.bittrex.com/v3/currencies/{symbol}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "symbol": "string",
  "name": "string",
  "baseAddress": "string",
  "coinType": "string",
  "isActive": "boolean",
  "isInternational": "boolean",
  "minConfirmations": "integer (int32)",
  "notice": "string",
  "txFee": "number (double)"
}

Deposits

GET /deposits

List historical deposits.

status: string PENDING, COMPLETED, ERROR
in query

filter by deposit status (PENDING not allowed, use /deposits/pending to list pending deposits)

currencySymbol: string
in query

filter by currency

Request Url Example
https://api.bittrex.com/v3/deposits?status=COMPLETED
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "currencySymbol": "string",
    "quantity": "number (double)",
    "address": "string",
    "txId": "string",
    "confirmations": "integer (int32)",
    "createdAt": "string (date-time)",
    "updatedAt": "string (date-time)",
    "status": "string"
  }
]

GET /deposits/pending

List pending deposits.

currencySymbol: string
in query

filter by currency

Request Url Example
https://api.bittrex.com/v3/deposits/pending
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "currencySymbol": "string",
    "quantity": "number (double)",
    "address": "string",
    "txId": "string",
    "confirmations": "integer (int32)",
    "createdAt": "string (date-time)",
    "updatedAt": "string (date-time)",
    "status": "string"
  }
]

GET /deposits/{depositId}

Retrieve information for a specific deposit. (NOT YET IMPLEMENTED)

depositId: string
in path

(guid-formatted string) - ID of the deposit to retrieve

Request Url Example
https://api.bittrex.com/v3/deposits/{depositId}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "currencySymbol": "string",
  "quantity": "number (double)",
  "address": "string",
  "txId": "string",
  "confirmations": "integer (int32)",
  "createdAt": "string (date-time)",
  "updatedAt": "string (date-time)",
  "status": "string"
}

Markets

GET /markets

List markets with optional summary information.

includeSummary: boolean
in query

Include market summary information in results.

Request Url Example
https://api.bittrex.com/v3/markets
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "string",
    "baseCurrencySymbol": "string",
    "baseCurrencyName": "string",
    "quoteCurrencySymbol": "string",
    "quoteCurrencyName": "string",
    "minTradeSize": "number (double)",
    "isActive": "boolean",
    "isInternational": "boolean",
    "createdAt": "string (date-time)",
    "notice": "string",
    "isSponsored": "boolean",
    "logoUrl": "string",
    "summary": {
      "name": "string",
      "high": "number (double)",
      "low": "number (double)",
      "volume": "number (double)",
      "last": "number (double)",
      "baseVolume": "number (double)",
      "bid": "number (double)",
      "ask": "number (double)",
      "openBuyOrders": "integer (int32)",
      "openSellOrders": "integer (int32)",
      "previousDay": "number (double)",
      "updatedAt": "string (date-time)"
    }
  }
]

GET /markets/{marketName}

Retrieve information for a specific market.

marketName: string
in path

name of market to retrieve

includeSummary: boolean
in query

Include market summary information in results.

Request Url Example
https://api.bittrex.com/v3/markets/{marketName}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "string",
  "baseCurrencySymbol": "string",
  "baseCurrencyName": "string",
  "quoteCurrencySymbol": "string",
  "quoteCurrencyName": "string",
  "minTradeSize": "number (double)",
  "isActive": "boolean",
  "isInternational": "boolean",
  "createdAt": "string (date-time)",
  "notice": "string",
  "isSponsored": "boolean",
  "logoUrl": "string",
  "summary": {
    "name": "string",
    "high": "number (double)",
    "low": "number (double)",
    "volume": "number (double)",
    "last": "number (double)",
    "baseVolume": "number (double)",
    "bid": "number (double)",
    "ask": "number (double)",
    "openBuyOrders": "integer (int32)",
    "openSellOrders": "integer (int32)",
    "previousDay": "number (double)",
    "updatedAt": "string (date-time)"
  }
}

GET /markets/{marketName}/orderbook

Retrieve the order book for a specific market.

marketName: string
in path

name of market to retrieve order book for

depth: integer (int32)
in query

depth of order book to return

direction: string BUY, SELL
in query

filter results based on order direction (buy or sell)

Request Url Example
https://api.bittrex.com/v3/markets/{marketName}/orderbook
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "buy": [
    {
      "orderDirection": "string",
      "orderType": "string",
      "quantity": "number (double)",
      "rate": "number (double)"
    }
  ],
  "sell": [
    {
      "orderDirection": "string",
      "orderType": "string",
      "quantity": "number (double)",
      "rate": "number (double)"
    }
  ]
}

GET /markets/{marketName}/history

Retrieve the order history for a specific market.

marketName: string
in path

name of market to retrieve history for

Request Url Example
https://api.bittrex.com/v3/markets/{marketName}/history
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "integer (int32)",
    "filledAt": "string (date-time)",
    "quantity": "number (double)",
    "price": "number (double)",
    "fillType": "string",
    "orderDirection": "string"
  }
]

GET /markets/{marketName}/ticks

Retrieve ticks for a specific market.

marketName: string
in path

name of market to retrieve ticks for

tickInterval: string MINUTE_1, MINUTE_5, MINUTE_30, HOUR_1, DAY_1
in query

desired time interval between ticks

Request Url Example
https://api.bittrex.com/v3/markets/{marketName}/ticks
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "t": "string (date-time)",
    "o": "number (double)",
    "h": "number (double)",
    "l": "number (double)",
    "c": "number (double)",
    "v": "number (double)",
    "bv": "number (double)"
  }
]

Orders

GET /orders

List historical orders.

status: string OPEN, FILLED, CANCELLED
in query

filter by order status (OPEN not allowed, use /orders/open to list open orders

marketId: string
in query

filter by market ID

pageSize: integer (int32)
in query

number of items per page (default 100, max 200)

pageNumber: integer (int32)
in query

page number to retrieve

Request Url Example
https://api.bittrex.com/v3/orders
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "marketName": "string",
    "direction": "string",
    "type": "string",
    "quantity": "number (double)",
    "limit": "number (double)",
    "timeInForce": "string",
    "trigger": "string",
    "triggerTargetPrice": "number (double)",
    "fillQuantity": "number (double)",
    "commission": "number (double)",
    "price": "number (double)",
    "status": "string",
    "createdAt": "string (date-time)",
    "closedAt": "string (date-time)"
  }
]

POST /orders

Create a new order.

information specifying the order to create

Request Url Example
https://api.bittrex.com/v3/orders
Request Content-Types: application/json
Request Body Example
{
  "marketName": "string",
  "direction": "string",
  "type": "string",
  "quantity": "number (double)",
  "limit": "number (double)",
  "timeInForce": "string",
  "trigger": "string",
  "triggerTargetPrice": "number (double)",
  "clientId": "string (uuid)"
}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "marketName": "string",
  "direction": "string",
  "type": "string",
  "quantity": "number (double)",
  "limit": "number (double)",
  "timeInForce": "string",
  "trigger": "string",
  "triggerTargetPrice": "number (double)",
  "fillQuantity": "number (double)",
  "commission": "number (double)",
  "price": "number (double)",
  "status": "string",
  "createdAt": "string (date-time)",
  "closedAt": "string (date-time)"
}

GET /orders/open

List open orders.

marketId: string
in query

filter by market ID

Request Url Example
https://api.bittrex.com/v3/orders/open
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "marketName": "string",
    "direction": "string",
    "type": "string",
    "quantity": "number (double)",
    "limit": "number (double)",
    "timeInForce": "string",
    "trigger": "string",
    "triggerTargetPrice": "number (double)",
    "fillQuantity": "number (double)",
    "commission": "number (double)",
    "price": "number (double)",
    "status": "string",
    "createdAt": "string (date-time)",
    "closedAt": "string (date-time)"
  }
]

GET /orders/{orderId}

Retrieve information on a specific order.

orderId: string (uuid)
in path

ID of order to retrieve

Request Url Example
https://api.bittrex.com/v3/orders/{orderId}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "marketName": "string",
  "direction": "string",
  "type": "string",
  "quantity": "number (double)",
  "limit": "number (double)",
  "timeInForce": "string",
  "trigger": "string",
  "triggerTargetPrice": "number (double)",
  "fillQuantity": "number (double)",
  "commission": "number (double)",
  "price": "number (double)",
  "status": "string",
  "createdAt": "string (date-time)",
  "closedAt": "string (date-time)"
}

DELETE /orders/{orderId}

Cancel an order.

orderId: string (uuid)
in path

ID of order to cancel

Request Url Example
https://api.bittrex.com/v3/orders/{orderId}
200 OK

OK

type
object
Response Content-Types: application/json
Response Example (200 OK)
"object"

Status

GET /status

Check service status.

Request Url Example
https://api.bittrex.com/v3/status
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "string",
  "serverTime": "integer (int64)"
}

Subaccounts

GET /subaccounts

List subaccounts. (NOT YET IMPLEMENTED)

pageSize: integer (int32)
in query

number of items per page (default 100, max 200)

pageNumber: integer (int32)
in query

page number to retrieve

Request Url Example
https://api.bittrex.com/v3/subaccounts
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)"
  }
]

POST /subaccounts

Create a new subaccount. (NOT YET IMPLEMENTED)

information specifying the subaccount to create

Request Url Example
https://api.bittrex.com/v3/subaccounts
Request Content-Types: application/json
Request Body Example
{}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)"
}

GET /subaccounts/{subaccountId}

Retrieve details for a specified subaccount. (NOT YET IMPLEMENTED)

subaccountId: string (uuid)
in path

ID of the subaccount to retrieve details for

Request Url Example
https://api.bittrex.com/v3/subaccounts/{subaccountId}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)"
}

Withdrawals

GET /withdrawals

List historical withdrawals.

status: string PENDING, COMPLETED, CANCELLED, ERROR
in query

filter by withdrawal status (PENDING not allowed, use /withdrawals/pending to list pending withdrawals)

currencySymbol: string
in query

filter by currency

Request Url Example
https://api.bittrex.com/v3/withdrawals
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "currencySymbol": "string",
    "quantity": "number (double)",
    "address": "string",
    "txCost": "number (double)",
    "txId": "string",
    "isAuthorized": "boolean",
    "hasInvalidAddress": "boolean",
    "status": "string",
    "createdAt": "string (date-time)",
    "completedAt": "string (date-time)"
  }
]

POST /withdrawals

Create a new withdrawal.

information specifying the withdrawal to create

Request Url Example
https://api.bittrex.com/v3/withdrawals
Request Content-Types: application/json
Request Body Example
{
  "currencySymbol": "string",
  "quantity": "number (double)",
  "address": "string",
  "message": "string"
}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "currencySymbol": "string",
  "quantity": "number (double)",
  "address": "string",
  "txCost": "number (double)",
  "txId": "string",
  "isAuthorized": "boolean",
  "hasInvalidAddress": "boolean",
  "status": "string",
  "createdAt": "string (date-time)",
  "completedAt": "string (date-time)"
}

GET /withdrawals/pending

List pending withdrawals.

currencySymbol: string
in query

filter by currency

Request Url Example
https://api.bittrex.com/v3/withdrawals/pending
200 OK

OK

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "currencySymbol": "string",
    "quantity": "number (double)",
    "address": "string",
    "txCost": "number (double)",
    "txId": "string",
    "isAuthorized": "boolean",
    "hasInvalidAddress": "boolean",
    "status": "string",
    "createdAt": "string (date-time)",
    "completedAt": "string (date-time)"
  }
]

GET /withdrawals/{withdrawalId}

Retrieve information on a specified withdrawal. (NOT YET IMPLEMENTED)

withdrawalId: string (uuid)
in path

ID of withdrawal to retrieve

Request Url Example
https://api.bittrex.com/v3/withdrawals/{withdrawalId}
200 OK

OK

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "currencySymbol": "string",
  "quantity": "number (double)",
  "address": "string",
  "txCost": "number (double)",
  "txId": "string",
  "isAuthorized": "boolean",
  "hasInvalidAddress": "boolean",
  "status": "string",
  "createdAt": "string (date-time)",
  "completedAt": "string (date-time)"
}

DELETE /withdrawals/{withdrawalId}

Cancel a withdrawal.

withdrawalId: string (uuid)
in path

ID of withdrawal to cancel

Request Url Example
https://api.bittrex.com/v3/withdrawals/{withdrawalId}
200 OK

OK

type
object
Response Content-Types: application/json
Response Example (200 OK)
"object"

Schema Definitions

Account

id: string

the account ID associated with this API key / user

email: string

the email address associated with this API key / user

Example
{
  "id": "string",
  "email": "string"
}

Address

status: string REQUESTED, PROVISIONED

the status of this deposit address

currencySymbol: string

the unique ID of the currency this deposit address is for

cryptoAddress: string

the cryptographic deposit address

Example
{
  "status": "string",
  "currencySymbol": "string",
  "cryptoAddress": "string"
}

NewAddress

currencySymbol: string

the currency ID to provision a new address for

Example
{
  "currencySymbol": "string"
}

Balance

currencySymbol: string

unique ID for the currency this balance is associated with

total: number (double)

total amount

available: number (double)

available amount

Example
{
  "currencySymbol": "string",
  "total": "number (double)",
  "available": "number (double)"
}

Currency

symbol: string

unique symbol for this currency

name: string

long name of this currency

baseAddress: string

base address of this currency

coinType: string ADA, ANTSHARES, BITCOIN, BITCOIN_PERCENTAGE_FEE, BITCOIN_STEALTH, BITSHAREX, CRYPTO_NOTE, CRYPTO_NOTE_PAYMENTID, ETH, ETH_CONTRACT, FIAT, LISK, LUMEN, NEM, NXT, NXT_ASSET, NXT_MS, OMNI, RIPPLE, STEEM, TRON, WAVES, WAVES_ASSET

coin type of this currency

isActive: boolean

determines whether this currency is currently active

isInternational: boolean

true if this market is restricted to international users

minConfirmations: integer (int32)

minimum number of confirmations

notice: string

news or alerts regarding this currency

txFee: number (double)

transaction fee for this currency

Example
{
  "symbol": "string",
  "name": "string",
  "baseAddress": "string",
  "coinType": "string",
  "isActive": "boolean",
  "isInternational": "boolean",
  "minConfirmations": "integer (int32)",
  "notice": "string",
  "txFee": "number (double)"
}

Deposit

id: string (uuid)

unique ID for this deposit

currencySymbol: string

unique symbol of the currency being deposited to

quantity: number (double)

quantity to deposit

address: string

crypto address for this deposit

txId: string

TxID for the deposit

confirmations: integer (int32)

current count of confirmations

createdAt: string (date-time)

time stamp when this deposit was initiated

updatedAt: string (date-time)

time stamp when this deposit was last updated

status: string PENDING, COMPLETED, ERROR

current status of this deposit

Example
{
  "id": "string (uuid)",
  "currencySymbol": "string",
  "quantity": "number (double)",
  "address": "string",
  "txId": "string",
  "confirmations": "integer (int32)",
  "createdAt": "string (date-time)",
  "updatedAt": "string (date-time)",
  "status": "string"
}

Market

name: string

unique name for this market

baseCurrencySymbol: string

unique symbol for base currency

baseCurrencyName: string

long name for base currency

quoteCurrencySymbol: string

unique symbol for quote currency

quoteCurrencyName: string

long name for quote currency

minTradeSize: number (double)

minimum trade size

isActive: boolean

true if this market is currently active

isInternational: boolean

true if this market is restricted to international users

createdAt: string (date-time)

timestamp in UTC when this market was created

notice: string

notice or alert info

isSponsored: boolean

true if this market is sponsored

logoUrl: string

logo URL

summary: MarketSummary

summary information for this market

Example
{
  "name": "string",
  "baseCurrencySymbol": "string",
  "baseCurrencyName": "string",
  "quoteCurrencySymbol": "string",
  "quoteCurrencyName": "string",
  "minTradeSize": "number (double)",
  "isActive": "boolean",
  "isInternational": "boolean",
  "createdAt": "string (date-time)",
  "notice": "string",
  "isSponsored": "boolean",
  "logoUrl": "string",
  "summary": {
    "name": "string",
    "high": "number (double)",
    "low": "number (double)",
    "volume": "number (double)",
    "last": "number (double)",
    "baseVolume": "number (double)",
    "bid": "number (double)",
    "ask": "number (double)",
    "openBuyOrders": "integer (int32)",
    "openSellOrders": "integer (int32)",
    "previousDay": "number (double)",
    "updatedAt": "string (date-time)"
  }
}

MarketSummary

name: string

unique name for this market

high: number (double)

high

low: number (double)

low

volume: number (double)

volume

last: number (double)

last

baseVolume: number (double)

base volume

bid: number (double)

bid

ask: number (double)

ask

openBuyOrders: integer (int32)

count of open buy orders

openSellOrders: integer (int32)

count of open sell orders

previousDay: number (double)

previous day

updatedAt: string (date-time)

timestamp in UTC when market summary was last updated

Example
{
  "name": "string",
  "high": "number (double)",
  "low": "number (double)",
  "volume": "number (double)",
  "last": "number (double)",
  "baseVolume": "number (double)",
  "bid": "number (double)",
  "ask": "number (double)",
  "openBuyOrders": "integer (int32)",
  "openSellOrders": "integer (int32)",
  "previousDay": "number (double)",
  "updatedAt": "string (date-time)"
}

OrderBook

buy: OrderBookEntry

buy entries

OrderBookEntry
sell: OrderBookEntry

sell entries

OrderBookEntry
Example
{
  "buy": [
    {
      "orderDirection": "string",
      "orderType": "string",
      "quantity": "number (double)",
      "rate": "number (double)"
    }
  ],
  "sell": [
    {
      "orderDirection": "string",
      "orderType": "string",
      "quantity": "number (double)",
      "rate": "number (double)"
    }
  ]
}

OrderBookEntry

orderDirection: string BUY, SELL

order direction

orderType: string LIMIT, MARKET

order type

quantity: number (double)

quantity

rate: number (double)

rate

Example
{
  "orderDirection": "string",
  "orderType": "string",
  "quantity": "number (double)",
  "rate": "number (double)"
}

HistoryEntry

id: integer (int32)

unique ID for the order

filledAt: string (date-time)

timestamp in UTC when order was filled

quantity: number (double)

quantity

price: number (double)

price

fillType: string OPEN, PARTIAL_FILL, FILL

fill type

orderDirection: string BUY, SELL

direction of order

Example
{
  "id": "integer (int32)",
  "filledAt": "string (date-time)",
  "quantity": "number (double)",
  "price": "number (double)",
  "fillType": "string",
  "orderDirection": "string"
}

Tick

t: string (date-time)

time stamp of tick in UTC

o: number (double)

open

h: number (double)

high

l: number (double)

low

c: number (double)

close

v: number (double)

volume

bv: number (double)

base volume

Example
{
  "t": "string (date-time)",
  "o": "number (double)",
  "h": "number (double)",
  "l": "number (double)",
  "c": "number (double)",
  "v": "number (double)",
  "bv": "number (double)"
}

PaginationParameters

pageSize: integer (int32)

number of items per page (default 100, max 200)

pageNumber: integer (int32)

page number to retrieve

Example
{
  "pageSize": "integer (int32)",
  "pageNumber": "integer (int32)"
}

Order

id: string (uuid)

unique ID of this order

marketName: string

unique name of the market this order is being placed on

direction: string BUY, SELL

order direction

type: string LIMIT, MARKET

order type

quantity: number (double)

quantity

limit: number (double)

limit price, if present

timeInForce: string GOOD_TIL_CANCELLED, IMMEDIATE_OR_CANCEL, FILL_OR_KILL

time in force

trigger: string GREATER_THAN, LESS_THAN, STOP_LOSS_FIXED, STOP_LOSS_PERCENTAGE

trigger specification, if present

triggerTargetPrice: number (double)

if trigger (price-related) is present, target price for that trigger

fillQuantity: number (double)

fill quantity

commission: number (double)

commission

price: number (double)

price

status: string OPEN, FILLED, CANCELLED

order status

createdAt: string (date-time)

timestamp (UTC) of order creation

closedAt: string (date-time)

timestamp (UTC) when this order was closed

Example
{
  "id": "string (uuid)",
  "marketName": "string",
  "direction": "string",
  "type": "string",
  "quantity": "number (double)",
  "limit": "number (double)",
  "timeInForce": "string",
  "trigger": "string",
  "triggerTargetPrice": "number (double)",
  "fillQuantity": "number (double)",
  "commission": "number (double)",
  "price": "number (double)",
  "status": "string",
  "createdAt": "string (date-time)",
  "closedAt": "string (date-time)"
}

NewOrder

marketName: string

unique name of the market this order is being placed on

direction: string BUY, SELL

order direction

type: string LIMIT, MARKET

order type

quantity: number (double)

quantity

limit: number (double)

limit, if present

timeInForce: string GOOD_TIL_CANCELLED, IMMEDIATE_OR_CANCEL, FILL_OR_KILL

time in force

trigger: string GREATER_THAN, LESS_THAN, STOP_LOSS_FIXED, STOP_LOSS_PERCENTAGE

trigger specification, if present

triggerTargetPrice: number (double)

if trigger (price-related) is present, target price for that trigger

clientId: string (uuid)

client-provided identifier for advanced order tracking (NYI)

Example
{
  "marketName": "string",
  "direction": "string",
  "type": "string",
  "quantity": "number (double)",
  "limit": "number (double)",
  "timeInForce": "string",
  "trigger": "string",
  "triggerTargetPrice": "number (double)",
  "clientId": "string (uuid)"
}

ServiceStatus

status: string GREEN, YELLOW, RED

overall service status

serverTime: integer (int64)

server time in epoch millisecond format

Example
{
  "status": "string",
  "serverTime": "integer (int64)"
}

Subaccount

id: string (uuid)

unique ID of this subaccount

Example
{
  "id": "string (uuid)"
}

NewSubaccount

Example
{}

Withdrawal

id: string (uuid)

unique ID for this withdrawal

currencySymbol: string

unique symbol of currency to withdraw

quantity: number (double)

quantity to withdraw

address: string

crypto address for this withdrawal

txCost: number (double)

TxCost of this withdrawal

txId: string

TxID associated with this withdrawal

isAuthorized: boolean

true if this deposit has been authorized

hasInvalidAddress: boolean

true if this withdrawal has an invalid target crypto address

status: string PENDING, COMPLETED, CANCELLED, ERROR

current status of this withdrawal

createdAt: string (date-time)

time stamp when this withdrawal was initiated

completedAt: string (date-time)

time stamp when this withdrawal was completed

Example
{
  "id": "string (uuid)",
  "currencySymbol": "string",
  "quantity": "number (double)",
  "address": "string",
  "txCost": "number (double)",
  "txId": "string",
  "isAuthorized": "boolean",
  "hasInvalidAddress": "boolean",
  "status": "string",
  "createdAt": "string (date-time)",
  "completedAt": "string (date-time)"
}

NewWithdrawal

currencySymbol: string

unique symbol of the currency to withdraw from

quantity: number (double)

quantity to withdraw

address: string

crypto address to withdraw funds to

message: string

custom message (optional, depends on the currency being withdrawn)

Example
{
  "currencySymbol": "string",
  "quantity": "number (double)",
  "address": "string",
  "message": "string"
}