---
title: "Get exchange snapshot"
method: GET
path: "/v1/exchange/snapshot"
tags: ["Exchange"]
---

# Get exchange snapshot

`GET /v1/exchange/snapshot`

Handles `GET /v1/exchange/snapshot` via `get.v1.exchange.snapshot`.

## Response `200`

Exchange snapshot

- ExchangeSnapshotView
  - `exchange` ExchangeStateSnapshot, required
    - `active` boolean, required
    - `activeTraderBuffer` string[], required
    - `canonicalMint` string, required
    - `currentAuthorities` AuthoritySetView, required — View for authority set containing all authority pubkeys
      - `adlAuthority` string, required — ADL authority public key.
      - `backstopAuthority` string, required — Backstop authority public key.
      - `cancelAuthority` string, required — Cancel authority public key.
      - `marketAuthority` string, required — Market authority public key.
      - `oracleAuthority` string, required — Oracle authority public key.
      - `riskAuthority` string, required — Risk authority public key.
      - `rootAuthority` string, required — Root authority public key.
    - `exchangeStatusBits` integer, required
    - `exchangeStatusFeatures` string[], required
    - `gated` boolean, required
    - `globalConfig` string, required
    - `globalTraderIndex` string[], required
    - `globalVault` string, required
    - `perpAssetMap` string, required
    - `programId` string, required
    - `usdcMint` string, required
    - `withdrawQueue` string, required
    - `withdrawalsAvailable` boolean
  - `markets` ExchangeMarketSnapshot[], required
    - `assetId` integer, required
    - `baseLotsDecimals` integer, required
    - `commodityMetadata` ExchangeWsCommodityMetadata
      - `afterHoursRadius` string, required
      - `executionPriceBand` ExchangeWsMarketPriceBand
        - `lower` string, required
        - `upper` string, required
      - `isAfterHours` boolean, required
      - `isCommodity` boolean, required
      - `isReopen` boolean, required
      - `lastIndexExpiryTimestamp` integer, nullable
      - `lastKnownIndexPrice` string, nullable
      - `markPriceBand` ExchangeWsMarketPriceBand
        - `lower` string, required
        - `upper` string, required
      - `status` 'active' | 'afterHours' | 'reopen', required — Represents the state of a RWA market. This type is shared between on-chain and off-chain components
    - `fundingConfig` ExchangeWsFundingConfig, required
      - `fundingIntervalSeconds` integer, required
      - `fundingPeriodSeconds` integer, required
      - `maxFundingRatePerInterval` integer, required
    - `isolatedOnly` boolean, required
    - `leverageTiers` ExchangeWsLeverageTier[], required
      - `limitOrderRiskFactor` integer, required
      - `maxLeverage` integer, required
      - `maxSizeBaseLots` integer, required — 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.
    - `makerFee` number, double, required
    - `markPriceParameters` ExchangeWsMarkPriceParameters, required
      - `adjustedExchangeSpotPriceWeight` integer, required — 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.
      - `bookHardStaleMultiplier` integer
      - `bookPriceRadius` integer, required — 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.
      - `bookPriceStaleThreshold` integer, required — 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.
      - `bookPriceWeight` integer, required — 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.
      - `commoditiesAfterHoursRadius` integer, required — 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.
      - `commoditiesAfterHoursRadiusBps` integer, required — 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.
      - `emaDiffRadius` integer, required — 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.
      - `emaPeriodSlots` integer, required — 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.
      - `exchangePerpPriceWeight` integer, required — 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.
      - `minOracleResponses` integer, required
      - `oracleDivergenceRadius` integer, required
      - `oracleHardStaleMultiplier` integer
      - `perpPriceStaleThreshold` integer, required — 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.
      - `riskActionPriceValidityRules` array[], required
        - array[]
          - ExchangeWsValidationRule[]
      - `spotPriceStaleThreshold` integer, required — 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.
    - `marketPubkey` string, required
    - `marketStatus` 'uninitialized' | 'active' | 'postOnly' | 'paused' | 'closed' | 'tombstoned', required
    - `maxLiquidationSizeBaseLots` integer, required — 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.
    - `metadata` MarketPublicMetadata — Public off-chain metadata for a market.
      - `calendar` MarketCalendar — Public metadata for a market calendar associated with a market.
        - `calendarUri` string, required — URI where the full market calendar can be fetched.
        - `contentSha256` string, required — SHA-256 hash of the calendar content.
        - `description` string, required — Human-readable calendar description.
        - `id` string, required — Market calendar identifier configured off-chain.
        - `nextMarketTransitionUtc` string, date-time, nullable — Next UTC timestamp at which this calendar changes market state.
      - `coinGeckoId` string, nullable — CoinGecko asset identifier.
      - `coinMarketCapId` integer, nullable — CoinMarketCap numeric asset identifier.
      - `description` string, nullable — Human-readable market description.
      - `displayColor` string, nullable — Preferred display color for this market.
      - `logoUri` string, nullable — Logo URI for this market.
      - `name` string, nullable — Human-readable market name.
      - `tokensXyzAssetId` string, nullable — tokens.xyz asset identifier.
    - `openInterestCapBaseLots` integer, required — 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.
    - `riskFactors` ExchangeWsRiskFactors, required
      - `backstop` number, double, required — Backstop liquidation risk factor as a percentage.
      - `backstopBps` integer, nullable — Backstop liquidation risk factor in basis points.
      - `cancelOrder` number, double, required — Cancel order risk factor as a percentage.
      - `cancelOrderBps` integer, nullable — Cancel order risk factor in basis points.
      - `highRisk` number, double, required — High-risk threshold as a percentage.
      - `highRiskBps` integer, nullable — High-risk threshold in basis points.
      - `maintenance` number, double, required — Maintenance margin risk factor as a percentage (e.g., 50.0 = 50%).
      - `maintenanceBps` integer, nullable — Maintenance margin risk factor in basis points (e.g., 5000 = 50%).
      - `upnl` number, double, required — Risk factor for positive unrealized PnL penalty as a percentage.
      - `upnlBps` integer, nullable — Risk factor for positive unrealized PnL penalty in basis points.
      - `upnlForWithdrawals` number, double, required — Risk factor for positive unrealized PnL penalty during withdrawals in percentage terms.
      - `upnlForWithdrawalsBps` integer, nullable — Risk factor for positive unrealized PnL penalty during withdrawals in basis points.
    - `splinePubkey` string, required
    - `symbol` string, required
    - `takerFee` number, double, required
    - `tickSize` integer, required
  - `sequenceNumber` integer — 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.
  - `slot` integer, required
  - `slotIndex` integer, required
  - `version` integer, required

---

[API](https://skmtc.net/phoenix/apis/phoenix-eternal-api.md) · [All operations](https://skmtc.net/phoenix/apis/phoenix-eternal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phoenix/phoenix-eternal-api/versions/0f598402d680/schema)
