Gemini Crypto Exchange Logo
REST API

Staking (1.0.0)

Endpoint

List Staking Balances

POST
https://api.gemini.com
/v1/balances/staking

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.

List Staking BalancesHeaders

  • X-GEMINI-APIKEYstring · required

    Your API key

  • X-GEMINI-SIGNATUREstring · required

    HEX-encoded HMAC-SHA384 of payload signed with API secret

  • X-GEMINI-PAYLOADstring · required

    Base64-encoded JSON payload

  • Content-Typestring
    Default: text/plain
  • Content-Lengthstring
    Default: 0
  • Cache-Controlstring
    Default: no-cache

List Staking Balances Request Body

  • requeststring · required

    The literal string "/v1/balances/staking"

  • noncerequired

    The nonce, as described in Private API Invocation

  • accountstring

    Required for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.

List Staking Balances Responses

The staking balances

  • typestring

    Will always be "Staking"

    Example: Staking
  • currencystring

    Currency code, see symbols and minimums

    Example: MATIC
  • balancenumber · decimal

    The current Staking balance

    Example: 10
  • availablenumber · decimal

    The amount that is available to trade

    Example: 0
  • availableForWithdrawalnumber · decimal

    The Staking amount that is available to redeem to exchange account

    Example: 10
  • balanceByProviderobject

Stake Crypto Funds

POST
https://api.gemini.com
/v1/staking/stake

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.

Stake Crypto FundsHeaders

  • X-GEMINI-APIKEYstring · required

    Your API key

  • X-GEMINI-SIGNATUREstring · required

    HEX-encoded HMAC-SHA384 of payload signed with API secret

  • X-GEMINI-PAYLOADstring · required

    Base64-encoded JSON payload

  • Content-Typestring
    Default: text/plain
  • Content-Lengthstring
    Default: 0
  • Cache-Controlstring
    Default: no-cache

Stake Crypto Funds Request Body

  • requeststring · required

    The literal string "v1/staking/stake"

  • noncerequired

    The nonce, as described in Private API Invocation

  • providerIdstring · required

    Provider Id, in uuid4 format. providerId is accessible from the Staking rates response

  • currencystring · required

    Currency code, see symbols

  • amountstring · decimal · required

    The amount of currency to deposit

  • accountstring

    Required for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.

Stake Crypto Funds Responses

The staking deposit transaction

  • transactionIdstring

    A unique identifier for the staking transaction

    Example: 65QN4XM5
  • providerIdstring

    Provider Id, in uuid4 format

    Example: 62b21e17-2534-4b9f-afcf-b7edb609dd8d
  • currencystring

    Currency code, see symbols

    Example: MATIC
  • amountnumber · decimal

    The amount deposited

    Example: 30
  • accrualTotalnumber · decimal

    The total accrual

  • ratesobject

    A JSON object including one or many rates. If more than one rate it would be an array of rates.


List Staking Event History

POST
https://api.gemini.com
/v1/staking/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,

  1. Initial request: POST to https://api.gemini.com/v1/staking/history with a JSON payload including sortAsc set to false and a limit key with value 500.
  2. When you receive the list of Staking transactions, they will be sorted by datetime descending - so the last element in the list will have the lowest timestamp value. For this example, say that value is X.
  3. Create a second POST request with a JSON payload including a until timestamp key with value X-1, sortAsc set to false, and a limit key with value 500.
  4. Take the last element of the list returned with lowest datetime value Y and create a third POST request with a JSON payload including a until timestamp key with value Y-1, sortAsc set to false, and a limit key with value 500.
  5. Continue creating POST requests and retrieving Staking transactions until an empty list is returned.

List Staking Event HistoryHeaders

  • X-GEMINI-APIKEYstring · required

    Your API key

  • X-GEMINI-SIGNATUREstring · required

    HEX-encoded HMAC-SHA384 of payload signed with API secret

  • X-GEMINI-PAYLOADstring · required

    Base64-encoded JSON payload

  • Content-Typestring
    Default: text/plain
  • Content-Lengthstring
    Default: 0
  • Cache-Controlstring
    Default: no-cache

