Bitcoin Suisse API (1.3.0)

Download OpenAPI specification:Download

The Bitcoin Suisse API allows customers of Bitcoin Suisse to automate activities like trading, custody, staking and reporting using their own tools.

Have a look at the Developer Portal to find out how to get an API key and how authentication works.

Customers

List Customers

Get all customers that can be accessed by your API key

Securityapi-key and nonce and timestamp and version and signature
Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

get/auth/api/v1/Customers
Request samples
Response samples
application/json
[
  • {
    }
]

Accounts

Get Account

Get a single account by its account ID

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
accountId
required
integer <int64>
header Parameters
customer-number
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

404

Not Found

500

Internal Server Error

get/custody/v1/Accounts/{accountId}
Request samples
Response samples
application/json
{
  • "id": 0,
  • "assetSymbol": "string",
  • "state": "Unknown",
  • "type": "Unknown",
  • "subType": "Unknown",
  • "flags": [
    ],
  • "balance": 0,
  • "available": 0,
  • "reserved": 0,
  • "disposable": 0,
  • "creditLine": 0,
  • "name": "string"
}

List Accounts

List all accounts of the customer selected using the customer-number header

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

500

Internal Server Error

get/custody/v1/Accounts
Request samples
Response samples
application/json
[
  • {
    }
]

Get Onchain Information For Account

Get onchain information for a single account by its account ID

Note: the blockchain addresses provided in the API response are for informational purposes only. Do not deposit directly to them. For making deposits, please use the deposit instructions provided through your Bitcoin Suisse Online Account

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
accountId
required
integer <int64>
header Parameters
customer-number
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

404

Not Found

500

Internal Server Error

get/custody/v1/Accounts/OnchainInfo/{accountId}
Request samples
Response samples
application/json
{
  • "accountId": 0,
  • "assetSymbol": "string",
  • "balance": 0,
  • "onchainInfo": [
    ]
}

List Onchain Information

List all onchain information associated with the accounts of the customer selected using the customer-number header

Note: the blockchain addresses provided in the API response are for informational purposes only. Do not deposit directly to them. For making deposits, please use the deposit instructions provided through your Bitcoin Suisse Online Account

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

500

Internal Server Error

get/custody/v1/Accounts/OnchainInfo
Request samples
Response samples
application/json
[
  • {
    }
]

HistoricalPortfolioValue

Get Historical Portfolio Value

Get the total portfolio value for a customer over a specified time range

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
from
required
string <date>
to
string <date>
referenceAssetSymbol
required
string (ReferenceAssetSymbol)
Enum: "CHF" "USD" "EUR" "GBP" "DKK" "BTC" "ETH"
header Parameters
customer-number
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

500

Internal Server Error

get/custody/v1/HistoricalPortfolioValue
Request samples
Response samples
application/json
{
  • "referenceAssetSymbol": "CHF",
  • "portfolioValues": [
    ]
}

Trading Accounts

List Accounts

Get (trading) account information including metadata, balances and reservations

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
onlyTradingAccounts
boolean
Default: false

true: Get only trading accounts, false: Get all accounts

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

get/trading/api/v3/Accounts
Request samples
Response samples
application/json
[
  • {
    }
]

Trading Configuration

Get Configuration

Get the trading status data

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

401

Unauthorized

500

Server Error

get/trading/api/v3/Configuration
Request samples
Response samples
application/json
{
  • "isTradingEnabled": true,
  • "limitOrderMaxPriceDeviationPct": 0
}

Trading Instruments

List Instruments

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
symbols
Array of strings

Symbols to include, example: 'BTC/CHF'

baseCurrencies
Array of strings

Include instruments with certain base currencies, example: 'BTC'

quoteCurrencies
Array of strings

Include instruments with certain quote currencies, example: 'BTC'

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

401

Unauthorized

500

Server Error

get/trading/api/v3/Instruments
Request samples
Response samples
application/json
[
  • {
    }
]

