List Staking Balances
This will show the available balance in Staking as well as the available balance for withdrawal.
Roles
The API key you use to access this endpoint must have the Trader, Fund Manager or Auditor role assigned. See Roles for more information.
Headers
X-GEMINI-APIKEYstring · requiredYour API key
X-GEMINI-SIGNATUREstring · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOADstring · requiredBase64-encoded JSON payload
Content-TypestringDefault: text/plainContent-LengthstringDefault: 0Cache-ControlstringDefault: no-cache
Request Body
requeststring · requiredThe literal string "/v1/balances/staking"
accountstringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
Responses
The staking balances
typestringWill always be "Staking"
Example: StakingcurrencystringCurrency code, see symbols and minimums
Example: MATICbalancenumber · decimalThe current Staking balance
Example: 10availablenumber · decimalThe amount that is available to trade
Example: 0availableForWithdrawalnumber · decimalThe Staking amount that is available to redeem to exchange account
Example: 10balanceByProviderobject
Stake Crypto Funds
Initiates Staking deposits.
Roles
The API key you use to access this endpoint must have the Trader, Fund Manager or Trader role assigned. See Roles for more information.
Headers
X-GEMINI-APIKEYstring · requiredYour API key
X-GEMINI-SIGNATUREstring · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOADstring · requiredBase64-encoded JSON payload
Content-TypestringDefault: text/plainContent-LengthstringDefault: 0Cache-ControlstringDefault: no-cache
Request Body
requeststring · requiredThe literal string "v1/staking/stake"
providerIdstring · requiredProvider Id, in uuid4 format. providerId is accessible from the Staking rates response
currencystring · requiredCurrency code, see symbols
amountstring · decimal · requiredThe amount of currency to deposit
accountstringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
Responses
The staking deposit transaction
transactionIdstringA unique identifier for the staking transaction
Example: 65QN4XM5providerIdstringProvider Id, in uuid4 format
Example: 62b21e17-2534-4b9f-afcf-b7edb609dd8damountnumber · decimalThe amount deposited
Example: 30accrualTotalnumber · decimalThe total accrual
ratesobjectA JSON object including one or many rates. If more than one rate it would be an array of rates.
List Staking Event History
This will show all staking deposits, redemptions and interest accruals.
Roles
The API key you use to access this endpoint must have the Trader, Fund Manager or Auditor role assigned. See Roles for more information.
How to iterate through all transactions:
To retrieve your full Staking history walking backwards,
- Initial request:
POSTto https://api.gemini.com/v1/staking/history with a JSON payload includingsortAscset tofalseand a limit key with value500. - When you receive the list of Staking transactions, they will be sorted by
datetimedescending - so the last element in the list will have the lowesttimestampvalue. For this example, say that value isX. - Create a second
POSTrequest with a JSON payload including auntiltimestamp key with valueX-1,sortAscset tofalse, and a limit key with value500. - Take the last element of the list returned with lowest
datetimevalueYand create a thirdPOSTrequest with a JSON payload including auntiltimestamp key with valueY-1,sortAscset to false, and alimitkey with value500. - Continue creating
POSTrequests and retrieving Staking transactions until an empty list is returned.
Headers
X-GEMINI-APIKEYstring · requiredYour API key
X-GEMINI-SIGNATUREstring · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOADstring · requiredBase64-encoded JSON payload
Content-TypestringDefault: text/plainContent-LengthstringDefault: 0Cache-ControlstringDefault: no-cache
Request Body
requeststring · requiredThe literal string "/v1/staking/history"
accountstringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
sinceIn iso datetime with timezone format. Defaults to the timestamp of the first deposit into Staking.
untilIn iso datetime with timezone format, default to current time as of server time
limitintegerThe maximum number of transactions to return. Default is 50, max is 500.
Default: 50providerIdstringBorrower Id, in uuid4 format. providerId is accessible from the Staking rates response
currencystringCurrency code, see symbols
interestOnlybooleanToggles whether to only return daily interest transactions. Defaults to false.
Default: falsesortAscbooleanToggles whether to sort the transactions in ascending order by datetime. Defaults to false.
Default: false
Responses
Staking transaction history
providerIdstringProvider Id, in uuid4 format
Example: 62b21e17-2534-4b9f-afcf-b7edb609dd8dtransactionsobject[]
List Staking Rates
This will return the current Gemini Staking interest rates (in bps). When including the specific asset(s) in the request, the response will include the specific assets' (e.g. eth, matic) Staking rate. When not including the specific asset in the request, the response will include all Staking rates.
Responses
JSON response with staking rates
provider_uuidobjectCurrency Symbol Keys
List Staking Rewards
This will show the historical Staking reward payments and accrual.
Roles
The API key you use to access this endpoint must have the Trader, Fund Manager or Auditor role assigned. See Roles for more information.
Headers
X-GEMINI-APIKEYstring · requiredYour API key
X-GEMINI-SIGNATUREstring · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOADstring · requiredBase64-encoded JSON payload
Content-TypestringDefault: text/plainContent-LengthstringDefault: 0Cache-ControlstringDefault: no-cache
Request Body
requeststring · requiredThe literal string "/v1/staking/rewards"
sincestring · requiredIn iso datetime with timezone format
accountstringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
untilstringIn iso datetime with timezone format, default to current time as of server time
providerIdstringBorrower Id, in uuid4 format. providerId is accessible from the Staking rates response
currencystringCurrency code, see symbols
Responses
A nested JSON object, organized by provider, then currency
provider_uuidobjectCurrency Symbol Keys
Unstake Crypto Funds
Initiates Staking withdrawals.
Roles
The API key you use to access this endpoint must have the Trader, Fund Manager or Trader role assigned. See Roles for more information.
Headers
X-GEMINI-APIKEYstring · requiredYour API key
X-GEMINI-SIGNATUREstring · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOADstring · requiredBase64-encoded JSON payload
Content-TypestringDefault: text/plainContent-LengthstringDefault: 0Cache-ControlstringDefault: no-cache
Request Body
requeststring · requiredThe literal string "v1/staking/unstake"
providerIdstring · requiredProvider Id, in uuid4 format. providerId is accessible from the Staking rates response
currencystring · requiredCurrency code, see symbols
amountstring · decimal · requiredThe amount of currency to withdraw
accountstringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
Responses
The staking withdrawal transaction
transactionIdstringA unique identifier for the staking transaction
Example: MPZ7LDD8amountnumber · decimalThe amount deposited
Example: 20amountPaidSoFarnumber · decimalThe amount redeemed successfully
Example: 20amountRemainingnumber · decimalThe amount pending to be redeemed
Example: 0currencystringCurrency code
Example: MATICrequestInitiatedstringIn ISO datetime with timezone format
Example: 2022-11-02T19:49:20.153Z

