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 BalancesRequest 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 BalancesResponses

    • 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

    • 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 FundsRequest 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 FundsResponses

    • 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 HistoryRequest 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.

  • sortAscboolean

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

List Staking Event HistoryResponses

    • 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 RatesResponses

    • 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 RewardsRequest 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 RewardsResponses

    • 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 FundsRequest 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 FundsResponses

    • 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

    • currencystring

      Currency code

      Example: MATIC
    • requestInitiatedstring

      In ISO datetime with timezone format

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