Skip to main content
GET
/
v1
/
exchange
/
snapshot
Get exchange snapshot
curl --request GET \
  --url https://perp-api.phoenix.trade/v1/exchange/snapshot
{
  "exchange": {
    "active": true,
    "activeTraderBuffer": [
      "<string>"
    ],
    "canonicalMint": "<string>",
    "currentAuthorities": {
      "adlAuthority": "<string>",
      "backstopAuthority": "<string>",
      "cancelAuthority": "<string>",
      "marketAuthority": "<string>",
      "oracleAuthority": "<string>",
      "riskAuthority": "<string>",
      "rootAuthority": "<string>"
    },
    "exchangeStatusBits": 1,
    "exchangeStatusFeatures": [
      "<string>"
    ],
    "gated": true,
    "globalConfig": "<string>",
    "globalTraderIndex": [
      "<string>"
    ],
    "globalVault": "<string>",
    "perpAssetMap": "<string>",
    "programId": "<string>",
    "usdcMint": "<string>",
    "withdrawQueue": "<string>"
  },
  "markets": [
    {
      "assetId": 1,
      "baseLotsDecimals": 123,
      "fundingConfig": {
        "fundingIntervalSeconds": 1,
        "fundingPeriodSeconds": 1,
        "maxFundingRatePerInterval": 123
      },
      "isolatedOnly": true,
      "leverageTiers": [
        {
          "limitOrderRiskFactor": 1,
          "maxLeverage": 1,
          "maxSizeBaseLots": 1
        }
      ],
      "makerFee": 123,
      "markPriceParameters": {
        "adjustedExchangeSpotPriceWeight": 1,
        "bookPriceRadius": 1,
        "bookPriceStaleThreshold": 1,
        "bookPriceWeight": 1,
        "commoditiesAfterHoursRadius": 1,
        "commoditiesAfterHoursRadiusBps": 1,
        "emaDiffRadius": 1,
        "emaPeriodSlots": 1,
        "exchangePerpPriceWeight": 1,
        "minOracleResponses": 1,
        "oracleDivergenceRadius": 1,
        "perpPriceStaleThreshold": 1,
        "riskActionPriceValidityRules": [
          [
            [
              "ignore"
            ]
          ]
        ],
        "spotPriceStaleThreshold": 1
      },
      "marketPubkey": "<string>",
      "marketStatus": "uninitialized",
      "maxLiquidationSizeBaseLots": 1,
      "openInterestCapBaseLots": 1,
      "riskFactors": {
        "backstop": 123,
        "cancelOrder": 123,
        "highRisk": 123,
        "maintenance": 123,
        "upnl": 123,
        "upnlForWithdrawals": 123
      },
      "splinePubkey": "<string>",
      "symbol": "<string>",
      "takerFee": 123,
      "tickSize": 1,
      "commodityMetadata": {
        "afterHoursRadius": "<string>",
        "isAfterHours": true,
        "isCommodity": true,
        "isReopen": true,
        "status": "active",
        "executionPriceBand": {
          "lower": "<string>",
          "upper": "<string>"
        },
        "lastIndexExpiryTimestamp": 1,
        "lastKnownIndexPrice": "<string>",
        "markPriceBand": {
          "lower": "<string>",
          "upper": "<string>"
        }
      }
    }
  ],
  "slot": 1,
  "slotIndex": 1,
  "version": 1,
  "sequenceNumber": 1
}

Response

200 - application/json

Exchange snapshot

exchange
object
required
markets
object[]
required
slot
integer<int64>
required
Required range: x >= 0
slotIndex
integer<int32>
required
Required range: x >= 0
version
integer<int32>
required
Required range: x >= 0
sequenceNumber
null | integer<int64>

Wrapper for unsigned 64-bit values that must be JSON-safe for consumers written in JavaScript/TypeScript. Mirrors [JsSafeI64] but for unsigned Phoenix quantities such as base lots, quote lots, and slots.

Required range: x >= 0