Market Data

Get Market Data

Get top of book market data

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
symbols
Array of strings

Symbols to get market data for, example: 'BTC/CHF'

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

401

Unauthorized

500

Server Error

get/trading/api/v3/MarketData
Request samples
Response samples
application/json
{
  • "marketDataList": [
    ]
}

Get Historic Market Data

Get market data for a point in time in the past

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
symbols
required
Array of strings

Symbols to get market data for, example: 'BTC/CHF'

timestamp
required
string <date-time>

The timestamp to get the market data for, must in the past but not before 2020

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad request

401

Unauthorized

500

Server Error

get/trading/api/v3/MarketData/HistoricMarketData
Request samples
Response samples
application/json
{
  • "timestamp": "2019-08-24T14:15:22Z",
  • "entries": [
    ]
}

Trading Orders

Place Order

Place a new order, this endpoint is used for all supported order types

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
symbol
required
string non-empty

The instrument symbol, example: 'BTC/CHF'

currency
required
string non-empty

The currency to trade, example: 'BTC'

transactionTime
required
string <date-time>

Current timestamp (UTC), if the timestamp is too old when the request reaches the server, the order is rejected

orderType
required
string
Enum: "Market" "Limit" "Stop" "PreviouslyQuoted"
timeInForce
required
string
Enum: "GoodTillCancel" "FillOrKill"
fromAccount
required
integer <int64>

The account id to be debited

clientOrderId
string or null

A custom id for this order, can be used to get or cancel the order after creation. Must be unique for each order.

quoteId
integer <int64>

Provide a quote id to execute a quote that was created using the quote request endpoint, required for OrderType 'PreviouslyQuoted'

side
required
string

The direction of the trade, related to the Symbol

Enum: "Buy" "Sell"
quantity
required
number <decimal>

The amount to trade in the provided Currency

limitPrice
number <decimal>

Required for OrderType 'Limit'

stopPrice
number <decimal>

Required for OrderType 'Stop'

expireTime
string <date-time>

The timestamp when the order is automatically cancelled (UTC), only applicable for TimeInForce 'GoodTillCancel'

toAccount
integer <int64>

The account where the proceeds of the trade will be booked to, automatically determined if not provided

isCommissionIncluded
boolean

Set to 'true' to deduct the trading fees from the Quantity, otherwise the fees are added on top

targetStrategy
string

Required for OrderType 'Market' and TimeInForce 'GoodTillCancel'

Enum: "None" "Smart"
Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

503

Service Unavailable

post/trading/api/v3/Orders
Request samples
{
  • "symbol": "string",
  • "currency": "string",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "orderType": "Market",
  • "timeInForce": "GoodTillCancel",
  • "fromAccount": 0,
  • "clientOrderId": "string",
  • "quoteId": 0,
  • "side": "Buy",
  • "quantity": 0,
  • "limitPrice": 0,
  • "stopPrice": 0,
  • "expireTime": "2019-08-24T14:15:22Z",
  • "toAccount": 0,
  • "isCommissionIncluded": true,
  • "targetStrategy": "None"
}
Response samples
application/json
{
  • "account": 0,
  • "clientOrderId": "string",
  • "orderId": 0,
  • "quoteId": 0,
  • "side": "Unknown",
  • "orderType": "Unknown",
  • "symbol": "string",
  • "currency": "string",
  • "quantity": 0,
  • "price": 0,
  • "stopPrice": 0,
  • "timeInForce": "Unknown",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "expireTime": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "toAccount": 0,
  • "executionId": "string",
  • "executionType": "Unknown",
  • "indicativePrice": 0,
  • "status": "Unknown",
  • "lastPrice": 0,
  • "lastQuantity": 0,
  • "cumulativeQuantity": 0,
  • "leavesQuantity": 0,
  • "rejectionCode": 0,
  • "text": "string",
  • "availableToTrade": 0,
  • "commissionCurrency": "string",
  • "commission": 0,
  • "settlementDate": "2019-08-24T14:15:22Z",
  • "venueId": 0,
  • "tenor": "Unknown",
  • "prosecoFuseco": true,
  • "isTwap": true,
  • "isCommissionIncluded": true,
  • "legPrice": 0,
  • "legSymbol": "string",
  • "settlementAmount": 0,
  • "fromAmount": 0,
  • "toAmount": 0,
  • "isSettled": true,
  • "appliedCommissionPct": 0,
  • "targetStrategy": "None",
  • "durationUnit": "Unknown",
  • "duration": 0,
  • "pegOffsetType": "None",
  • "pegOffsetValue": 0,
  • "effectiveTime": "2019-08-24T14:15:22Z",
  • "parentClientOrderId": 0,
  • "legs": [
    ]
}

