For the complete documentation index, see llms.txt. This page is also available as Markdown.

Market Data

Prices, market-level trades, depth, candles, etc.

Get spot market summaries

get

Statistics and throttled market data for all spot markets. Recalculated every 0.5s

Responses
200

List of spot market summaries

application/json
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
updatedAtintegerRequired

Time when the spot market summary was last calculated (milliseconds)

Example: 1747927089946
volume24hstringRequired

24-hour trading volume in USD

Example: 917833.49891Pattern: ^\d+(\.\d+)?([eE][+-]?\d+)?$
pxChange24hstringOptional

Absolute 24-hour price change

Example: 92.6272285500004Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
oraclePricestringOptional

Current oracle price: the Stork price for the market's base token, quoted in USDC (also called rUSD in reya network)

Example: 2666.48162040777Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
throttledMidPricestringOptional

Last spot orderbook mid price, at the moment of the last market summary update. Omitted when the book is empty or one-sided.

Example: 2666.48166680625Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
Other propertiesanyOptional
get/spotMarkets/summary
GET /v2/spotMarkets/summary HTTP/1.1
Accept: */*
[
  {
    "symbol": "BTCRUSDPERP",
    "updatedAt": 1747927089946,
    "volume24h": "917833.49891",
    "pxChange24h": "92.6272285500004",
    "oraclePrice": "2666.48162040777",
    "throttledMidPrice": "2666.48166680625",
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
]

Get spot market summary

get

Statistics and throttled market data for a specific spot market. Recalculated every 0.5s

Path parameters
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
Responses
200

Spot market summary data

application/json
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
updatedAtintegerRequired

Time when the spot market summary was last calculated (milliseconds)

Example: 1747927089946
volume24hstringRequired

24-hour trading volume in USD

Example: 917833.49891Pattern: ^\d+(\.\d+)?([eE][+-]?\d+)?$
pxChange24hstringOptional

Absolute 24-hour price change

Example: 92.6272285500004Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
oraclePricestringOptional

Current oracle price: the Stork price for the market's base token, quoted in USDC (also called rUSD in reya network)

Example: 2666.48162040777Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
throttledMidPricestringOptional

Last spot orderbook mid price, at the moment of the last market summary update. Omitted when the book is empty or one-sided.

Example: 2666.48166680625Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
Other propertiesanyOptional
get/spotMarket/{symbol}/summary
GET /v2/spotMarket/{symbol}/summary HTTP/1.1
Accept: */*
{
  "symbol": "BTCRUSDPERP",
  "updatedAt": 1747927089946,
  "volume24h": "917833.49891",
  "pxChange24h": "92.6272285500004",
  "oraclePrice": "2666.48162040777",
  "throttledMidPrice": "2666.48166680625",
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

Get perp market summaries

get

Perp market summary route mirroring the /spotMarkets/summary naming. Statistics and throttled market data for all perp markets. Recalculated every 0.5s

Responses
200

List of perp market summaries

application/json
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
updatedAtintegerRequired

Time when the market summary was last calculated (milliseconds)

Example: 1747927089946
oiQtystringRequired

Total open interest quantity

Example: 154.741Pattern: ^\d+(\.\d+)?([eE][+-]?\d+)?$
fundingRatestringRequired

Current hourly funding rate

Example: -0.000509373441021089Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
longFundingValuestringRequired

Current reference value of funding accrued by one unit of exposure; there is one funding value per market and per direction, with short v long funding values differing possibly due to Auto-Deleveraging (ADL)

Example: 412142.26Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
shortFundingValuestringRequired

Current reference value of funding accrued by one unit of exposure; there is one funding value per market and per direction, with short v long funding values differing possibly due to Auto-Deleveraging (ADL)

Example: 412142.26Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
volume24hstringRequiredExample: 917833.49891Pattern: ^\d+(\.\d+)?([eE][+-]?\d+)?$
pxChange24hstringOptionalExample: 92.6272285500004Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
markPricestringOptional

Mark price at the last market summary update: the median of available impact-price, index-plus-premium, and CEX-mark values. Used for PnL, margin, and liquidation calculations.

Example: 2666.48162040777Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
oraclePricestringOptional

Stork index price for the market's underlying, sourced from CEX feeds. Absent when no fresh index tick is available.

Example: 2666.12048917322Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
throttledMidPricestringOptional

Last mid price, at the moment of the last market summary update. Absent on an empty or one-sided book.

Example: 2666.48166680625Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
pricesUpdatedAtintegerOptional

Timestamp of the last price update (milliseconds)

Example: 1747927089597
Other propertiesanyOptional
get/perpMarkets/summary
GET /v2/perpMarkets/summary HTTP/1.1
Accept: */*
[
  {
    "symbol": "BTCRUSDPERP",
    "updatedAt": 1747927089946,
    "oiQty": "154.741",
    "fundingRate": "-0.000509373441021089",
    "longFundingValue": "412142.26",
    "shortFundingValue": "412142.26",
    "volume24h": "917833.49891",
    "pxChange24h": "92.6272285500004",
    "markPrice": "2666.48162040777",
    "oraclePrice": "2666.12048917322",
    "throttledMidPrice": "2666.48166680625",
    "pricesUpdatedAt": 1747927089597,
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
]

Get perp market summary

get

Perp market summary route mirroring the /spotMarket/{symbol}/summary naming. Statistics and throttled data for a specific perp market. Recalculated every 0.5s

Path parameters
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
Responses
200

Market summary

application/json
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
updatedAtintegerRequired

Time when the market summary was last calculated (milliseconds)

Example: 1747927089946
oiQtystringRequired

Total open interest quantity

Example: 154.741Pattern: ^\d+(\.\d+)?([eE][+-]?\d+)?$
fundingRatestringRequired

Current hourly funding rate

Example: -0.000509373441021089Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
longFundingValuestringRequired

Current reference value of funding accrued by one unit of exposure; there is one funding value per market and per direction, with short v long funding values differing possibly due to Auto-Deleveraging (ADL)

Example: 412142.26Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
shortFundingValuestringRequired

Current reference value of funding accrued by one unit of exposure; there is one funding value per market and per direction, with short v long funding values differing possibly due to Auto-Deleveraging (ADL)

Example: 412142.26Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
volume24hstringRequiredExample: 917833.49891Pattern: ^\d+(\.\d+)?([eE][+-]?\d+)?$
pxChange24hstringOptionalExample: 92.6272285500004Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
markPricestringOptional

Mark price at the last market summary update: the median of available impact-price, index-plus-premium, and CEX-mark values. Used for PnL, margin, and liquidation calculations.

Example: 2666.48162040777Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
oraclePricestringOptional

Stork index price for the market's underlying, sourced from CEX feeds. Absent when no fresh index tick is available.

Example: 2666.12048917322Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
throttledMidPricestringOptional

Last mid price, at the moment of the last market summary update. Absent on an empty or one-sided book.

Example: 2666.48166680625Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
pricesUpdatedAtintegerOptional

Timestamp of the last price update (milliseconds)

Example: 1747927089597
Other propertiesanyOptional
get/perpMarket/{symbol}/summary
GET /v2/perpMarket/{symbol}/summary HTTP/1.1
Accept: */*
{
  "symbol": "BTCRUSDPERP",
  "updatedAt": 1747927089946,
  "oiQty": "154.741",
  "fundingRate": "-0.000509373441021089",
  "longFundingValue": "412142.26",
  "shortFundingValue": "412142.26",
  "volume24h": "917833.49891",
  "pxChange24h": "92.6272285500004",
  "markPrice": "2666.48162040777",
  "oraclePrice": "2666.12048917322",
  "throttledMidPrice": "2666.48166680625",
  "pricesUpdatedAt": 1747927089597,
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

Get asset oracle prices

get

Asset Stork oracle prices. This feed deliberately omits the AMM-era poolPrice field.

Responses
200

List of asset oracle prices

application/json
assetstringRequiredExample: RUSDPattern: ^[A-Za-z0-9]+$
oraclePricestringRequired

Asset oracle price supplied by Stork.

Example: 1.0000Pattern: ^-?\d+(\.\d+)?([eE][+-]?\d+)?$
updatedAtintegerRequired

Last update timestamp (milliseconds)

Example: 1747927089946
Other propertiesanyOptional
get/assetOraclePrices
GET /v2/assetOraclePrices HTTP/1.1
Accept: */*
[
  {
    "asset": "RUSD",
    "oraclePrice": "1.0000",
    "updatedAt": 1747927089946,
    "ANY_ADDITIONAL_PROPERTY": "anything"
  }
]

Get perp executions for market

get

Returns up to 100 perp executions for a given market.

Path parameters
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
Query parameters
startTimeintegerOptional

Return results at or after this time (inclusive lower bound). Millisecond POSIX timestamp, matched against the endpoint's record timestamp. Execution and bust endpoints use on-chain block timestamps; orderHistory uses the order event timestamp exposed as lastUpdateAt.

Example: 1756733379000
endTimeintegerOptional

Return results at or before this time (inclusive upper bound). Millisecond POSIX timestamp, matched against the endpoint's record timestamp. Execution and bust endpoints use on-chain block timestamps; orderHistory uses the order event timestamp exposed as lastUpdateAt. Results are returned newest-first and capped at a maximum that varies by endpoint. Because this bound is inclusive, passing the oldest timestamp from the previous page can repeat boundary rows; clients can deduplicate overlap or subtract 1ms when same-ms boundary ties are not relevant.

Example: 1756733679000
typestring · enumOptional

Filter perp executions by their exact response type. Omit to return executions of all types.

Example: LIQUIDATIONPossible values:
Responses
200

List of perp executions

application/json
Other propertiesanyOptional
get/market/{symbol}/perpExecutions
GET /v2/market/{symbol}/perpExecutions HTTP/1.1
Accept: */*
{
  "data": [
    {
      "exchangeId": 1,
      "symbol": "BTCRUSDPERP",
      "takerAccountId": 12345,
      "makerAccountId": 67890,
      "takerOrderId": "63552420354981888",
      "makerOrderId": "63552420037263360",
      "qty": "1.0",
      "side": "B",
      "price": "43000.00",
      "takerFee": "0.50",
      "protocolFeeCredit": "0.30",
      "referrerFeeCredit": "0.05",
      "takerRebateCredit": "0.10",
      "poolFeeCredit": "0.05",
      "makerFee": "-0.10",
      "takerOpeningFee": "0.25",
      "makerOpeningFee": "-0.05",
      "type": "ORDER_MATCH",
      "timestamp": 1747927089946,
      "sequenceNumber": 152954,
      "fillId": "42",
      "takerRealizedPnl": "12.50",
      "makerRealizedPnl": "-12.50",
      "takerPriceVariationPnl": "15.00",
      "makerPriceVariationPnl": "-15.00",
      "takerFundingPnl": "-2.50",
      "makerFundingPnl": "2.50",
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "meta": {
    "limit": 100,
    "count": 50,
    "endTime": 1756733579000,
    "startTime": 1756733679000,
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

Get market depth snapshot

get

Returns an L2 order book snapshot with aggregated price levels for the specified market. Supports both spot and perp markets.

By default the top 100 aggregated price levels per side are returned. Pass the optional limit query parameter to request between 1 and 1,000 levels per side — the limit best (highest) bids and the limit best (lowest) asks. Values above 1,000 are clamped to 1,000; other out-of-contract values fall back to the default of 100.

Returns HTTP 503 with SERVICE_UNAVAILABLE_ERROR while this server's depth mirror is bootstrapping or cannot decode the market-data feed. A cached book is not served during that condition. Retry the same read after backing off; no signing nonce is involved. Other API routes remain available, and depth reads resume after recovery.

Path parameters
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
Query parameters
limitinteger · min: 1 · max: 1000Optional

Optional cap on the number of aggregated price levels returned per side. The default is 100 and the maximum is 1,000. When set to N within the declared range, the response contains the top N levels on each side — the N best (highest) bids and the N best (lowest) asks. Values above the maximum are clamped to 1,000; other out-of-contract values are not rejected and instead fall back to the default of 100.

Default: 100Example: 10
Responses
200

Depth snapshot

application/json
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
updatedAtintegerRequired

Timestamp in milliseconds associated with the latest depth state. Comparable across markets. It is not a feed-liveness signal: a quiet market may retain an old timestamp.

Example: 1747927809946
typestring · enumRequired

Literal discriminator for a bounded depth snapshot.

Possible values:
Other propertiesanyOptional
get/market/{symbol}/depth
GET /v2/market/{symbol}/depth HTTP/1.1
Accept: */*
{
  "symbol": "BTCRUSDPERP",
  "updatedAt": 1747927809946,
  "ANY_ADDITIONAL_PROPERTY": "anything",
  "type": "SNAPSHOT",
  "bids": [
    {
      "px": "0.1668",
      "qty": "4418.7970",
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "asks": [
    {
      "px": "0.1668",
      "qty": "4418.7970",
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ]
}

Get spot executions for market

get

Returns up to 100 spot executions for a given market.

Path parameters
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
Query parameters
startTimeintegerOptional

Return results at or after this time (inclusive lower bound). Millisecond POSIX timestamp, matched against the endpoint's record timestamp. Execution and bust endpoints use on-chain block timestamps; orderHistory uses the order event timestamp exposed as lastUpdateAt.

Example: 1756733379000
endTimeintegerOptional

Return results at or before this time (inclusive upper bound). Millisecond POSIX timestamp, matched against the endpoint's record timestamp. Execution and bust endpoints use on-chain block timestamps; orderHistory uses the order event timestamp exposed as lastUpdateAt. Results are returned newest-first and capped at a maximum that varies by endpoint. Because this bound is inclusive, passing the oldest timestamp from the previous page can repeat boundary rows; clients can deduplicate overlap or subtract 1ms when same-ms boundary ties are not relevant.

Example: 1756733679000
Responses
200

List of spot executions

application/json
Other propertiesanyOptional
get/market/{symbol}/spotExecutions
GET /v2/market/{symbol}/spotExecutions HTTP/1.1
Accept: */*
{
  "data": [
    {
      "exchangeId": 1,
      "symbol": "BTCRUSDPERP",
      "takerAccountId": 12345,
      "makerAccountId": 67890,
      "takerOrderId": "63552420354981888",
      "makerOrderId": "63552420037263360",
      "side": "B",
      "qty": "1.0",
      "price": "43000.00",
      "takerFee": "0.0",
      "type": "ORDER_MATCH",
      "timestamp": 1747927089946,
      "sequenceNumber": 152954,
      "fillId": "42",
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "meta": {
    "limit": 100,
    "count": 50,
    "endTime": 1756733579000,
    "startTime": 1756733679000,
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

Get execution busts for market

get

Returns up to 100 execution busts (failed fills) for a given market, covering both spot and perp markets. Clients can distinguish spot vs perp entries from the symbol suffix (*RUSDPERP for perp, *RUSD for spot).

Path parameters
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
Query parameters
startTimeintegerOptional

Return results at or after this time (inclusive lower bound). Millisecond POSIX timestamp, matched against the endpoint's record timestamp. Execution and bust endpoints use on-chain block timestamps; orderHistory uses the order event timestamp exposed as lastUpdateAt.

Example: 1756733379000
endTimeintegerOptional

Return results at or before this time (inclusive upper bound). Millisecond POSIX timestamp, matched against the endpoint's record timestamp. Execution and bust endpoints use on-chain block timestamps; orderHistory uses the order event timestamp exposed as lastUpdateAt. Results are returned newest-first and capped at a maximum that varies by endpoint. Because this bound is inclusive, passing the oldest timestamp from the previous page can repeat boundary rows; clients can deduplicate overlap or subtract 1ms when same-ms boundary ties are not relevant.

Example: 1756733679000
Responses
200

List of execution busts

application/json
Other propertiesanyOptional
get/market/{symbol}/executionBusts
GET /v2/market/{symbol}/executionBusts HTTP/1.1
Accept: */*
{
  "data": [
    {
      "symbol": "BTCRUSDPERP",
      "takerAccountId": 12345,
      "exchangeId": 1,
      "makerAccountId": 67890,
      "takerOrderId": "63552420354981888",
      "makerOrderId": "63552420037263360",
      "qty": "1.0",
      "side": "B",
      "price": "43000.00",
      "reason": {
        "reasonName": "InvalidSignature"
      },
      "timestamp": 1747927089946,
      "sequenceNumber": 152954,
      "fillId": "42",
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  ],
  "meta": {
    "limit": 100,
    "count": 50,
    "endTime": 1756733579000,
    "startTime": 1756733679000,
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

Get historical candles

get

Returns up to 200 candles for a given market, sorted by time in descending order, and ending at the specified end time.

Path parameters
symbolstringRequired

Trading symbol (e.g., BTCRUSDPERP, WETHRUSD)

Example: BTCRUSDPERPPattern: ^[A-Za-z0-9]+$
resolutionstring · enumRequired

Candle resolution

Example: 1mPossible values:
Query parameters
endTimeintegerOptional

Return results at or before this time (inclusive upper bound). Millisecond POSIX timestamp, matched against the endpoint's record timestamp. Execution and bust endpoints use on-chain block timestamps; orderHistory uses the order event timestamp exposed as lastUpdateAt. Results are returned newest-first and capped at a maximum that varies by endpoint. Because this bound is inclusive, passing the oldest timestamp from the previous page can repeat boundary rows; clients can deduplicate overlap or subtract 1ms when same-ms boundary ties are not relevant.

Example: 1756733679000
Responses
200

Historical candle data

application/json
tinteger[]Required

Array of timestamps (seconds)

Example: [1747804140,1747804200,1747804260]
ostring[]Required

Array of opening prices

Example: ["2557.997","2555.386","2560.118"]
hstring[]Required

Array of high prices

Example: ["2558.000","2560.699","2560.729"]
lstring[]Required

Array of low prices

Example: ["2554.637","2553.436","2559.368"]
cstring[]Required

Array of closing prices

Example: ["2555.387","2560.118","2560.439"]
Other propertiesanyOptional
get/candleHistory/{symbol}/{resolution}
GET /v2/candleHistory/{symbol}/{resolution} HTTP/1.1
Accept: */*
{
  "t": [
    1747804140,
    1747804200,
    1747804260
  ],
  "o": [
    "2557.997",
    "2555.386",
    "2560.118"
  ],
  "h": [
    "2558.000",
    "2560.699",
    "2560.729"
  ],
  "l": [
    "2554.637",
    "2553.436",
    "2559.368"
  ],
  "c": [
    "2555.387",
    "2560.118",
    "2560.439"
  ],
  "ANY_ADDITIONAL_PROPERTY": "anything"
}

Last updated