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-APIKEY
string · requiredYour API key
X-GEMINI-SIGNATURE
string · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOAD
string · requiredBase64-encoded JSON payload
Content-Type
stringDefault: text/plainContent-Length
stringDefault: 0Cache-Control
stringDefault: no-cache
Request Body
request
string · requiredThe literal string "/v1/balances/staking"
account
stringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
Responses
type
stringWill always be "Staking"
Example: Stakingcurrency
stringCurrency code, see symbols and minimums
Example: MATICbalance
number · decimalThe current Staking balance
Example: 10available
number · decimalThe amount that is available to trade
availableForWithdrawal
number · decimalThe Staking amount that is available to redeem to exchange account
Example: 10balanceByProvider
object
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-APIKEY
string · requiredYour API key
X-GEMINI-SIGNATURE
string · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOAD
string · requiredBase64-encoded JSON payload
Content-Type
stringDefault: text/plainContent-Length
stringDefault: 0Cache-Control
stringDefault: no-cache
Request Body
request
string · requiredThe literal string "v1/staking/stake"
providerId
string · requiredProvider Id, in uuid4 format. providerId is accessible from the Staking rates response
currency
string · requiredCurrency code, see symbols
amount
string · decimal · requiredThe amount of currency to deposit
account
stringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
Responses
transactionId
stringA unique identifier for the staking transaction
Example: 65QN4XM5providerId
stringProvider Id, in uuid4 format
Example: 62b21e17-2534-4b9f-afcf-b7edb609dd8damount
number · decimalThe amount deposited
Example: 30accrualTotal
number · decimalThe total accrual
rates
objectA 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:
POST
to https://api.gemini.com/v1/staking/history with a JSON payload includingsortAsc
set tofalse
and a limit key with value500
. - 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 lowesttimestamp
value. For this example, say that value isX
. - Create a second
POST
request with a JSON payload including auntil
timestamp key with valueX-1
,sortAsc
set tofalse
, and a limit key with value500
. - Take the last element of the list returned with lowest
datetime
valueY
and create a thirdPOST
request with a JSON payload including auntil
timestamp key with valueY-1
,sortAsc
set to false, and alimit
key with value500
. - Continue creating
POST
requests and retrieving Staking transactions until an empty list is returned.
Headers
X-GEMINI-APIKEY
string · requiredYour API key
X-GEMINI-SIGNATURE
string · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOAD
string · requiredBase64-encoded JSON payload
Content-Type
stringDefault: text/plainContent-Length
stringDefault: 0Cache-Control
stringDefault: no-cache
Request Body
request
string · requiredThe literal string "/v1/staking/history"
account
stringRequired 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
limit
integerThe maximum number of transactions to return. Default is 50, max is 500.
Default: 50providerId
stringBorrower Id, in uuid4 format. providerId is accessible from the Staking rates response
currency
stringCurrency code, see symbols
interestOnly
booleanToggles whether to only return daily interest transactions. Defaults to false.
sortAsc
booleanToggles whether to sort the transactions in ascending order by datetime. Defaults to false.
Responses
providerId
stringProvider Id, in uuid4 format
Example: 62b21e17-2534-4b9f-afcf-b7edb609dd8dtransactions
object[]
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
provider_uuid
objectCurrency 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-APIKEY
string · requiredYour API key
X-GEMINI-SIGNATURE
string · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOAD
string · requiredBase64-encoded JSON payload
Content-Type
stringDefault: text/plainContent-Length
stringDefault: 0Cache-Control
stringDefault: no-cache
Request Body
request
string · requiredThe literal string "/v1/staking/rewards"
since
string · requiredIn iso datetime with timezone format
account
stringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
until
stringIn iso datetime with timezone format, default to current time as of server time
providerId
stringBorrower Id, in uuid4 format. providerId is accessible from the Staking rates response
currency
stringCurrency code, see symbols
Responses
provider_uuid
objectCurrency 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-APIKEY
string · requiredYour API key
X-GEMINI-SIGNATURE
string · requiredHEX-encoded HMAC-SHA384 of payload signed with API secret
X-GEMINI-PAYLOAD
string · requiredBase64-encoded JSON payload
Content-Type
stringDefault: text/plainContent-Length
stringDefault: 0Cache-Control
stringDefault: no-cache
Request Body
request
string · requiredThe literal string "v1/staking/unstake"
providerId
string · requiredProvider Id, in uuid4 format. providerId is accessible from the Staking rates response
currency
string · requiredCurrency code, see symbols
amount
string · decimal · requiredThe amount of currency to withdraw
account
stringRequired for Master API keys as described in Private API Invocation. The name of the account within the subaccount group.
Responses
transactionId
stringA unique identifier for the staking transaction
Example: MPZ7LDD8amount
number · decimalThe amount deposited
Example: 20amountPaidSoFar
number · decimalThe amount redeemed successfully
Example: 20amountRemaining
number · decimalThe amount pending to be redeemed
currency
stringCurrency code
Example: MATICrequestInitiated
stringIn ISO datetime with timezone format
Example: 2022-11-02T19:49:20.153Z