Skip to content

Bitcoin Suisse API (1.5.0)

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.

Languages
Servers
Mock server
https://docs.bitcoinsuisse.com/_mock/api/pages/rest/bitcoinsuisseopenapi
Bitcoin Suisse API
https://api.bitcoinsuisse.com
Bitcoin Suisse Sandbox API
https://sandbox-api.btcsqa.net

Customers

Operations

Accounts

Operations

HistoricalPortfolioValue

Operations

Trading Accounts

Operations

Trading Configuration

Operations

Trading Instruments

Operations

Market Data

Operations

Trading Orders

Operations

Cancel Order

Request

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

Security
api-key and nonce and timestamp and version and signature
Headers
customer-numberstringrequired

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'

Body
accountinteger(int64)required

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

clientOrderIdstring or null

The custom defined client order id

orderIdinteger(int64)

The Bitcoin Suisse order id

cancelRequestIdstring or null

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

transactionTimestring(date-time)required

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

curl -i -X DELETE \
  https://docs.bitcoinsuisse.com/_mock/api/pages/rest/bitcoinsuisseopenapi/trading/api/v3/Orders \
  -H 'Content-Type: application/json-patch+json' \
  -H 'X-Auth: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Nonce: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Signature: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Timestamp: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Version: YOUR_API_KEY_HERE' \
  -H 'customer-number: string' \
  -d '{
    "account": 0,
    "clientOrderId": "string",
    "orderId": 0,
    "cancelRequestId": "string",
    "transactionTime": "2019-08-24T14:15:22Z"
  }'

Responses

Success

Bodyapplication/json
accountinteger(int64)
clientOrderIdstring or null
orderIdinteger(int64)
quoteIdinteger(int64)
sidestring
Enum"Unknown""Buy""Sell"
orderTypestring
Enum"Unknown""Market""Limit""Stop""StopLimit""PreviouslyQuoted""BestExecution"
symbolstring or null
currencystring or null
quantitynumber(decimal)
pricenumber(decimal)
stopPricenumber(decimal)
timeInForcestring
Enum"Unknown""GoodTillCancel""ImmediateOrCancel""FillOrKill""GoodTilDate"
transactionTimestring(date-time)
expireTimestring(date-time)
createdAtstring(date-time)
toAccountinteger(int64)
executionIdstring or null
executionTypestring
Enum"Unknown""New""Cancelled""Replaced""PendingCancel""Rejected""Expired""Trade""Void""OrderStatus"
indicativePricenumber(decimal)
statusstring
Enum"Unknown""New""PartiallyFilled""Filled""Cancelled""PendingCancel""Rejected""PendingNew""Expired""Draft"
lastPricenumber(decimal)
lastQuantitynumber(decimal)
cumulativeQuantitynumber(decimal)
leavesQuantitynumber(decimal)
rejectionCodeinteger(int32)
textstring or null
availableToTradenumber(decimal)
commissionCurrencystring or null
commissionnumber(decimal)
settlementDatestring(date-time)
venueIdinteger(int32)
tenorstring
Enum"Unknown""Spot""Instantly"
prosecoFusecoboolean
isTwapboolean
isCommissionIncludedboolean
legPricenumber(decimal)
legSymbolstring or null
settlementAmountnumber(decimal)
fromAmountnumber(decimal)
toAmountnumber(decimal)
isSettledboolean
appliedCommissionPctnumber(decimal)
targetStrategystring
Enum"None""Smart""TWAP""Scheduled""DCA"
durationUnitstring
Enum"Unknown""Day""Hour""Month""Minute""Week"
durationinteger(int32)
pegOffsetTypestring
Enum"None""BasisPoints"
pegOffsetValueinteger(int32)
effectiveTimestring(date-time)
parentClientOrderIdinteger(int64)
sourceinteger(int32)
isMinimumCommissionAppliedboolean
legsArray of objects(Leg)required
legs[].​symbolstring or null
legs[].​sidestring
Enum"Unknown""Buy""Sell"
legs[].​isFiatToFiatboolean
legs[].​ratenumber(decimal)
legs[].​baseQuantitynumber(decimal)
legs[].​venuestring or null
Response
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, "source": 0, "isMinimumCommissionApplied": true, "legs": [ {} ] }

Get Order

Request

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

Security
api-key and nonce and timestamp and version and signature
Path
idstringrequired

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

Query
isClientOrderIdboolean

Flag, true if id is clientOrderId

Default false
Headers
customer-numberstringrequired

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'

curl -i -X GET \
  'https://docs.bitcoinsuisse.com/_mock/api/pages/rest/bitcoinsuisseopenapi/trading/api/v3/Orders/{id}?isClientOrderId=false' \
  -H 'X-Auth: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Nonce: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Signature: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Timestamp: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Version: YOUR_API_KEY_HERE' \
  -H 'customer-number: string'

Responses

Success

