For DevelopersAPIInfo EndpointInfo Endpoint

Info Endpoint

The info endpoint provides read-only access to all public and user-specific data on GX Exchange. All requests are sent as POST /info with a JSON body containing a type field that determines which data is returned.

Endpoint

POST /info
Content-Type: application/json

Authentication: Not required for public queries. User-specific queries require only the user’s address (no signature).

Request Format

Every info request is a JSON object with a type field:

{ "type": "meta" }

Some queries accept additional parameters:

{ "type": "l2Book", "coin": "BTC" }
{ "type": "clearinghouseState", "user": "0x1234...abcd" }

Available Query Types

Public Market Data

TypeDescriptionAdditional FieldsDetails
metaPerpetual market metadataPerpetuals
spotMetaSpot market and token metadataSpot
allMidsAll current mid pricesPerpetuals
l2BookL2 orderbook snapshotcoinPerpetuals
candleSnapshotHistorical OHLCV candlesreq: { coin, interval, startTime, endTime }Perpetuals
fundingHistoryHistorical funding ratescoin, startTimePerpetuals

User-Specific Queries

TypeDescriptionAdditional Fields
clearinghouseStateAccount positions, margin, PnLuser
openOrdersActive open ordersuser
userFillsRecent trade fillsuser
userFillsByTimeFills within a time rangeuser, startTime, endTime, aggregateByTime
userFeesFee tier and historyuser
orderStatusStatus of a specific orderuser, oid
userRateLimitCurrent rate limit usageuser
portfolioFull portfolio summaryuser
subAccountsSub-account listinguser
extraAgentsAuthorized API walletsuser
referralReferral program stateuser
delegatorSummaryStaking delegation summaryuser

Response Format

Responses vary by query type. The response body is the requested data directly — there is no wrapper object.

Example: allMids

{
  "BTC": "67432.5",
  "ETH": "3521.2",
  "SOL": "142.8"
}

Example: clearinghouseState

{
  "assetPositions": [...],
  "crossMarginSummary": {
    "accountValue": "125000.50",
    "totalMarginUsed": "12500.00",
    "totalNtlPos": "50000.00",
    "totalRawUsd": "75000.00"
  },
  "marginSummary": { ... },
  "withdrawable": "112500.50"
}

Rate Limits

The /info endpoint is rate-limited to 1,200 requests per minute per IP address. See Rate Limits for details.

Error Handling

Invalid query types return HTTP 400:

{
  "error": "bad_request",
  "message": "Unknown info type: invalidType"
}

Missing required fields return HTTP 400:

{
  "error": "bad_request",
  "message": "Missing required field: coin"
}