GeminiGemini
SandboxGet API key
  • Crypto Trading
  • Prediction Markets
Changelog
Gemini Crypto Exchange LogoGemini Crypto Exchange Logo

© 2026 Gemini Space Station, Inc.

REST APIs
    Orders
    Market Data
    Derivatives
    Margin Trading
    Staking
      List Staking BalancesStake Crypto FundsUnstake Crypto FundsList Staking Event HistoryList Staking RatesList Staking Rewards
    Clearing
    Instant Orders
    Fund Management
WebSocket
    AuthenticationMessage Format
    Streams
      Book TickerL2 Partial DepthL2 Differential DepthTrade StreamOrder EventsBalance Updates
    Playground
      Overviewconninfopingtimesubscribeunsubscribelist_subscriptionsdepthorder.placeorder.cancelorder.cancel_allorder.cancel_session
Agentic
FIX

Stake Crypto Funds

TradingStakingStake Crypto Funds

Stake Crypto Funds

POSThttps://api.gemini.com/v1/staking/stake

Initiates a staking deposit for the specified currency and provider.

POSTv1/staking/stake
curl --request POST \
  --url https://api.gemini.com/v1/staking/stake \
  --header 'Content-Type: application/json' \
  --header 'X-GEMINI-APIKEY: <string>' \
  --header 'X-GEMINI-PAYLOAD: <string>' \
  --header 'X-GEMINI-SIGNATURE: <string>' \
  --data '
{
  "request": "v1/staking/stake",
  "nonce": "<nonce>",
  "providerId": "62b21e17-2534-4b9f-afcf-b7edb609dd8d",
  "currency": "MATIC",
  "amount": "30"
}
'

Roles

The API key you use to access this endpoint must have the Trader or Fund Manager role assigned. See Roles for more information.

Headers

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

Request Body

requeststring·required
The literal string "v1/staking/stake"
nonceTimestampType | integer·required
timestampExample: 1495127793000
accountstring
Required for Master API keys as described in [Private API Invocation](/authentication/api-key#private-api-invocation). The name of the account within the subaccount group.
providerIdstring·required
Provider Id, in uuid4 format. providerId is accessible from the [Staking rates](#list-staking-rates) response
currencystring·required
Currency code, see [symbols](/market-data/symbols-and-minimums)
amountstring (decimal)·required
The amount of currency to deposit
Example request body
{
  "request": "v1/staking/stake",
  "nonce": "<nonce>",
  "providerId": "62b21e17-2534-4b9f-afcf-b7edb609dd8d",
  "currency": "MATIC",
  "amount": 30
}

Responses

The staking deposit transaction

transactionIdstring
A unique identifier for the staking transactionExample: 65QN4XM5
providerIdstring
Provider Id, in uuid4 formatExample: 62b21e17-2534-4b9f-afcf-b7edb609dd8d
currencystring
Currency code, see [symbols](/market-data/symbols-and-minimums)Example: MATIC
amountnumber (decimal)
The amount depositedExample: 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.
rates.rateinteger
Staking interest rate in bps (Expressed as a simple rate. Interest on Staking balances compounds daily. In mobile and web applications, APYs are derived from this rate and rounded to 1/10th of a percent.)Example: 540
Example Responses
{
  "transactionId": "65QN4XM5",
  "providerId": "62b21e17-2534-4b9f-afcf-b7edb609dd8d",
  "currency": "MATIC",
  "amount": 30,
  "rates": {
    "rate": 540
  }
}
PreviousList Staking BalancesNextUnstake Crypto Funds
Last modified on May 5, 2026