API reference / Crypto spot

Crypto spot

Crypto-spot price history, previous UTC-day candles, and daily open/close.

3 endpoints. Pay per call in USDC via x402 with no account, or get unlimited calls for $99/mo. Every response is shaped { ticker, data, source, as_of }.

GET/api/v1/crypto/{pair}/aggregates$0.02

Crypto price history: OHLC bars for a spot pair over any timespan and date range

Historical OHLCV bars for a major-coin crypto spot pair at the requested multiplier and timespan (minute, hour, day, week, month) between `from` and `to`. Pass the pair in the path as BASE-QUOTE, e.g. BTC-USD or ETH-USD. Aggregated centralized-market spot — for Hyperliquid-listed token spot use /api/v1/spot, for perps use /api/v1/perps.

Example request
GET /api/v1/crypto/BTC-USD/aggregates
Response type (TypeScript)
interface CryptoAggregatesResponse {
  ticker: string;
  data: {
    bars: Array<{
      open: number;
      high: number;
      low: number;
      close: number;
      volume: number;
      vwap: number;
      trade_count: number;
      timestamp: string;
    }>;
    count: number;
    adjusted: boolean;
  };
  source: string;
  as_of: string;
}
Example response (click to expand)
{
  "ticker": "X:BTCUSD",
  "data": {
    "bars": [
      {
        "open": 76305.78,
        "high": 78961.14,
        "low": 76275.01,
        "close": 78234.05,
        "volume": 11852.46625517,
        "vwap": 77956.4358,
        "trade_count": 986918,
        "timestamp": "2026-05-01T00:00:00.000Z"
      },
      {
        "open": 78235.3,
        "high": 79200,
        "low": 77974,
        "close": 78629,
        "volume": 3783.47246405,
        "vwap": 78454.3441,
        "trade_count": 325211,
        "timestamp": "2026-05-02T00:00:00.000Z"
      },
      {
        "open": 78660,
        "high": 79428.6,
        "low": 78041,
        "close": 78558.89,
        "volume": 4380.42752258,
        "vwap": 78672.8729,
        "trade_count": 339992,
        "timestamp": "2026-05-03T00:00:00.000Z"
      },
      {
        "open": 78547.4,
        "high": 80770.7,
        "low": 78169,
        "close": 79852.37,
        "volume": 16448.85089936,
        "vwap": 79729.0463,
        "trade_count": 930858,
        "timestamp": "2026-05-04T00:00:00.000Z"
      },
      {
        "open": 79852.37,
        "high": 81799.6,
        "low": 79763,
        "close": 80907.72,
        "volume": 12211.2314954,
        "vwap": 81180.9838,
        "trade_count": 791845,
        "timestamp": "2026-05-05T00:00:00.000Z"
      },
      {
        "open": 80900.1,
        "high": 82818,
        "low": 80663,
        "close": 81438.1,
        "volume": 11499.79547722,
        "vwap": 81713.6351,
        "trade_count": 821760,
        "timestamp": "2026-05-06T00:00:00.000Z"
      },
      {
        "open": 81438.11,
        "high": 81709.17,
        "low": 79368.7,
        "close": 80005.38,
        "volume": 9567.76834312,
        "vwap": 80405.0186,
        "trade_count": 842973,
        "timestamp": "2026-05-07T00:00:00.000Z"
      },
      {
        "open": 80005.38,
        "high": 80492,
        "low": 79145,
        "close": 80188.82,
        "volume": 5342.90353922,
        "vwap": 80027.9992,
        "trade_count": 485370,
        "timestamp": "2026-05-08T00:00:00.000Z"
      },
      {
        "open": 80196.9,
        "high": 81065.32,
        "low": 80102,
        "close": 80655.96,
        "volume": 3414.27521082,
        "vwap": 80482.5739,
        "trade_count": 382157,
        "timestamp": "2026-05-09T00:00:00.000Z"
      },
      {
        "open": 80670.1,
        "high": 82450,
        "low": 80237,
        "close": 82199.99,
        "volume": 6517.97492197,
        "vwap": 81212.7534,
        "trade_count": 462343,
        "timestamp": "2026-05-10T00:00:00.000Z"
      },
      {
        "open": 82171.9,
        "high": 82379,
        "low": 80400,
        "close": 81727.06,
        "volume": 9920.75024672,
        "vwap": 81435.5378,
        "trade_count": 773515,
        "timestamp": "2026-05-11T00:00:00.000Z"
      },
      {
        "open": 81730.6,
        "high": 81778,
        "low": 79802.51,
        "close": 80484.72,
        "volume": 7862.70788893,
        "vwap": 80701.3526,
        "trade_count": 745293,
        "timestamp": "2026-05-12T00:00:00.000Z"
      },
      {
        "open": 80484.72,
        "high": 81293.93,
        "low": 78699.83,
        "close": 79288.26,
        "volume": 10419.92343343,
        "vwap": 79707.1096,
        "trade_count": 569901,
        "timestamp": "2026-05-13T00:00:00.000Z"
      },
      {
        "open": 79292.1,
        "high": 82066.22,
        "low": 78867,
        "close": 81079.39,
        "volume": 16536.47359658,
        "vwap": 80919.8963,
        "trade_count": 730976,
        "timestamp": "2026-05-14T00:00:00.000Z"
      },
      {
        "open": 81070.1,
        "high": 81650,
        "low": 78570,
        "close": 79058.51,
        "volume": 9281.40297212,
        "vwap": 79665.4745,
        "trade_count": 838818,
        "timestamp": "2026-05-15T00:00:00.000Z"
      },
      {
        "open": 79062.6,
        "high": 79183,
        "low": 77598,
        "close": 78105.45,
        "volume": 4791.0481082,
        "vwap": 78392.3258,
        "trade_count": 806590,
        "timestamp": "2026-05-16T00:00:00.000Z"
      },
      {
        "open": 78122.9,
        "high": 78624,
        "low": 76602,
        "close": 77407.59,
        "volume": 4066.53769086,
        "vwap": 77935.2898,
        "trade_count": 337191,
        "timestamp": "2026-05-17T00:00:00.000Z"
      },
      {
        "open": 77406.57,
        "high": 77780,
        "low": 75992,
        "close": 76943.98,
        "volume": 12060.58334105,
        "vwap": 76715.3036,
        "trade_count": 841307,
        "timestamp": "2026-05-18T00:00:00.000Z"
      },
      {
        "open": 76943.96,
        "high": 77440,
        "low": 76061.12,
        "close": 76767.48,
        "volume": 8264.8186178,
        "vwap": 76728.1299,
        "trade_count": 634368,
        "timestamp": "2026-05-19T00:00:00.000Z"
      },
      {
        "open": 76756.3,
        "high": 77877,
        "low": 76433.52,
        "close": 77475.99,
        "volume": 9206.48568904,
        "vwap": 77258.6532,
        "trade_count": 627211,
        "timestamp": "2026-05-20T00:00:00.000Z"
      },
      {
        "open": 77475.98,
        "high": 78243,
        "low": 76619.02,
        "close": 77547.62,
        "volume": 8642.33733632,
        "vwap": 77530.5703,
        "trade_count": 588918,
        "timestamp": "2026-05-21T00:00:00.000Z"
      },
      {
        "open": 77547.25,
        "high": 77914,
        "low": 75266.73,
        "close": 75443.91,
        "volume": 8069.99601194,
        "vwap": 76681.6867,
        "trade_count": 560504,
        "timestamp": "2026-05-22T00:00:00.000Z"
      },
      {
        "open": 75456.6,
        "high": 77448,
        "low": 74027,
        "close": 76650,
        "volume": 9036.39498356,
        "vwap": 75621.8542,
        "trade_count": 525280,
        "timestamp": "2026-05-23T00:00:00.000Z"
      },
      {
        "open": 76670.1,
        "high": 77604,
  
… (truncated — call the endpoint for the full response)
GET/api/v1/crypto/{pair}/prev-close$0.01

Previous UTC-day OHLC candle for a crypto spot pair

Crypto trades 24/7, so there is no session close: this returns the previous UTC calendar day's full OHLCV candle (00:00–24:00 UTC) for a spot pair — open, high, low, close, volume, and VWAP. Pass the pair in the path as BASE-QUOTE, e.g. BTC-USD. One call returns yesterday's daily bar.

Example request
GET /api/v1/crypto/BTC-USD/prev-close
Response type (TypeScript)
interface CryptoPrevCloseResponse {
  ticker: string;
  data: {
    open: number;
    high: number;
    low: number;
    close: number;
    volume: number;
    vwap: number;
    trade_count: number;
    timestamp: string;
  };
  source: string;
  as_of: string;
}
Example response (click to expand)
{
  "ticker": "X:BTCUSD",
  "data": {
    "open": 71314.43,
    "high": 71406,
    "low": 66099.58,
    "close": 66704,
    "volume": 31286.97032105,
    "vwap": 68318.2858,
    "trade_count": 1587492,
    "timestamp": "2026-06-02T23:59:59.999Z"
  },
  "source": "x402stock",
  "as_of": "2026-06-02T23:59:59.999Z"
}
GET/api/v1/crypto/{pair}/open-close$0.01

Daily open and close for a crypto spot pair on a specific date

The official UTC open and close price for a crypto spot pair on a given date. Pass the pair in the path as BASE-QUOTE, e.g. BTC-USD, and the date via `?date=YYYY-MM-DD` (required). Crypto trades 24/7, so this is the UTC-day open/close.

Example request
GET /api/v1/crypto/BTC-USD/open-close
Response type (TypeScript)
interface CryptoOpenCloseResponse {
  ticker: string;
  data: {
    date: string;
    open: number;
    close: number;
  };
  source: string;
  as_of: string;
}
Example response (click to expand)
{
  "ticker": "X:BTCUSD",
  "data": {
    "date": "2026-05-15",
    "open": 81070.1,
    "close": 79058.51
  },
  "source": "x402stock",
  "as_of": "2026-05-15T00:00:00.000Z"
}