List Orders

Get status of all orders, can be filtered using optional query params

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
scope
string

Filter for all or only open orders

Enum: "All" "Open"
account
string

Filter by account id

orderTypes
Array of strings (TradeOrderType)

Filter by order type(s)

Items Enum: "Market" "Limit" "Stop" "PreviouslyQuoted"
status
Array of strings (OrderStatus)

Filter by order status

Items Enum: "Unknown" "New" "PartiallyFilled" "Filled" "Cancelled" "PendingCancel" "Rejected" "PendingNew" "Expired" "Draft" "Error" "Submitted" "Void" "Cancelling" "CancelError"
symbols
Array of strings

Filter by symbols, example: 'BTC/CHF'

side
string

Filter by side

Enum: "Unknown" "Buy" "Sell"
transactionTimeMin
string <date-time>

Filter by min transaction time

transactionTimeMax
string <date-time>

Filter by max transaction time

timeInForce
string

Filter by time in force

Enum: "Unknown" "GoodTillCancel" "ImmediateOrCancel" "FillOrKill" "GoodTilDate"
expiresTimeMin
string <date-time>

Filter by min expiration time

expiresTimeMax
string <date-time>

Filter by max expiration time

page
integer <int32>
Default: 1

Pagination: Page

pageSize
integer <int32>
Default: 50

Pagination: Page size

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

get/trading/api/v3/Orders
Request samples
Response samples
application/json
{
  • "content": [
    ],
  • "count": 0
}

Cancel Order

Besides the required properties, either an orderId or a clientOrderId must be provided to cancel an order

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
account
required
integer <int64>

The account id of the traded currency of the order to cancel

clientOrderId
string or null

The custom defined client order id

orderId
integer <int64>

The Bitcoin Suisse order id

cancelRequestId
string or null

A custom id for this request, can be used for tracing purposes in case of rejection

transactionTime
required
string <date-time>

Current timestamp (UTC), if the timestamp is too old when the request reaches the server, it is rejected

Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

delete/trading/api/v3/Orders
Request samples
{
  • "account": 0,
  • "clientOrderId": "string",
  • "orderId": 0,
  • "cancelRequestId": "string",
  • "transactionTime": "2019-08-24T14:15:22Z"
}
Response samples
application/json
{
  • "account": 0,
  • "clientOrderId": "string",
  • "orderId": 0,
  • "quoteId": 0,
  • "side": "Unknown",
  • "orderType": "Unknown",
  • "symbol": "string",
  • "currency": "string",
  • "quantity": 0,
  • "price": 0,
  • "stopPrice": 0,
  • "timeInForce": "Unknown",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "expireTime": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "toAccount": 0,
  • "executionId": "string",
  • "executionType": "Unknown",
  • "indicativePrice": 0,
  • "status": "Unknown",
  • "lastPrice": 0,
  • "lastQuantity": 0,
  • "cumulativeQuantity": 0,
  • "leavesQuantity": 0,
  • "rejectionCode": 0,
  • "text": "string",
  • "availableToTrade": 0,
  • "commissionCurrency": "string",
  • "commission": 0,
  • "settlementDate": "2019-08-24T14:15:22Z",
  • "venueId": 0,
  • "tenor": "Unknown",
  • "prosecoFuseco": true,
  • "isTwap": true,
  • "isCommissionIncluded": true,
  • "legPrice": 0,
  • "legSymbol": "string",
  • "settlementAmount": 0,
  • "fromAmount": 0,
  • "toAmount": 0,
  • "isSettled": true,
  • "appliedCommissionPct": 0,
  • "targetStrategy": "None",
  • "durationUnit": "Unknown",
  • "duration": 0,
  • "pegOffsetType": "None",
  • "pegOffsetValue": 0,
  • "effectiveTime": "2019-08-24T14:15:22Z",
  • "parentClientOrderId": 0,
  • "legs": [
    ]
}

