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

© 2026 Gemini Space Station, Inc.

Get Open Positions

REST APIsTradingDerivativesGet Open Positions

Get Open Positions

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

Retrieves all open positions for the account.

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

Roles

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

The OAuth scope must have orders:read assigned to access this endpoint. See OAuth Scopes 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/positions"
nonceinteger·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. Specifies the account on which the orders were placed. Only available for exchange accounts.
Example request body
{
  "request": "/v1/positions",
  "nonce": "<nonce>",
  "account": "primary"
}

Responses

Successful operation

openPositionsarray
openPositions[].symbolstring
The [symbol](/market-data/symbols-and-minimums) of the order.
openPositions[].instrument_typestring
The type of instrument. Either "spot" or "perp".
openPositions[].quantitystring (decimal)
The position size. Value will be negative for shorts.
openPositions[].notional_valuestring (decimal)
The value of position; calculated as (`quantity` * `mark_price`). Value will be negative for shorts.
openPositions[].realised_pnlstring (decimal)
The current P&L that has been realised from the position.
openPositions[].unrealised_pnlstring (decimal)
Current Mark to Market value of the positions.
openPositions[].average_coststring (decimal)
The average price of the current position.
openPositions[].mark_pricestring (decimal)
The current Mark Price for the Asset or the position.
Example Responses
[
  {
    "symbol": "btcgusdperp",
    "instrument_type": "perp",
    "quantity": "0.2",
    "notional_value": "4000.036",
    "realised_pnl": "1234.5678",
    "unrealised_pnl": "999.946",
    "average_cost": "15000.45",
    "mark_price": "20000.18"
  }
]
PreviousDerivativesNextMargin Trading
Last modified on May 5, 2026