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.

API Reference overview
REST
    Orders
    Market Data
    Margin Trading
    Staking
    Clearing
    Instant Orders
    Fund Management
    Derivatives
    Prediction markets
    Common
      OAuth
      Admin
        SubaccountsCreate New AccountGet Account DetailList Accounts in GroupRename AccountRoles Endpoint
WebSocket
    Core protocol
      IntroductionCoreAuthenticationCoreMessage formatCore
      Shared streams
        Book tickerL2 partial depthL2 differential depthTrade streamOrder eventsBalance updates
      Shared methods
    Prediction-market extensions
      Streams
        Position updatesPredictionContract statusPrediction
      Combo RFQ
        OverviewPredictionWebSocket streamsPredictionQuote methodsPredictionMaker integrationPredictionExamplesPrediction
FIX
Authentication and account context
Prediction markets schemas

Roles Endpoint

REST APIsCommonAdminRoles Endpoint

Roles Endpoint

POSThttps://api.gemini.com/v1/roles

The v1/roles endpoint will return a string of the role of the current API key. The response fields will be different for account-level and master-level API keys.

POSTv1/roles
curl --request POST \
  --url https://api.gemini.com/v1/roles \
  --header 'Content-Type: application/json' \
  --header 'X-GEMINI-APIKEY: <string>' \
  --header 'X-GEMINI-PAYLOAD: <string>' \
  --header 'X-GEMINI-SIGNATURE: <string>' \
  --data '
{
  "request": "/v1/roles",
  "nonce": "<nonce>"
}
'

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/roles"Example: /v1/roles
noncestring | integer·required
Gemini strongly recommends using milliseconds instead of seconds for timestamps.
Timestamp format
Example
Supported request type
string (seconds)
1495127793
POST only
string (milliseconds)
1495127793000
POST only
whole number (seconds)
1495127793
GET, POST
whole number (milliseconds)
1495127793000
GET, POST
Example: 1495127793000
Example request body
{
  "request": "/v1/roles",
  "nonce": "<nonce>"
}

Responses

The response will be a JSON object indicating the assigned roles to the set of API keys used to call `/v1/roles`. The `Auditor` role cannot be combined with other roles. `Fund Manager` and `Trader` can be combined.

isAuditorboolean·required
`True` if the Auditor role is assigned to the API keys. `False` otherwise.
isFundManagerboolean·required
`True` if the Fund Manager role is assigned to the API keys. `False` otherwise.
isTraderboolean·required
`True` if the Trader role is assigned to the API keys. `False` otherwise.
counterparty_idstring
_Only returned for master-level API keys_. The Gemini clearing counterparty ID associated with the API key making the request.
isAccountAdminboolean
_Only returned for master-level API keys_.`True` if the Administrator role is assigned to the API keys. `False` otherwise.
Example Responses
{
  "isAuditor": false,
  "isFundManager": true,
  "isTrader": true
}
PreviousRename Account