Get Order

Provide either an orderId or a clientOrderId to get details about the order

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
id
required
string

The Bitcoin Suisse order id (unsigned long integer) or customer's clientOrderId

query Parameters
isClientOrderId
boolean
Default: false

Flag, true if id is clientOrderId

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server error

get/trading/api/v3/Orders/{id}
Request samples
Response samples
application/json
{
  • "account": 0,
  • "clientOrderId": "string",
  • "orderId": 0,
  • "quoteId": 0,
  • "side": "Unknown",
  • "orderType": "Unknown",
  • "symbol": "string",
  • "currency": "string",
  • "quantity": 0,
  • "price": 0,
  • "stopPrice": 0,
  • "timeInForce": "Unknown",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "expireTime": "2019-08-24T14:15:22Z",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "toAccount": 0,
  • "executionId": "string",
  • "executionType": "Unknown",
  • "indicativePrice": 0,
  • "status": "Unknown",
  • "lastPrice": 0,
  • "lastQuantity": 0,
  • "cumulativeQuantity": 0,
  • "leavesQuantity": 0,
  • "rejectionCode": 0,
  • "text": "string",
  • "availableToTrade": 0,
  • "commissionCurrency": "string",
  • "commission": 0,
  • "settlementDate": "2019-08-24T14:15:22Z",
  • "venueId": 0,
  • "tenor": "Unknown",
  • "prosecoFuseco": true,
  • "isTwap": true,
  • "isCommissionIncluded": true,
  • "legPrice": 0,
  • "legSymbol": "string",
  • "settlementAmount": 0,
  • "fromAmount": 0,
  • "toAmount": 0,
  • "isSettled": true,
  • "appliedCommissionPct": 0,
  • "targetStrategy": "None",
  • "durationUnit": "Unknown",
  • "duration": 0,
  • "pegOffsetType": "None",
  • "pegOffsetValue": 0,
  • "effectiveTime": "2019-08-24T14:15:22Z",
  • "parentClientOrderId": 0,
  • "legs": [
    ]
}

Request For Quote

Create a quote that is valid for a short amount of time

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
account
required
integer <int64>

The account id of the traded currency

quoteRequestId
required
string non-empty
symbol
required
string non-empty

The instrument symbol, example: 'BTC/CHF'

currency
required
string non-empty

The currency to trade, example: 'BTC'

quantity
required
number <decimal>

The amount to trade in the provided Currency

side
string or null

The direction of the trade, related to the Symbol

Enum: "Buy" "Sell"
isCommissionIncluded
required
boolean

Set to true if the fee should already be deducted from the quoted amount, otherwise added on top

Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

503

Service Unavailable

post/trading/api/v3/Orders/QuoteRequest
Request samples
{
  • "account": 0,
  • "quoteRequestId": "string",
  • "symbol": "string",
  • "currency": "string",
  • "quantity": 0,
  • "side": "Buy",
  • "isCommissionIncluded": true
}
Response samples
application/json
{
  • "messageType": "Unknown",
  • "quoteRequestId": "string",
  • "quoteId": 0,
  • "expireTime": "2019-08-24T14:15:22Z",
  • "symbol": "string",
  • "currency": "string",
  • "quantity": 0,
  • "bidPrice": 0,
  • "askPrice": 0,
  • "commission": 0,
  • "commissionCurrency": "string",
  • "transactionTime": "2019-08-24T14:15:22Z",
  • "fromAmount": 0,
  • "toAmount": 0,
  • "settlementAmount": 0
}

