GeminiGemini
Demo environmentGet API key
  • Overview
  • Crypto Trading
  • Prediction Markets
  • Perpetuals
  • Stocks
  • API Reference
  • SDKs & Tools
Changelog
Gemini logoGemini logo

© 2026 Gemini Space Station, Inc.

Overview
Spot
    OverviewGet started
    Orders API
    Market Data API
    Fund Management API
    Instant Orders API
    WebSocket API
    FIX API
Margin
    Overview
    Margin REST API
      Get Margin Account SummaryGet Margin Interest RatesPreview Margin Order Impact
Staking
    Overview
    Staking REST API
      List Staking BalancesStake Crypto FundsUnstake Crypto FundsList Staking Event HistoryList Staking RatesList Staking Rewards
Clearing
    Clearing REST API
      Clearing Orders
      Broker & Trade Operations

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