Before calling private endpoint you will need to generate three headers
X-Auth-Apikey : the API key you have generated from the exchange UI.X-Auth-Nonce : the Unix time stamp, in milliseconds, used to generate the signature.X-Auth-Signature : HMAC-SHA256 signature digest, in hexadecimal form, of the concatenation of X-Auth-Nonce and X-Auth-Apikey signed by the Api Secret generated from the exchange UI.and add them to your Http requests.
Please feel free to use the following values to test that your code is producing the correct signatures.
# Current unix timestamp in milliseconds
nonce = '12345678789'
# API Key generated using the exchange web application.
api_key = 'abcdef1234'
# API Secret generated using the exchange web application.
secret = '1234567abcdef'
# HMAC-SHA256 signature digest in hexadecimal representation.
signature = HMAC.HexDigest(algorithm: "SHA256", secret: secret, value: nonce + api_key)
With the above value, the signature is expected to be 4b617b1162ba00c892b960b49dca41dd7978dd19ed14bd482ba324417b43d79a
openapi: 3.0.0
info:
title: Trakx Exchange API
description: All exchange API endpoints
contact:
name: trakx.io
email: [email protected]
url: https://trakx.io
license:
name: private
url: http://trakx.io
version: '2.4.1'
servers:
- url: 'https://dev-api.trakx.io/'
description: Trakx Dev API
tags:
- name: account
description: Endpoints related to user account operations (deposits, balances, withdraws, etc.).
- name: resource
description: Endpoints used to detail resources available to the user (api keys, verification labels, etc.).
- name: public
description: Unauthenticated endpoints.
- name: market
description: Endpoints related to authenticated market operations (placing orders, review past trades, etc.).
paths:
/exchange/public/health/ready:
get:
description: Get application readiness status
responses:
"200":
description: Get application readiness status
tags:
- public
operationId: getPublicHealthReady
/exchange/public/health/alive:
get:
description: Get application liveness status
responses:
"200":
description: Get application liveness status
tags:
- public
operationId: getPublicHealthAlive
/exchange/public/version:
get:
description: Get running Peatio version and build details.
responses:
"200":
description: Get running Peatio version and build details.
tags:
- public
operationId: getPublicVersion
/exchange/public/timestamp:
get:
description: Get server current time.
responses:
"200":
description: Get server current time, in seconds since Unix epoch.
content:
application/text:
schema:
type: string
format: date-time
tags:
- public
operationId: getPublicTimestamp
/exchange/public/member-levels:
get:
description: Returns hash of minimum levels and the privileges they provide.
responses:
"200":
description: Returns hash of minimum levels and the privileges they provide.
tags:
- public
operationId: getPublicMemberLevels
"/exchange/public/markets/{market}/tickers":
get:
description: Get ticker of specific market.
parameters:
- in: path
name: market
description: ""
required: true
schema:
type: string
responses:
"200":
description: Get ticker of specific market.
content:
application/json:
schema:
$ref: '#/components/schemas/Ticker'
tags:
- public
operationId: getPublicMarketsMarketTickers
/exchange/public/markets/tickers:
get:
description: Get ticker of all markets.
responses:
"200":
description: Get ticker of all markets.
content:
application/json:
schema:
$ref: '#/components/schemas/Tickers'
tags:
- public
operationId: getPublicMarketsTickers
"/exchange/public/markets/{market}/k-line":
get:
description: Get OHLC(k line) of specific market.
parameters:
- in: path
name: market
description: ""
required: true
schema:
type: string
- in: query
name: period
description: Time period of K line, default to 1. You can choose between 1, 5,
15, 30, 60, 120, 240, 360, 720, 1440, 4320, 10080
required: false
schema:
type: integer
format: int32
enum:
- 1
- 5
- 15
- 30
- 60
- 120
- 240
- 360
- 720
- 1440
- 4320
- 10080
default: 1
- in: query
name: time_from
description: An integer represents the seconds elapsed since Unix epoch. If set,
only k-line data after that time will be returned.
required: false
schema:
type: integer
format: int32
- in: query
name: time_to
description: An integer represents the seconds elapsed since Unix epoch. If set,
only k-line data till that time will be returned.
required: false
schema:
type: integer
format: int32
- in: query
name: limit
description: Limit the number of returned data points default to 30. Ignored if
time_from and time_to are given.
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 10000
default: 30
responses:
"200":
description: Get OHLC(k line) of specific market.
tags:
- public
operationId: getPublicMarketsMarketKLine
"/exchange/public/markets/{market}/depth":
get:
description: Get depth or specified market. Both asks and bids are sorted from
highest price to lowest.
parameters:
- in: path
name: market
description: ""
required: true
schema:
type: string
- in: query
name: limit
description: Limit the number of returned price levels. Default to 300.
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 1000
default: 300
responses:
"200":
description: Get depth or specified market. Both asks and bids are sorted from
highest price to lowest.
tags:
- public
operationId: getPublicMarketsMarketDepth
"/exchange/public/markets/{market}/trades":
get:
description: Get recent trades on market, each trade is included only once. Trades
are sorted in reverse creation.
parameters:
- in: path
name: market
description: ""
required: true
schema:
type: string
- in: query
name: limit
description: Limit the number of returned trades. Default to 100.
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 1000
default: 100
- in: query
name: page
description: Specify the page of paginated results.
required: false
schema:
type: integer
format: int32
default: 1
- in: query
name: timestamp
description: An integer represents the seconds elapsed since Unix epoch. If set,
only trades executed before the time will be returned.
required: false
schema:
type: integer
format: int32
- in: query
name: order_by
description: If set, returned trades will be sorted in specific order, default to
'desc'.
required: false
schema:
$ref: "#/components/schemas/Ordering"
default: desc
responses:
"200":
description: Get recent trades on market, each trade is included only once.
Trades are sorted in reverse creation order.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Trade"
tags:
- public
operationId: getPublicMarketsMarketTrades
"/exchange/public/markets/{market}/order-book":
get:
description: Get the order book of specified market.
parameters:
- in: path
name: market
description: ""
required: true
schema:
type: string
- in: query
name: asks_limit
description: Limit the number of returned sell orders. Default to 20.
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 200
default: 20
- in: query
name: bids_limit
description: Limit the number of returned buy orders. Default to 20.
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 200
default: 20
responses:
"200":
description: Get the order book of specified market.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/OrderBook"
tags:
- public
operationId: getPublicMarketsMarketOrderBook
/exchange/public/markets:
get:
description: Get all available markets.
responses:
"200":
description: Get all available markets.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Market"
tags:
- public
operationId: getPublicMarkets
/exchange/public/currencies:
get:
description: Get list of currencies
parameters:
- in: query
name: type
description: Currency type
required: false
schema:
type: string
enum:
- fiat
- coin
responses:
"200":
description: Get list of currencies
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Currency"
tags:
- public
operationId: getPublicCurrencies
"/exchange/public/currencies/{id}":
get:
description: Get a currency
parameters:
- in: path
name: id
description: Currency code.
required: true
schema:
type: string
responses:
"200":
description: Get a currency
content:
application/json:
schema:
$ref: "#/components/schemas/Currency"
tags:
- public
operationId: getPublicCurrenciesId
"/exchange/account/balances/{currency}":
get:
description: Get user account by currency
parameters:
- in: path
name: currency
description: The currency code.
required: true
schema:
type: string
responses:
"200":
description: Get user account by currency
content:
application/json:
schema:
$ref: "#/components/schemas/Account"
tags:
- account
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getAccountBalancesCurrency
/exchange/account/balances:
get:
description: Get list of user accounts
responses:
"200":
description: Get list of user accounts
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Account"
tags:
- account
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getAccountBalances
"/exchange/account/deposit_address/{currency}":
get:
description: Returns deposit address for account you want to deposit to by currency.
The address may be blank because address generation process is still in
progress. If this case you should try again later.
parameters:
- in: path
name: currency
description: The account you want to deposit to.
required: true
schema:
type: string
- in: query
name: address_format
description: Address format legacy/cash
required: false
schema:
type: string
enum:
- legacy
- cash
responses:
"200":
description: Returns deposit address for account you want to deposit to by
currency. The address may be blank because address generation
process is still in progress. If this case you should try again
later.
content:
application/json:
schema:
$ref: "#/components/schemas/Deposit"
tags:
- account
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getAccountDepositAddressCurrency
"/exchange/account/deposits/{txid}":
get:
description: Get details of specific deposit.
parameters:
- in: path
name: txid
description: Deposit transaction id
required: true
schema:
type: string
responses:
"200":
description: Get details of specific deposit.
content:
application/json:
schema:
$ref: "#/components/schemas/Deposit"
tags:
- account
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getAccountDepositsTxid
/exchange/account/deposits:
get:
description: Get your deposits history.
parameters:
- in: query
name: currency
description: Currency code
required: false
schema:
type: string
- in: query
name: state
description: ""
required: false
schema:
type: string
enum:
- submitted
- canceled
- rejected
- accepted
- collected
- in: query
name: limit
description: Number of deposits per page (defaults to 100, maximum is 100).
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 100
- in: query
name: page
description: Page number (defaults to 1).
required: false
schema:
type: integer
format: int32
default: 1
responses:
"200":
description: Get your deposits history.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Deposit"
tags:
- account
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getAccountDeposit
/exchange/account/withdraws:
get:
description: List your withdraws as paginated collection.
parameters:
- in: query
name: currency
description: Currency code.
required: false
schema:
type: string
- in: query
name: limit
description: Number of withdraws per page (defaults to 100, maximum is 100).
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 100
default: 100
- in: query
name: page
description: Page number (defaults to 1).
required: false
schema:
type: integer
format: int32
default: 1
responses:
"200":
description: List your withdraws as paginated collection.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Withdraw"
tags:
- account
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getAccountWithdraws
/exchange/market/trades:
get:
description: Get your executed trades. Trades are sorted in reverse creation order.
parameters:
- in: query
name: market
description: ""
required: false
schema:
type: string
- in: query
name: limit
description: Limit the number of returned trades. Default to 100.
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 1000
default: 100
- in: query
name: page
description: Specify the page of paginated results.
required: false
schema:
type: integer
format: int32
default: 1
- in: query
name: time_from
description: An integer represents the seconds elapsed since Unix epoch.If set,
only trades executed after the time will be returned.
required: false
schema:
type: integer
format: int32
- in: query
name: time_to
description: An integer represents the seconds elapsed since Unix epoch.If set,
only trades executed before the time will be returned.
required: false
schema:
type: integer
format: int32
- in: query
name: order_by
description: If set, returned trades will be sorted in specific order, default to
'desc'.
required: false
schema:
$ref: "#/components/schemas/Ordering"
default: desc
responses:
"200":
description: Get your executed trades. Trades are sorted in reverse creation
order.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Trade"
tags:
- market
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getMarketTrades
/matching/market/orders/cancel:
post:
description: Cancel many orders.
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CancelOrderRequest"
responses:
"200":
description: Canceled many my orders successfully.
content:
text/plain:
schema:
type: string
tags:
- market
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: postMarketOrdersCancel
"/matching/market/orders/cancel/{uuid}":
post:
description: Cancel an order.
parameters:
- in: path
name: uuid
description: "The Guid of the order to be cancelled"
required: true
schema:
type: string
format: uuid
responses:
"200":
description: Cancel an order.
content:
application/json:
schema:
$ref: "#/components/schemas/CancelOrderResponse"
tags:
- market
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: postMarketOrdersIdCancel
/matching/market/orders:
post:
description: Create a Sell/Buy order.
requestBody:
content:
application/json:
schema:
$ref: "#/components/schemas/CreateOrderRequest"
responses:
"201":
description: Create a Sell/Buy order.
content:
application/json:
schema:
$ref: "#/components/schemas/CreateOrderResponse"
tags:
- market
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: postMarketOrders
/exchange/market/orders:
get:
description: Get your orders, results is paginated.
parameters:
- in: query
name: market
description: ""
required: false
schema:
type: string
- in: query
name: state
description: Filter order by state.
required: false
schema:
$ref: "#/components/schemas/OrderState"
- in: query
name: limit
description: Limit the number of returned orders, default to 100.
required: false
schema:
type: integer
format: int32
minimum: 0
maximum: 1000
default: 100
- in: query
name: page
description: Specify the page of paginated results.
required: false
schema:
type: integer
format: int32
default: 1
- in: query
name: order_by
description: If set, returned orders will be sorted in specific order, default to
"desc".
required: false
schema:
$ref: "#/components/schemas/Ordering"
default: desc
- in: query
name: ord_type
description: Filter order by ord_type.
required: false
schema:
type: string
enum:
- market
- limit
- in: query
name: type
description: Filter order by type.
required: false
schema:
type: string
enum:
- buy
- sell
responses:
"200":
description: Get your orders, results is paginated.
content:
application/json:
schema:
type: array
items:
$ref: "#/components/schemas/Order"
tags:
- market
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getMarketOrders
"/exchange/market/orders/{id}":
get:
description: Get information of specified order.
parameters:
- in: path
name: id
description: ""
required: true
schema:
type: integer
format: int32
responses:
"200":
description: Get information of specified order.
content:
application/json:
schema:
$ref: "#/components/schemas/Order"
tags:
- market
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getMarketOrdersId
/permissions/resource/api_keys:
get:
description: List all api keys for current account.
parameters:
- in: query
name: page
description: Page number (defaults to 1).
required: false
schema:
type: integer
format: int32
default: 1
- in: query
name: limit
description: Number of api keys per page (defaults to 100, maximum is 1000).
required: false
schema:
type: integer
format: int32
default: 100
responses:
"200":
description: List all api keys for current account.
"400":
description: Require 2FA and totp code
"401":
description: Invalid bearer token
tags:
- resource
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getResourceApiKeys
"/permissions/resource/users/activity/{topic}":
get:
description: Returns user activity
parameters:
- in: query
name: page
description: Page number (defaults to 1).
required: false
schema:
type: integer
format: int32
default: 1
- in: query
name: limit
description: Number of activity per page (defaults to 100, maximum is 1000).
required: false
schema:
type: integer
format: int32
default: 100
- in: path
name: topic
description: "Topic of user activity. Allowed: [all, password, session, otp]"
required: true
schema:
type: string
responses:
"200":
description: Returns user activity
tags:
- resource
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getResourceUsersActivityTopic
/permissions/resource/users/me:
get:
description: Returns current user
responses:
"200":
description: Returns current user
content:
application/json:
schema:
$ref: "#/components/schemas/User"
tags:
- resource
security:
- ApiKey: []
- ApiKeyNonce: []
- ApiKeySignature: []
- BearerToken: []
operationId: getResourceUsersMe
components:
securitySchemes:
ApiKey:
type: apiKey
in: header
name: X-Auth-Apikey
ApiKeyNonce:
type: apiKey
in: header
name: X-Auth-Nonce
ApiKeySignature:
type: apiKey
in: header
name: X-Auth-Signature
schemas:
Currency:
type: object
properties:
name:
type: string
example: Bitcoin
description: Currency name
symbol:
type: string
example: ฿
description: Currency symbol
explorer_transaction:
type: string
example: https://testnet.blockchain.info/tx/
description: Currency transaction exprorer url template
explorer_address:
type: string
example: https://testnet.blockchain.info/address/
description: Currency address exprorer url template
type:
type: string
example: coin
description: Currency type
deposit_enabled:
type: boolean
description: Currency deposit possibility status (true/false).
withdrawal_enabled:
type: boolean
description: Currency withdrawal possibility status (true/false).
deposit_fee:
type: number
format: double
example: "0.0"
description: Currency deposit fee
min_deposit_amount:
type: number
format: double
example: "0.0000356"
description: Minimal deposit amount
withdraw_fee:
type: number
format: double
example: "0.0"
description: Currency withdraw fee
min_withdraw_amount:
type: number
format: double
example: "0.0"
description: Minimal withdraw amount
withdraw_limit_24h:
type: string
example: "0.1"
description: Currency 24h withdraw limit
withdraw_limit_72h:
type: number
format: double
example: "0.2"
description: Currency 72h withdraw limit
base_factor:
type: integer
format: int64
description: Currency base factor.
precision:
type: integer
format: int32
description: Currency precision.
position:
type: integer
format: int32
description: Currency position.
icon_url:
type: string
example: https://upload.wikimedia.org/wikipedia/commons/0/05/Ethereum_logo_2014.svg
description: Currency icon
min_confirmations:
type: integer
format: int32
description: Number of confirmations required for confirming deposit or withdrawal
code:
type: string
description: Unique currency code.
blockchain_key:
type: string
description: Associated blockchain key which will perform transactions
synchronization for currency.
min_collection_amount:
type: number
format: double
description: Minimal collection amount.
visible:
type: boolean
description: Currency display status (true/false).
subunits:
type: integer
format: int32
description: Fraction of the basic monetary unit.
options:
$ref: '#/components/schemas/CurrencyOptions'
created_at:
type: string
format: date-time
description: Currency created time in iso8601 format.
updated_at:
type: string
format: date-time
description: Currency updated time in iso8601 format.
description: Get list of currencies
CurrencyOptions:
type: object
properties:
gas_price:
type: integer
format: int64
description: Price of gas to be paid for the transaction, in wei
erc20_contract_address:
type: string
description: For erc20 tokens, the address of the contract defining the token
gas_limit:
type: integer
format: int64
description: Maximum amount of gas to be spent for a transaction
description: Currency options.
Ordering:
description: If set, returned values will be sorted in specific order
type: string
enum:
- asc
- desc
TradeType:
type: string
enum:
- created
- updated
- completed
DateRangePicker:
description: Date range picker, defaults to 'created'.
type: string
enum:
- created
- updated
- completed
default: created
Operation:
type: object
properties:
id:
type: integer
nullable: true
format: int32
description: Unique operation identifier in database.
code:
type: string
description: The Account code which this operation related to.
currency:
type: string
description: Operation currency ID.
credit:
type: string
description: Operation credit amount.
debit:
type: string
description: Operation debit amount.
uid:
type: string
description: The shared user ID.
account_kind:
type: string
description: Operation's account kind (locked or main).
rid:
type: string
description: The id of operation reference.
reference_type:
type: string
description: The type of operations.
created_at:
nullable: true
format: date-time
type: string
description: The datetime when operation was created.
description: Returns liabilities as a paginated collection.
OrderBook:
type: object
properties:
asks:
type: array
items:
$ref: "#/components/schemas/Order"
description: Asks in orderbook
bids:
type: array
items:
$ref: "#/components/schemas/Order"
description: Bids in orderbook
description: Get the order book of specified market.
Side:
description: Side of an order or trade, either buy or sell
type: string
enum:
- buy
- sell
CreateOrderRequest:
type: object
properties:
market:
type: string
side:
$ref: "#/components/schemas/Side"
amount:
type: number
format: double
type:
type: string
enum:
- market
- limit
default: limit
price:
type: number
format: double
required:
- market
- side
- amount
- price
CancelOrderRequest:
type: object
properties:
market:
type: string
side:
$ref: "#/components/schemas/Side"
required:
- market
CancelOrderResponse:
type: object
properties:
uuid:
type: string
format: uuid
member_uid:
type: string
OrderState:
description: One of 'wait', 'done', or 'cancel'. An order in 'wait' is an active
order, waiting fulfillment; a 'done' order is an order
fulfilled; 'cancel' means the order has been canceled.
type: string
enum:
- pending
- wait
- done
- cancel
- reject
CreateOrderResponse:
#same as Order object but with dates as integer...
type: object
required:
- uuid
- side
- price
- market
- state
- origin_volume
- remaining_volume
- executed_volume
- trades_count
properties:
id:
type: integer
format: int32
description: Unique order id.
uuid:
type: string
format: uuid
description: Unique order UUID.
side:
$ref: "#/components/schemas/Side"
#version 3 returns ord_type, version 2.6 returns type
ord_type:
type: string
description: Type of order, either 'limit' or 'market'.
type:
type: string
description: Type of order, either 'limit' or 'market'.
price:
type: number
format: double
description: Price for each unit. e.g.If you want to sell/buy 1 btc at 3000 usd,
the price is '3000.0'
avg_price:
type: number
format: double
description: Average execution price, average of price in trades.
state:
$ref: "#/components/schemas/OrderState"
market:
type: string
description: The market in which the order is placed, e.g. 'btcusd'.All available
markets can be found at /api/v2/markets.
created_at:
format: date-time
type: number
description: Order create time in iso8601 format.
updated_at:
format: date-time
type: number
description: Order updated time in iso8601 format.
origin_volume:
type: number
format: double
description: The amount user want to sell/buy.An order could be partially
executed,e.g. an order sell 5 btc can be matched with a buy 3 btc
order,left 2 btc to be sold; in this case the order's volume would
be '5.0',its remaining_volume would be '2.0', its executed volume is
'3.0'.
remaining_volume:
type: number
format: double
description: The remaining volume, see 'volume'.
executed_volume:
type: number
format: double
description: The executed volume, see 'volume'.
trades_count:
type: integer
format: int32
description: Count of trades.
email:
type: string
description: The shared user email.
uid:
type: string
description: The shared user ID.
description: Get all orders, result is paginated.
Order:
type: object
required:
- uuid
- side
- ord_type
- price
- market
- state
- origin_volume
- remaining_volume
- executed_volume
- trades_count
properties:
id:
type: integer
format: int32
description: Unique order id.
uuid:
type: string
format: uuid
description: Unique order UUID.
side:
$ref: "#/components/schemas/Side"
ord_type:
type: string
description: Type of order, either 'limit' or 'market'.
price:
type: number
format: double
description: Price for each unit. e.g.If you want to sell/buy 1 btc at 3000 usd,
the price is '3000.0'
avg_price:
type: number
format: double
description: Average execution price, average of price in trades.
state:
$ref: "#/components/schemas/OrderState"
market:
type: string
description: The market in which the order is placed, e.g. 'btcusd'.All available
markets can be found at /api/v2/markets.
created_at:
format: date-time
type: string
description: Order create time in iso8601 format.
updated_at:
format: date-time
type: string
description: Order updated time in iso8601 format.
origin_volume:
type: number
format: double
description: The amount user want to sell/buy.An order could be partially
executed,e.g. an order sell 5 btc can be matched with a buy 3 btc
order,left 2 btc to be sold; in this case the order's volume would
be '5.0',its remaining_volume would be '2.0', its executed volume is
'3.0'.
remaining_volume:
type: number
format: double
description: The remaining volume, see 'volume'.
executed_volume:
type: number
format: double
description: The executed volume, see 'volume'.
trades_count:
type: integer
format: int32
description: Count of trades.
email:
type: string
description: The shared user email.
uid:
type: string
description: The shared user ID.
description: Get all orders, result is paginated.
Market:
type: object
properties:
id:
type: string
description: Unique market id. It's always in the form of xxxyyy, where xxx is the
base currency code, yyy is the quote currency code, e.g. 'btcusd'.
All available markets canbe found at /api/v2/markets.
name:
type: string
description: Market name.
base_unit:
type: string
description: Market Base unit.
quote_unit:
type: string
description: Market Quote unit.
min_price:
type: number
format: double
description: Minimum order price.
max_price:
type: number
format: double
description: Maximum order price.
min_amount:
type: number
format: double
description: Minimum order amount.
amount_precision:
type: number
format: double
description: Precision for order amount.
price_precision:
type: number
format: double
description: Precision for order price.
state:
type: string
description: Market state defines if user can see/trade on current market.
position:
type: integer
format: int32
description: Market position.
engine_name:
description: Name of the matching engine
type: string
engined_id:
description: Id of hte matching engine
type: integer
format: int32
data:
type: object
description: Market additional data.
created_at:
format: date-time
type: string
description: Market created time in iso8601 format.
updated_at:
format: date-time
type: string
description: Market updated time in iso8601 format.
description: Get all markets, result is paginated.
Wallet:
type: object
properties:
id:
type: integer
format: int32
description: Unique wallet identifier in database.
name:
type: string
description: Wallet name.
kind:
type: string
description: Kind of wallet 'deposit','fee','hot','warm' or 'cold'.
currency:
type: string
description: Wallet currency code.
address:
type: string
description: Wallet address.
gateway:
type: string
description: Wallet gateway.
max_balance:
type: number
format: double
description: Wallet max balance.
blockchain_key:
type: string
description: Wallet blockchain key.
status:
$ref: "#/components/schemas/ActiveState"
settings:
type: string
description: Wallet settings.
created_at:
type: string
format: date-time
description: Wallet created time in iso8601 format.
updated_at:
type: string
format: date-time
description: Wallet updated time in iso8601 format.
description: Get all wallets, result is paginated.
Deposit:
type: object
properties:
id:
type: integer
format: int32
description: Unique deposit id.
currency:
type: string
description: Deposit currency id.
amount:
type: number
format: double
description: Deposit amount.
fee:
type: number
format: double
description: Deposit fee.
txid:
type: string
description: Deposit transaction id.
state:
type: string
description: Deposit state.
created_at:
type: string
format: date-time
description: The datetime when deposit was created.
completed_at:
type: string
nullable: true
format: date-time
description: The datetime when deposit was completed.
tid:
type: string
description: Deposit tid.
member:
type: string
description: The member id.
uid:
type: string
description: Deposit member uid.
email:
type: string
description: The deposit member email.
address:
type: string
description: Deposit blockchain address.
txout:
type: integer
format: int32
description: Deposit blockchain transaction output.
block_number:
type: integer
format: int32
description: Deposit blockchain block number.
type:
type: string
description: Deposit type (fiat or coin).
spread:
type: array
items:
$ref: "#/components/schemas/Account"
description: Deposit collection spread.
updated_at:
type: string
format: date-time
description: The datetime when deposit was updated.
description: Get all deposits, result is paginated.
Spread:
type: object
properties:
to_address:
type: string
amount:
type: number
format: double
currency_id:
type: string
status:
type: string
hash:
type: string
options:
type : object
properties:
gas_limit:
type: number
gas_price:
type: number
Withdraw:
type: object
properties:
id:
type: integer
format: int32
description: The withdrawal id.
currency:
type: string
description: The currency code.
type:
type: string
description: The withdrawal type
sum:
type: number
format: double
description: The withdrawal sum.
fee:
type: number
format: double
description: The exchange fee.
blockchain_txid:
nullable: true
type: string
description: The withdrawal transaction id.
rid:
type: string
description: The beneficiary ID or wallet address on the Blockchain.
state:
type: string
description: The withdrawal state.
note:
type: string
description: Withdraw note.
nullable: true
created_at:
type: string
format: date-time
description: The datetime for the withdrawal.
updated_at:
type: string
format: date-time
description: The datetime for the withdrawal.
completed_at:
type: string
format: date-time
description: The datetime when withdraw was completed.
member:
type: string
description: The member id.
beneficiary:
$ref: "#/components/schemas/Beneficiary"
uid:
type: string
description: The withdrawal member uid.
email:
type: string
description: The withdrawal member email.
account:
description: The account code.
type: array
items:
oneOf:
- type: string
- type: integer
block_number:
nullable: true
type: integer
format: int32
description: The withdrawal block_number.
amount:
type: number
format: double
description: The withdrawal amount.
tid:
nullable: true
type: string
description: Withdraw tid.
description: Get all withdraws, result is paginated.
Beneficiary:
type: object
properties:
id:
type: integer
format: int32
description: Beneficiary Identifier in Database
currency:
type: string
description: Beneficiary currency code.
name:
type: string
description: Human rememberable name which refer beneficiary.
description:
nullable: true
type: string
description: Human rememberable description of beneficiary.
data:
type: object
description: Bank Account details for fiat Beneficiary in JSON format.For crypto
it's blockchain address.
properties:
address:
type: string
nullable: true
state:
$ref: "#/components/schemas/BeneficiaryState"
BeneficiaryState:
description: Current activation state of the beneficiary
type: string
enum:
- active
- pending
- archived
- disabled
Trade:
type: object
properties:
id:
type: string
description: Trade ID.
price:
type: number
format: double
description: Trade price.
amount:
type: number
format: double
description: Trade amount.
total:
type: number
format: double
description: Trade total (Amount * Price).
market:
type: string
description: Trade market id.
created_at:
type: string
format: date-time
description: Trade create time in iso8601 format.
taker_type:
type: string
description: Trade taker order type (sell or buy).
maker_order_email:
type: string
description: Trade maker member email.
maker_uid:
type: string
description: Trade maker member uid.
maker_fee:
type: number
format: double
description: Trade maker fee percentage.
maker_fee_amount:
type: number
format: double
description: Trade maker fee amount.
maker_fee_currency:
type: string
description: Trade maker fee currency code.
maker_order:
$ref: "#/components/schemas/Order"
taker_order_email:
type: string
description: Trade taker member email.
taker_uid:
type: string
description: Trade taker member uid.
taker_fee_currency:
type: string
description: Trade taker fee currency code.
taker_fee:
type: number
format: double
description: Trade taker fee percentage.
taker_fee_amount:
type: number
format: double
description: Trade taker fee amount.
taker_order:
$ref: "#/components/schemas/Order"
description: Get all trades, result is paginated.
Member:
type: object
properties:
uid:
type: string
description: Member UID.
email:
type: string
description: Member email.
accounts:
type: array
items:
$ref: "#/components/schemas/Account"
description: Member accounts.
id:
type: integer
format: int32
description: Unique member identifier in database.
level:
type: integer
format: int32
description: Member's level.
role:
type: string
description: Member's role.
group:
type: string
description: Member's group.
state:
type: string
description: Member's state.
created_at:
type: string
format: date-time
description: Member created time in iso8601 format.
updated_at:
type: string
format: date-time
description: Member updated time in iso8601 format.
beneficiaries:
type: array
items:
$ref: "#/components/schemas/Beneficiary"
description: List of beneficiaries linked to the member.
deposit_addresses:
type: array
items:
$ref: "#/components/schemas/DepositAddress"
description: Get all members, result is paginated.
DepositAddress:
type: object
description: Describes the deposit address of a member of the exchange.
properties:
currencies:
type: array
items:
type: string
description: Codes of the currencies supported by the wallet.
address:
type: string
nullable: true
description: Identifier of the address on the corresponding blockchain.
state:
$ref: "#/components/schemas/ActiveWithPendingState"
ActiveState:
description: Enum describing the activity state of a given object.
type: string
enum: [active, disabled]
default: active
ActiveWithPendingState:
description: Enum describing the validation state of a given object.
type: string
enum: [ active, pending, disabled ]
Account:
type: object
properties:
currency:
type: string
description: Currency code.
balance:
type: number
format: double
description: Account balance.
locked:
type: number
format: double
description: Account locked funds.
TradingFee:
type: object
properties:
id:
type: integer
format: int32
description: Unique trading fee table identifier in database.
group:
type: string
description: Member group for define maker/taker fee.
market_id:
type: string
description: Market id for define maker/taker fee.
maker:
type: number
format: double
description: Market maker fee.
taker:
type: number
format: double
description: Market taker fee.
created_at:
type: string
format: date-time
description: Trading fee table created time in iso8601 format.
updated_at:
type: string
description: Trading fee table updated time in iso8601 format.
description: Returns trading_fees table as paginated collection
Level:
type: object
properties:
id:
type: integer
format: int32
description: Level identifier, level number
key:
type: string
description: Label key. [A-Za-z0-9_-] should be used. Min - 3, max - 255
characters.
value:
type: string
description: Label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255
characters.
Label:
type: object
properties:
key:
type: string
description: Label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters.
value:
type: string
description: Label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255
characters.
scope:
type: string
description: "Label scope: 'public' or 'private'"
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
APIKey:
type: object
properties:
kid:
type: string
description: jwt public key
algorithm:
type: string
description: cryptographic hash function type
scope:
type: array
nullable: true
items:
type: string
description: serialized array of scopes
state:
$ref: "#/components/schemas/ActiveState"
secret:
type: string
nullable: true
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Profile:
type: object
properties:
uid:
type: string
nullable: true
first_name:
type: string
nullable: true
last_name:
type: string
nullable: true
dob:
type: string
format: date
description: Birthday date
nullable: true
address:
type: string
nullable: true
postcode:
type: string
nullable: true
city:
type: string
nullable: true
country:
type: string
nullable: true
state:
type: string
nullable: true
metadata:
nullable: true
type: object
description: Profile additional fields
created_at:
nullable: true
type: string
format: date-time
updated_at:
nullable: true
type: string
format: date-time
confirm:
nullable: true
type: boolean
User:
type: object
properties:
email:
type: string
uid:
type: string
role:
type: string
level:
type: integer
format: int32
otp:
type: boolean
description: is 2FA enabled for account
state:
type: string
referral_uid:
nullable: true
type: string
description: UID of referrer
data:
nullable: true
type: string
description: additional phone and profile info
UserWithProfile:
type: object
properties:
email:
type: string
uid:
type: string
role:
type: string
level:
type: integer
format: int32
otp:
type: boolean
description: is 2FA enabled for account
state:
type: string
data:
nullable: true
type: string
description: additional phone and profile info
profile:
$ref: "#/components/schemas/Profile"
referral_uid:
nullable: true
type: string
description: UID of referrer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
Activity:
type: object
properties:
user_ip:
type: string
user_agent:
type: string
topic:
type: string
action:
type: string
result:
type: string
data:
type: string
created_at:
type: string
format: date-time
Tickers:
type: object
description: Tickers indexed by market id
additionalProperties:
$ref: '#/components/schemas/Ticker'
Ticker:
type: object
properties:
at:
type: integer
format: int32
ticker:
type: object
properties:
buy:
type: string
sell:
type: string
low:
type: string
high:
type: string
open:
type: number
last:
type: string
volume:
type: string
vol:
type: string
avg_price:
type: string
price_change_percent:
type: string
LabelFilter:
type: object
properties:
uid:
description: user uniq id
type: string
nullable: true
key:
description: Label key.
type: string
nullable: true
scope:
description: label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters.
type: string
nullable: true
value:
description: Label value.
type: string
nullable: true
replace:
description: When true label will be created if not exist
type: boolean
default: true
nullable: true