SkillAgentSearch skills...

0xarchive

Query historical crypto market data from 0xArchive across Hyperliquid, Lighter.xyz, and HIP-3. Covers orderbooks, trades, candles, funding rates, open interest, liquidations, and data quality

Install / Use

npx skills add LeoYeAI/agent-master-skills --skill 0xarchive

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

94/100

Supported Platforms

Universal

Our assessment of 0xarchive

0xarchive scores 94/100 on our quality scale, 518th of 4,619 Development & Engineering skills we index (top 12%).

Its SKILL.md is 18 KB long, well organised into 36 sections with 6 code examples: a thorough specification that gives an agent plenty to work with.

With 2,168 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
30/30
Structure
20/20
Description
15/15
Adoption
14/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 6 days ago, so 0xarchive is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

0xarchive compared with similar skills

All 4 of these similar skills score higher than 0xarchive; compare them before choosing.

SkillScoreStarsUpdatedFormat
0xarchive (this skill)by LeoYeAI942.2k6d agoSKILL.md
taste-skillby Leonxlnx100111.2k1d agoCLAUDE.md
Agent-Reachby Panniantong100109.6ktodayCLAUDE.md
headroomby headroomlabs-ai10079.0ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10070.1k1d agoCLAUDE.md

Frequently asked questions

How do I install 0xarchive?
Run npx skills add LeoYeAI/agent-master-skills --skill 0xarchive. The install tabs above show the steps for each supported agent.
Which AI agents does 0xarchive work with?
It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
Is 0xarchive safe to use?
It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is 0xarchive still maintained?
The repository was last updated 6 days ago, so 0xarchive is actively maintained.

name: 0xarchive version: 1.5.0 description: > Query historical crypto market data from 0xArchive across Hyperliquid, Lighter.xyz, and HIP-3. Covers orderbooks, trades, candles, funding rates, open interest, liquidations, and data quality. Use when the user asks about crypto market data, orderbooks, trades, funding rates, or historical prices on Hyperliquid, Lighter.xyz, or HIP-3. allowed-tools: Bash argument-hint: "query, e.g. 'BTC funding rate' or 'ETH 4h candles last week'" metadata: {"openclaw":{"requires":{"env":["OXARCHIVE_API_KEY"]},"primaryEnv":"OXARCHIVE_API_KEY"}}

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):

  1. POST /web3/subscribe with { "tier": "build" } → server returns 402 with payment.amount (micro-USDC), payment.pay_to (treasury address), payment.network.
  2. Sign an EIP-712 TransferWithAuthorization (EIP-3009) on USDC Base:
    • Domain: { name: "USD Coin", version: "2", chainId: 8453, verifyingContract: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913" }
    • Type: TransferWithAuthorization(address from, address to, uint256 value, uint256 validAfter, uint256 validBefore, bytes32 nonce)
    • Message: { from: <wallet>, to: <pay_to>, value: <amount>, validAfter: 0, validBefore: <now+3600>, nonce: <32 random bytes hex> }
  3. Build x402 v2 payment payload:
    {
      "x402Version": 2,
      "payload": {
        "signature": "0x<EIP-712 signature hex>",
        "authorization": {
          "from": "0x<wallet>",
          "to": "0x<pay_to from step 1>",
          "value": "<amount as string>",
          "validAfter": "0",
          "validBefore": "<unix timestamp as string>",
          "nonce": "0x<64 hex chars>"
        }
      }
    }
    
  4. Base64-encode the JSON and retry: POST /web3/subscribe with { "tier": "build" } and header payment-signature: <base64 payload> → receive API key + subscription.

Important: All authorization values (value, validAfter, validBefore) must be strings, not numbers. See scripts/web3_subscribe.py for a complete working Python implementation.

Common Parameters

| Param | Type | Description | |-------|------|-------------| | start | int | Start timestamp (Unix ms). Defaults to 24h ago. | | `

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars2.2k
CategoryDevelopment
Updated6d ago
Forks328

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions