Many pairs in one call
Resolves up to 50 pairs, across chains, in one read per chain. A pair nobody indexes comes back with found: false rather than failing the batch; a blocked pair comes back with verdict.status: blocked. LP lock figures are not included — read the single pair for them.
Header Parameters
payment methods the client can use, comma-separated, case-insensitive. With x402 in the list, a spent keyless budget answers 402 with the x402 challenge instead of 429.
base64 x402 v2 payment payload for this request. A paid request skips the keyless budget and is settled only when it answers 2xx. The v1 header X-PAYMENT is accepted too.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/problem+json
application/problem+json
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/pairs/batch" \ -H "Content-Type: application/json" \ -d '{ "items": [ { "chain": "hyperliquid", "address": "string" } ] }'{ "items": [ { "chain": "hyperliquid", "address": "string", "found": true, "pair": { "network": { "slug": "hyperliquid", "chain_id": 0 }, "dex": { "name": "string", "factory": "string", "factory_type": "string", "chain_id": 0, "lp_token_symbol": "string" }, "pair_address": "string", "prop_data": { "is_perp": false, "is_honeypot": false, "spot_disabled": false, "perp_disabled": false, "buy_tax": 0, "sell_tax": 0, "liquidity_range": { "low": 0, "high": 0, "low_at": 0, "high_at": 0 }, "perp": { "max_leverage": 0, "only_isolated": false, "funding_rate": 0, "open_interest": 0, "open_interest_usd": 0, "mark_price": 0, "oracle_price": 0, "premium": 0, "day_notional_volume": 0, "synced_at": "string" } }, "status": "string", "score": { "value": 0, "title": "string", "updated_at": "string", "risk_signals": [ { "kind": "string", "weight": 0, "group": "cannot_exit", "severity": "critical", "observed_at": "string" } ] }, "deployer": { "address": "string", "tx_hash": "string", "block_number": 0, "log_index": 0, "reputation": { "score": 0, "status": "string", "pairs_created": 0, "abused_launches": 0, "first_seen_at": "string" } }, "security": { "burned_pct": 0, "locked_pct": 0, "top_lock_provider": "string", "earliest_unlock_at": "string", "checked_at": "string" }, "verdict": { "status": "string" }, "ticker": "string", "pair_fee": 0, "tokens": [ { "name": "string", "symbol": "string", "address": "string", "status": "string", "chain_id": 0, "price_usd": 0, "price_native": 0, "position": 0, "decimals": 0, "reserve": 0, "total_supply": 0, "price_range": { "low": 0, "high": 0, "low_at": 0, "high_at": 0 } } ], "txn": { "m5": { "buys": 0, "sells": 0, "buy_volume": 0, "sell_volume": 0, "buyers": 0, "sellers": 0 }, "h1": { "buys": 0, "sells": 0, "buy_volume": 0, "sell_volume": 0, "buyers": 0, "sellers": 0 }, "h6": { "buys": 0, "sells": 0, "buy_volume": 0, "sell_volume": 0, "buyers": 0, "sellers": 0 }, "h24": { "buys": 0, "sells": 0, "buy_volume": 0, "sell_volume": 0, "buyers": 0, "sellers": 0 } }, "volume": { "m5": 0, "h1": 0, "h6": 0, "h24": 0 }, "price_change": { "m5": 0, "h1": 0, "h6": 0, "h24": 0 }, "liquidity_usd": 0, "liquidity_onchain_usd": 0, "apr": 0, "fees_usd_24h": 0, "last_updated_at": "string", "created_at": "string", "last_trade_at": "string", "price_native": 0.1, "windows": { "m5": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0 }, "h1": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0 }, "h6": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0 }, "h24": { "price_change_pct": 0.1, "volume_usd": 0.1, "buy_volume_usd": 0.1, "sell_volume_usd": 0.1, "txns": { "buys": 0, "sells": 0 }, "buyers": 0, "sellers": 0 } }, "launchpad": { "name": "string", "protocol": "string", "stage": "string", "completed_at": "string", "migrated_pool": "string" }, "safety": { "is_honeypot": true, "buy_tax": 0.1, "sell_tax": 0.1, "lp_locked_pct": 0.1, "lp_burned_pct": 0.1, "score": 0, "labels": [ "string" ] } } } ]}Launchpad launches by stage (new, bonding or graduated) GET
Launches of one chain, newest first, each with its `launchpad` block. `new` is every pool a launchpad created, curve or not; `bonding` is a bonding-curve pool that has not graduated yet; `graduated` is a curve that completed and migrated to `launchpad.migrated_pool`. Curve progress is not published: nothing measured stands behind it yet.
Perpetual markets GET
Perpetual markets, highest 24h volume first unless `sort` says otherwise. Each row carries `prop_data.perp` — mark, oracle, funding, open interest.