0xarchive
>
Install
mkdir -p .claude/skills/0xarchive && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16006" && unzip -o skill.zip -d .claude/skills/0xarchive && rm skill.zipInstalls to .claude/skills/0xarchive
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
>About this skill
0xArchive API Skill
Query historical and real-time crypto market data from 0xArchive using curl. Three exchanges are supported: Hyperliquid (perps DEX), Lighter.xyz (order-book DEX), and HIP-3 (Hyperliquid builder perps). Data types: orderbooks, trades, candles, funding rates, open interest, liquidations, and data quality metrics.
Authentication
All endpoints require the x-api-key header. The key is read from $OXARCHIVE_API_KEY.
curl -s -H "x-api-key: $OXARCHIVE_API_KEY" "https://api.0xarchive.io/v1/..."
Exchanges & Coin Naming
| Exchange | Path prefix | Coin format | Examples |
|---|---|---|---|
| Hyperliquid | /v1/hyperliquid | UPPERCASE | BTC, ETH, SOL |
| HIP-3 | /v1/hyperliquid/hip3 | Case-sensitive, builder:NAME | km:US500, xyz:GOLD, hyna:BTC, vntl:SPACEX, flx:TSLA, cash:NVDA |
| Lighter | /v1/lighter | UPPERCASE | BTC, ETH |
Hyperliquid and Lighter auto-uppercase the symbol server-side. HIP-3 coin names are passed through as-is.
Timestamps
All timestamps are Unix milliseconds. Use these shell helpers:
NOW=$(( $(date +%s) * 1000 ))
HOUR_AGO=$(( NOW - 3600000 ))
DAY_AGO=$(( NOW - 86400000 ))
WEEK_AGO=$(( NOW - 604800000 ))
Response Format
Every response follows this shape:
{
"success": true,
"data": [ ... ],
"meta": {
"count": 100,
"request_id": "uuid",
"next_cursor": "1706000000000" // present when more pages exist
}
}
Endpoint Reference
Hyperliquid (/v1/hyperliquid)
| Endpoint | Params | Notes |
|---|---|---|
GET /instruments | -- | List all instruments |
GET /instruments/{symbol} | -- | Single instrument details |
GET /orderbook/{symbol} | timestamp, depth | Latest or at timestamp |
GET /orderbook/{symbol}/history | start, end, limit, cursor, depth | Historical snapshots |
GET /trades/{symbol} | start, end, limit, cursor | Trade history |
GET /candles/{symbol} | start, end, limit, cursor, interval | OHLCV candles |
GET /funding/{symbol}/current | -- | Current funding rate |
GET /funding/{symbol} | start, end, limit, cursor, interval | Funding rate history |
GET /openinterest/{symbol}/current | -- | Current open interest |
GET /openinterest/{symbol} | start, end, limit, cursor, interval | OI history |
GET /liquidations/{symbol} | start, end, limit, cursor | Liquidation events |
GET /liquidations/{symbol}/volume | start, end, limit, cursor, interval | Aggregated liquidation volume (USD) |
GET /liquidations/user/{address} | start, end, limit, cursor, coin | Liquidations for a user |
GET /freshness/{symbol} | -- | Data freshness per data type |
GET /summary/{symbol} | -- | Combined market summary (price, funding, OI, volume, liquidations) |
GET /prices/{symbol} | start, end, limit, cursor, interval | Mark/oracle/mid price history |
GET /orders/{symbol}/history | start, end, user, status, order_type, limit, cursor | Order history with user attribution (Build+) |
GET /orders/{symbol}/flow | start, end, interval, limit | Order flow aggregation (Build+) |
GET /orders/{symbol}/tpsl | start, end, user, triggered, limit, cursor | TP/SL order history (Pro+) |
GET /orderbook/{symbol}/l4 | timestamp, depth | L4 orderbook reconstruction (Pro+) |
GET /orderbook/{symbol}/l4/diffs | start, end, limit, cursor | L4 orderbook diffs (Build+) |
GET /orderbook/{symbol}/l4/history | start, end, limit, cursor | L4 orderbook checkpoints (Pro+) |
HIP-3 (/v1/hyperliquid/hip3)
Coin names are case-sensitive (e.g., km:US500). Orderbook requires Pro+ tier.
| Endpoint | Params | Notes |
|---|---|---|
GET /instruments | -- | List HIP-3 instruments |
GET /instruments/{coin} | -- | Single instrument |
GET /orderbook/{coin} | timestamp, depth | Requires Pro+ tier |
GET /orderbook/{coin}/history | start, end, limit, cursor, depth | Requires Pro+ tier |
GET /trades/{coin} | start, end, limit, cursor | Trade history |
GET /trades/{coin}/recent | limit | Recent trades (no time range needed) |
GET /candles/{coin} | start, end, limit, cursor, interval | OHLCV candles |
GET /funding/{coin}/current | -- | Current funding rate |
GET /funding/{coin} | start, end, limit, cursor, interval | Funding history |
GET /openinterest/{coin}/current | -- | Current OI |
GET /openinterest/{coin} | start, end, limit, cursor, interval | OI history |
GET /liquidations/{coin} | start, end, limit, cursor | Liquidation events |
GET /liquidations/{coin}/volume | start, end, limit, cursor, interval | Aggregated liquidation volume (USD) |
GET /freshness/{coin} | -- | Data freshness per data type |
GET /summary/{coin} | -- | Combined market summary (price, funding, OI) |
GET /prices/{coin} | start, end, limit, cursor, interval | Mark/oracle/mid price history |
GET /orders/{coin}/history | start, end, user, status, order_type, limit, cursor | Order history with user attribution (Build+) |
GET /orders/{coin}/flow | start, end, interval, limit | Order flow aggregation (Build+) |
GET /orders/{coin}/tpsl | start, end, user, triggered, limit, cursor | TP/SL order history (Pro+) |
GET /orderbook/{coin}/l4 | timestamp, depth | L4 orderbook reconstruction (Pro+) |
GET /orderbook/{coin}/l4/diffs | start, end, limit, cursor | L4 orderbook diffs (Build+) |
GET /orderbook/{coin}/l4/history | start, end, limit, cursor | L4 orderbook checkpoints (Pro+) |
Lighter (/v1/lighter)
Same data types as Hyperliquid except: no liquidations. Adds granularity on orderbook history and /recent trades.
| Endpoint | Params | Notes |
|---|---|---|
GET /instruments | -- | List Lighter instruments |
GET /instruments/{symbol} | -- | Single instrument |
GET /orderbook/{symbol} | timestamp, depth | Latest or at timestamp |
GET /orderbook/{symbol}/history | start, end, limit, cursor, depth, granularity | Default granularity: checkpoint |
GET /trades/{symbol} | start, end, limit, cursor | Trade history |
GET /trades/{symbol}/recent | limit | Recent trades (no time range needed) |
GET /candles/{symbol} | start, end, limit, cursor, interval | OHLCV candles |
GET /funding/{symbol}/current | -- | Current funding rate |
GET /funding/{symbol} | start, end, limit, cursor, interval | Funding history |
GET /openinterest/{symbol}/current | -- | Current OI |
GET /openinterest/{symbol} | start, end, limit, cursor, interval | OI history |
GET /freshness/{symbol} | -- | Data freshness per data type |
GET /summary/{symbol} | -- | Combined market summary (price, funding, OI) |
GET /prices/{symbol} | start, end, limit, cursor, interval | Mark/oracle price history |
GET /l3orderbook/{symbol} | timestamp, depth, account | L3 order-level orderbook (Pro+) |
GET /l3orderbook/{symbol}/history | start, end, limit, cursor, granularity, account | Historical L3 snapshots (Pro+) |
Data Quality (/v1/data-quality)
| Endpoint | Params | Notes |
|---|---|---|
GET /status | -- | System health status |
GET /coverage | -- | Coverage summary, all exchanges |
GET /coverage/{exchange} | -- | Coverage for one exchange |
GET /coverage/{exchange}/{symbol} | from, to | Symbol-level coverage + gaps |
GET /incidents | status, exchange, since, limit, offset | List incidents |
GET /incidents/{id} | -- | Single incident |
GET /latency | -- | Ingestion latency metrics |
GET /sla | year, month | SLA compliance report |
WebSocket Channels
Additional real-time channels available via WebSocket (wss://api.0xarchive.io/ws?apiKey=KEY):
| Channel | Notes |
|---|---|
l4_diffs | L4 orderbook diffs with user attribution (Build+, real-time only) |
l4_orders | Order lifecycle events with user attribution (Build+, real-time only) |
lighter_l3_orderbook | Lighter L3 order-level orderbook snapshots (Pro+, historical only) |
hip3_liquidations | HIP-3 liquidation events with long/short direction (Build+, historical only) |
hip3_l4_diffs | HIP-3 L4 orderbook diffs (Build+, real-time only) |
hip3_l4_orders | HIP-3 order lifecycle events (Build+, real-time only) |
Web3 Authentication (/v1)
Get API keys programmatically using an Ethereum wallet (SIWE). No API key required for these endpoints.
| Endpoint | Params | Notes |
|---|---|---|
POST /auth/web3/challenge | address (wallet address) | Returns SIWE message to sign |
POST /web3/signup | message, signature | Returns free-tier API key |
POST /web3/keys | message, signature | List all keys for wallet |
POST /web3/keys/revoke | message, signature, key_id | Revoke a key |
POST /web3/subscribe | tier (build or pro), payment-signature header | x402 USDC subscription (see flow below) |
Free-tier flow: Call /auth/web3/challenge with wallet address → sign the returned message with personal_sign (EIP-191) → submit to /web3/signup with the message and signature → receive API key.
Paid-tier flow (x402):
POST /web3/subscribewith{ "tier": "build" }→ server returns 402 withpayment.amount(micro-USDC),payment.pay_to(treasury address),payment.network.- Sign an EIP-712
TransferWithAuthorization(EIP-
Content truncated.