List Staking Event History Request Body

  • requeststring · required

    The literal string "/v1/staking/history"

  • noncerequired

    The nonce, as described in Private API Invocation

  • accountstring

    Required for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.

  • since

    In iso datetime with timezone format. Defaults to the timestamp of the first deposit into Staking.

  • until

    In iso datetime with timezone format, default to current time as of server time

  • limitinteger

    The maximum number of transactions to return. Default is 50, max is 500.

    Default: 50
  • providerIdstring

    Borrower Id, in uuid4 format. providerId is accessible from the Staking rates response

  • currencystring

    Currency code, see symbols

  • interestOnlyboolean

    Toggles whether to only return daily interest transactions. Defaults to false.

    Default: false
  • sortAscboolean

    Toggles whether to sort the transactions in ascending order by datetime. Defaults to false.

    Default: false

List Staking Event History Responses

Staking transaction history

  • providerIdstring

    Provider Id, in uuid4 format

    Example: 62b21e17-2534-4b9f-afcf-b7edb609dd8d
  • transactionsobject[]

List Staking Rates

GET
https://api.gemini.com
/v1/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.

List Staking Rates Responses

JSON response with staking rates

  • provider_uuidobject

    Currency Symbol Keys


List Staking Rewards

POST
https://api.gemini.com
/v1/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.

List Staking RewardsHeaders

  • X-GEMINI-APIKEYstring · required

    Your API key

  • X-GEMINI-SIGNATUREstring · required

    HEX-encoded HMAC-SHA384 of payload signed with API secret

  • X-GEMINI-PAYLOADstring · required

    Base64-encoded JSON payload

  • Content-Typestring
    Default: text/plain
  • Content-Lengthstring
    Default: 0
  • Cache-Controlstring
    Default: no-cache

List Staking Rewards Request Body

  • requeststring · required

    The literal string "/v1/staking/rewards"

  • noncerequired

    The nonce, as described in Private API Invocation

  • sincestring · required

    In iso datetime with timezone format

  • accountstring

    Required for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.

  • untilstring

    In iso datetime with timezone format, default to current time as of server time

  • providerIdstring

    Borrower Id, in uuid4 format. providerId is accessible from the Staking rates response

  • currencystring

    Currency code, see symbols

List Staking Rewards Responses

A nested JSON object, organized by provider, then currency

  • provider_uuidobject

    Currency Symbol Keys


Unstake Crypto Funds

POST
https://api.gemini.com
/v1/staking/unstake

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.

Unstake Crypto FundsHeaders

  • X-GEMINI-APIKEYstring · required

    Your API key

  • X-GEMINI-SIGNATUREstring · required

    HEX-encoded HMAC-SHA384 of payload signed with API secret

  • X-GEMINI-PAYLOADstring · required

    Base64-encoded JSON payload

  • Content-Typestring
    Default: text/plain
  • Content-Lengthstring
    Default: 0
  • Cache-Controlstring
    Default: no-cache

Unstake Crypto Funds Request Body

  • requeststring · required

    The literal string "v1/staking/unstake"

  • noncerequired

    The nonce, as described in Private API Invocation

  • providerIdstring · required

    Provider Id, in uuid4 format. providerId is accessible from the Staking rates response

  • currencystring · required

    Currency code, see symbols

  • amountstring · decimal · required

    The amount of currency to withdraw

  • accountstring

    Required for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.

Unstake Crypto Funds Responses

The staking withdrawal transaction

  • transactionIdstring

    A unique identifier for the staking transaction

    Example: MPZ7LDD8
  • amountnumber · decimal

    The amount deposited

    Example: 20
  • amountPaidSoFarnumber · decimal

    The amount redeemed successfully

    Example: 20
  • amountRemainingnumber · decimal

    The amount pending to be redeemed

    Example: 0
  • currencystring

    Currency code

    Example: MATIC
  • requestInitiatedstring

    In ISO datetime with timezone format

    Example: 2022-11-02T19:49:20.153Z