Public

Lists performance data

Lists staking performance data from StakingRewards.com along with our own validator's performance. This endpoint requires no Authentication.

SecurityNone
Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

get/staking/v4/stakingRewardData
Request samples
Response samples
application/json
[
  • {
    }
]

Staking Orders

Create Staking Order

In the current version, it is not supported to make updates to an order and ID exists only to make the functionality idempotent.

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
id
required
string <uuid>

Unique identifier.

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
fromAccountNumber
string

Account that is debited.

toAccountNumber
string or null

Account that is credited.

productId
string or null <uuid>

Id of product to stake for. Required if ToAccountNumber is null. If ToAccountNumber is set, it uses the product of the staking account

  • in that case ProductId cannot be input.
amount
number <decimal>

Amount to move from debit to credit account.

externalReference
string or null <= 50 characters

External reference (not unique, not required) to allow the source system to correlate external events within the Staking system.

Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

put/staking/v4/stakingOrders/{id}
Request samples
{
  • "fromAccountNumber": "string",
  • "toAccountNumber": "string",
  • "productId": "dcd53ddb-8104-4e48-8cc0-5df1088c6113",
  • "amount": 0,
  • "externalReference": "string"
}
Response samples
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errorCode": 0,
  • "transactionId": "string",
  • "requestId": "string",
  • "traceId": "string",
  • "property1": null,
  • "property2": null
}

Get Staking Order

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
id
required
string

Order ID or number.

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

get/staking/v4/stakingOrders/{id}
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "amount": 0,
  • "assetSymbol": "string",
  • "orderNumber": "string",
  • "fromAccountNumber": "string",
  • "toAccountNumber": "string",
  • "customerNumber": 0,
  • "createdOn": "2019-08-24T14:15:22Z",
  • "estimatedEffectuatedTime": "2019-08-24T14:15:22Z",
  • "estimatedCompletedTime": "2019-08-24T14:15:22Z",
  • "effectuated": true,
  • "state": "Open",
  • "type": "Entrance"
}

List Staking Orders

The purpose of this endpoint is to return a status regarding the customer's active staking orders, i.e. how much money is waiting to stake, how much is currently staking and how much is in the process of exiting staking.

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
accountNumber
string

Filter on account number.

externalReference
string

Filter on external reference.

orderType
string

Filter on order type.

Enum: "Entrance" "Exit"
states
Array of strings (StakingOrderState)

Filter on order states

Items Enum: "Open" "Processing" "Completed" "Cancelled"
page
integer <int32>
Default: 1

Page.

pageSize
integer <int32>
Default: 10

Page size. Default: 10.

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

get/staking/v4/stakingOrders
Request samples
Response samples
application/json
{
  • "count": 0,
  • "page": 0,
  • "totalCount": 0,
  • "pageSize": 0,
  • "items": [
    ]
}

Staking Accounts

Update Payout Account

Please be aware that not all products allow you to choose a payout account of all account types. What is supported can be seen by supportedPayoutAccountTypes on the product.

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
accountNumber
required
string

A 12 digit account number.

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
payoutAccountNumber
string

Account number of new payout account.

Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

patch/staking/v4/stakingAccounts/{accountNumber}
Request samples
{
  • "payoutAccountNumber": "string"
}
Response samples
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errorCode": 0,
  • "transactionId": "string",
  • "requestId": "string",
  • "traceId": "string",
  • "property1": null,
  • "property2": null
}

List Staking Accounts

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

get/staking/v4/stakingAccounts
Request samples
Response samples
application/json
[
  • {
    }
]

Staking Products

List Staking Products

