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

Public

Operations

Staking Orders

Operations

Staking Accounts

Operations

Staking Products

Operations

Staking Rewards

Operations

List Staking Rewards

Request

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

Query
accountNumberstring^[0-9]{12}$

Filter on account number.

payoutTimeAfterInclusivestring(date-time)

Filter on rewards paid out after timestamp (inclusive).

payoutTimeBeforeExclusivestring(date-time)

Filter on rewards paid out before timestamp (exclusive).

pageinteger(int32)

Page.

Default 1
pageSizeinteger(int32)

Page size. Default: 10.

Default 10
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/staking/v5/stakingRewards?accountNumber=string&payoutTimeAfterInclusive=2019-08-24T14%3A15%3A22Z&payoutTimeBeforeExclusive=2019-08-24T14%3A15%3A22Z&page=1&pageSize=10' \
  -H 'customer-number: string'

Responses

Success

Bodyapplication/json
countinteger(int32)
pageinteger(int32)
totalCountinteger(int32)
pageSizeinteger or null(int32)
itemsArray of objects(Reward)
Response
application/json
{ "count": 0, "page": 0, "totalCount": 0, "pageSize": 0, "items": [ {} ] }

Get Staking Reward

Request

Path
idstring(uuid)required

External reference.

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/staking/v5/stakingRewards/{id}' \
  -H 'customer-number: string'

Responses

Success

Bodyapplication/json
idstring(uuid)

Can be found as an external reference for Reward in other systems. N.B. Commission bookings are a different transaction, with a different external reference.

targetAccountNumberstring

Account that the rewards were paid out to.

stakingAccountNumberstring

Staking account that earned the rewards.

amountnumber(decimal)

Gross amount of rewards paid out.

assetSymbolstring

Asset Symbol for rewards.

commissionPercentagenumber(decimal)

Commission percentage (0 to 100) taken from the gross reward amount.

commissionnumber(decimal)

Commission amount taken from the gross reward amount.

finalAmountnumber(decimal)

Net reward amount paid out to the target account after commissions.

createdOnstring(date-time)

Timestamp for when it was decided that the rewards should be paid out. Note that actual payout time differs.

executionLayerAmountnumber or null(decimal)

Gross amount of execution layer rewards. Only applicable to Pre-Pectra Ethereum rewards.

consensusLayerAmountnumber or null(decimal)

Gross amount of consensus layer rewards. Only applicable to Pre-Pectra Ethereum rewards.

periodFromstring or null(date-time)

Timestamp indicating the start of the period in which the rewards were earned. This is only available for automated payouts.

periodTostring or null(date-time)

Timestamp indicating the end of the period in which the rewards were earned. This is only available for automated payouts.

lockedAmountnumber or null(decimal)

Amount of rewards that are locked.

lockedTillstring or null(date-time)

Timestamp indicating expiration of the lock, if the rewards are locked.

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

TradingApi

Operations

Reports

Operations

Loan Report

Operations