Bodyapplication/json
accountinteger(int64)
clientOrderIdstring or null
orderIdinteger(int64)
quoteIdinteger(int64)
sidestring
Enum"Unknown""Buy""Sell"
orderTypestring
Enum"Unknown""Market""Limit""Stop""StopLimit""PreviouslyQuoted""BestExecution"
symbolstring or null
currencystring or null
quantitynumber(decimal)
pricenumber(decimal)
stopPricenumber(decimal)
timeInForcestring
Enum"Unknown""GoodTillCancel""ImmediateOrCancel""FillOrKill""GoodTilDate"
transactionTimestring(date-time)
expireTimestring(date-time)
createdAtstring(date-time)
toAccountinteger(int64)
executionIdstring or null
executionTypestring
Enum"Unknown""New""Cancelled""Replaced""PendingCancel""Rejected""Expired""Trade""Void""OrderStatus"
indicativePricenumber(decimal)
statusstring
Enum"Unknown""New""PartiallyFilled""Filled""Cancelled""PendingCancel""Rejected""PendingNew""Expired""Draft"
lastPricenumber(decimal)
lastQuantitynumber(decimal)
cumulativeQuantitynumber(decimal)
leavesQuantitynumber(decimal)
rejectionCodeinteger(int32)
textstring or null
availableToTradenumber(decimal)
commissionCurrencystring or null
commissionnumber(decimal)
settlementDatestring(date-time)
venueIdinteger(int32)
tenorstring
Enum"Unknown""Spot""Instantly"
prosecoFusecoboolean
isTwapboolean
isCommissionIncludedboolean
legPricenumber(decimal)
legSymbolstring or null
settlementAmountnumber(decimal)
fromAmountnumber(decimal)
toAmountnumber(decimal)
isSettledboolean
appliedCommissionPctnumber(decimal)
targetStrategystring
Enum"None""Smart""TWAP""Scheduled""DCA"
durationUnitstring
Enum"Unknown""Day""Hour""Month""Minute""Week"
durationinteger(int32)
pegOffsetTypestring
Enum"None""BasisPoints"
pegOffsetValueinteger(int32)
effectiveTimestring(date-time)
parentClientOrderIdinteger(int64)
sourceinteger(int32)
isMinimumCommissionAppliedboolean
legsArray of objects(Leg)required
legs[].​symbolstring or null
legs[].​sidestring
Enum"Unknown""Buy""Sell"
legs[].​isFiatToFiatboolean
legs[].​ratenumber(decimal)
legs[].​baseQuantitynumber(decimal)
legs[].​venuestring or null
Response
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, "source": 0, "isMinimumCommissionApplied": true, "legs": [ {} ] }

Request For Quote

Request

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

Security
api-key and nonce and timestamp and version and signature
Headers
customer-numberstringrequired

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'

Body
accountinteger(int64)required

The account id of the traded currency

quoteRequestIdstringnon-emptyrequired
symbolstringnon-emptyrequired

The instrument symbol, example: 'BTC/CHF'

currencystringnon-emptyrequired

The currency to trade, example: 'BTC'

quantitynumber(decimal)required

The amount to trade in the provided Currency

sidestring or null

The direction of the trade, related to the Symbol

Enum"Buy""Sell"
isCommissionIncludedbooleanrequired

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

curl -i -X POST \
  https://docs.bitcoinsuisse.com/_mock/api/pages/rest/bitcoinsuisseopenapi/trading/api/v3/Orders/QuoteRequest \
  -H 'Content-Type: application/json-patch+json' \
  -H 'X-Auth: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Nonce: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Signature: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Timestamp: YOUR_API_KEY_HERE' \
  -H 'X-Auth-Version: YOUR_API_KEY_HERE' \
  -H 'customer-number: string' \
  -d '{
    "account": 0,
    "quoteRequestId": "string",
    "symbol": "string",
    "currency": "string",
    "quantity": 0,
    "side": "Buy",
    "isCommissionIncluded": true
  }'

Responses

Success

Bodyapplication/json
messageTypestring
Enum"Unknown""GenericError""ExecutionReport""MarketDataRequest""MarketDataRequestReject""MarketDataRefreshSubscription""OrderMassStatusRequest""NewOrder""OrderCancelReject""OrderCancelReplaceRequest"
quoteRequestIdstring or null
quoteIdinteger(int64)
expireTimestring(date-time)
symbolstring or null
currencystring or null
quantitynumber(decimal)
bidPricenumber(decimal)
askPricenumber(decimal)
commissionnumber(decimal)
commissionCurrencystring or null
transactionTimestring(date-time)
fromAmountnumber(decimal)
toAmountnumber(decimal)
settlementAmountnumber(decimal)
isMinimumCommissionAppliedboolean
Response
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, "isMinimumCommissionApplied": true }

Public

Operations

Staking Orders

Operations

Staking Accounts

Operations

Staking Products

Operations

Staking Rewards

Operations

TradingApi

Operations

Reports

Operations

Loan Report

Operations