Some of this information is calculated and is meant to tell what the result is if an Entry or Exit order is placed/completed right now

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
includeProductInformation
boolean
Default: false
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

get/staking/v4/products
Request samples
Response samples
application/json
[
  • {
    }
]

Staking Rewards

List Staking Rewards

The staking account is used to calculate the reward distribution, but isn't always the destination account. This depends on the configured payout account.

Securityapi-key and nonce and timestamp and version and signature
Request
query Parameters
accountNumber
string

Filter on account number.

payoutTimeAfterInclusive
string <date-time>

Filter on rewards paid out after timestamp (inclusive).

payoutTimeBeforeExclusive
string <date-time>

Filter on rewards paid out before timestamp (exclusive).

page
integer <int32>
Default: 1

Page.

pageSize
integer <int32>
Default: 10

Page size. Default: 10.

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

get/staking/v4/stakingRewards
Request samples
Response samples
application/json
{
  • "count": 0,
  • "page": 0,
  • "totalCount": 0,
  • "pageSize": 0,
  • "items": [
    ]
}

Get Staking Reward

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
id
required
string <uuid>

External reference.

header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

422

Client Error

500

Server Error

502

Server Error

get/staking/v4/stakingRewards/{id}
Request samples
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "targetAccountNumber": "string",
  • "amount": 0,
  • "executionLayerAmount": 0,
  • "consensusLayerAmount": 0,
  • "periodFrom": "2019-08-24T14:15:22Z",
  • "periodTo": "2019-08-24T14:15:22Z",
  • "lockedAmount": 0,
  • "lockedTill": "2019-08-24T14:15:22Z",
  • "createdOn": "2019-08-24T14:15:22Z",
  • "assetSymbol": "string",
  • "stakingAccountNumber": "string",
  • "commissionPercentage": 0,
  • "commission": 0,
  • "finalAmount": 0
}

TradingApi

/trading/api/account/getaccountstatement

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
accountNumber
string or null
dateFrom
string or null <date-time>
dateTo
string or null <date-time>
Responses
200

Success

post/trading/api/account/getaccountstatement
Request samples
{
  • "accountNumber": "string",
  • "dateFrom": "2019-08-24T14:15:22Z",
  • "dateTo": "2019-08-24T14:15:22Z"
}

/trading/api/account/getaccountstatementsforclient

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
dateFrom
string or null <date-time>
dateTo
string or null <date-time>
Responses
200

Success

post/trading/api/account/getaccountstatementsforclient
Request samples
{
  • "dateFrom": "2019-08-24T14:15:22Z",
  • "dateTo": "2019-08-24T14:15:22Z"
}

Reports

Create Balance Statement

Starts Balance Statement creation. Provides overview on balance at given date.

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
date
required
string <date>
referenceCurrency
required
string non-empty
Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

post/reporting/api/v1/balancestatement
Request samples
{
  • "date": "2019-08-24",
  • "referenceCurrency": "string"
}
Response samples
application/json
{
  • "reportId": "836df459-dc40-4aa1-972a-6eb0a864dff9"
}

Create Staking Rewards Statement

Starts Staking Rewards Statement creation. Provides overview on staking rewards collected.

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
dateFrom
required
string <date>
dateTo
required
string <date>
referenceCurrency
required
string non-empty
Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

post/reporting/api/v1/stakingrewardsstatement
Request samples
{
  • "dateFrom": "2019-08-24",
  • "dateTo": "2019-08-24",
  • "referenceCurrency": "string"
}
Response samples
application/json
{
  • "reportId": "836df459-dc40-4aa1-972a-6eb0a864dff9"
}

Create Exchange Rates Statement

Starts Exchange Rates Statement creation. Provides overview of exchange rates.

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
date
required
string <date>
referenceCurrency
required
string non-empty
Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

post/reporting/api/v1/exchangeratesstatement
Request samples
{
  • "date": "2019-08-24",
  • "referenceCurrency": "string"
}
Response samples
application/json
{
  • "reportId": "836df459-dc40-4aa1-972a-6eb0a864dff9"
}

Create Account Statement

Starts Account Statement creation. Provides overview on transactions per account.

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
dateFrom
required
string <date>
dateTo
required
string <date>
referenceCurrency
required
string non-empty
Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

post/reporting/api/v1/accountstatement
Request samples
{
  • "dateFrom": "2019-08-24",
  • "dateTo": "2019-08-24",
  • "referenceCurrency": "string"
}
Response samples
application/json
{
  • "reportId": "836df459-dc40-4aa1-972a-6eb0a864dff9"
}

Create Account Orders Statement

Starts Orders Statement creation. Provides overview on orders.

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
dateFrom
required
string <date>
dateTo
required
string <date>
Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

post/reporting/api/v1/accountordersstatement
Request samples
{
  • "dateFrom": "2019-08-24",
  • "dateTo": "2019-08-24"
}
Response samples
application/json
{
  • "reportId": "836df459-dc40-4aa1-972a-6eb0a864dff9"
}

Create Guarantee Statement

Starts Guarantee Statement creation. Informs on funds backed by bank guarantee and segregated custody.

Securityapi-key and nonce and timestamp and version and signature
Request
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Request Body schema:
object (GuaranteeStatementRequest)
Responses
200

Success

400

Bad Request

401

Unauthorized

500

Server Error

post/reporting/api/v1/guaranteestatement
Request samples
{ }
Response samples
application/json
{
  • "reportId": "836df459-dc40-4aa1-972a-6eb0a864dff9"
}

Get Balance Statement

Gets Balance Statement. Provides overview on balance at given date.

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
reportId
required
string <uuid>
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

404

Not Found

500

Server Error

get/reporting/api/v1/balancestatement/{reportId}
Request samples
Response samples
application/json
{
  • "state": "Processing",
  • "reportData": {
    }
}

Get Staking Rewards Statement

Gets Staking Rewards Statement. Provides overview on staking rewards collected.

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
reportId
required
string <uuid>
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

404

Not Found

500

Server Error

get/reporting/api/v1/stakingrewardsstatement/{reportId}
Request samples
Response samples
application/json
{
  • "state": "Processing",
  • "reportData": {
    }
}

Get Exchange Rates Statement

Gets Exchange Rates Statement. Provides overview of exchange rates.

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
reportId
required
string <uuid>
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

404

Not Found

500

Server Error

get/reporting/api/v1/exchangeratesstatement/{reportId}
Request samples
Response samples
application/json
{
  • "state": "Processing",
  • "reportData": {
    }
}

Get Account Statement

Gets Account Statement. Provides overview on transactions per account.

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
reportId
required
string <uuid>
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

404

Not Found

500

Server Error

get/reporting/api/v1/accountstatement/{reportId}
Request samples
Response samples
application/json
{
  • "state": "Processing",
  • "reportData": {
    }
}

Get Account Orders Statement

Gets Orders Statement. Provides overview on orders.

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
reportId
required
string <uuid>
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

404

Not Found

500

Server Error

get/reporting/api/v1/accountordersstatement/{reportId}
Request samples
Response samples
application/json
{
  • "state": "Processing",
  • "reportData": {
    }
}

Get Guarantee Statement

Gets Guarantee Statement. Informs on funds backed by bank guarantee and segregated custody.

Securityapi-key and nonce and timestamp and version and signature
Request
path Parameters
reportId
required
string <uuid>
header Parameters
customer-number
required
string

Defines which customer the request is executed for. If you manage multiple customers, this is how you switch between them. Use the Customer Management API endpoints to get the customer data. Example: 'BTCS-CUS-123456'

Responses
200

Success

400

Bad Request

401

Unauthorized

404

Not Found

500

Server Error

get/reporting/api/v1/guaranteestatement/{reportId}
Request samples
Response samples
application/json
{
  • "state": "Processing",
  • "reportData": {
    }
}