0xArchive · AsyncAPI Specification
0Xarchive Websocket Channels
Version
View Spec
View on GitHub
market datahistorical datacryptoDeFiperpetualsderivativesorder bookHyperliquidLighterHIP-3HIP-4prediction marketsWebSocketstreaminghistorical replayParquetbulk dataMCPagent-nativex402OpenAPIRESTAsyncAPIEvents
AsyncAPI Specification
generated: '2026-09-01'
method: searched
source: https://docs.0xarchive.io/websocket/schema
sources:
- https://docs.0xarchive.io/websocket/schema
- https://docs.0xarchive.io/websocket/real-time
- https://docs.0xarchive.io/websocket/replay
- https://0xarchive.io/llms.txt
- https://0xarchive.io/changelog
asyncapi_published: false
asyncapi_probe:
- url: https://0xarchive.io/asyncapi.yaml
status: 404
checked: '2026-09-01'
- url: https://0xarchive.io/asyncapi.json
status: 404
checked: '2026-09-01'
webhooks_published: false
note: >-
This is NOT an AsyncAPI document and no canonical AsyncAPI pointer is claimed for it. 0xArchive
publishes no machine-readable event contract - the provider says so itself on the schema page:
"REST route map stays in OpenAPI; WebSocket message shape lives here until a standalone machine
contract is published." The event surface is nevertheless real, substantial and carefully
documented in prose and tables, so this file captures the command/event vocabulary and the
channel catalog as data. It is the one clear artifact gap in an otherwise unusually complete
agent surface: everything else this provider ships is machine-readable, and its streaming API
is not. The provider also publishes no webhooks or callbacks of any kind - this is a
client-initiated streaming surface only.
endpoint:
url: wss://api.0xarchive.io/ws
alternate: wss://stream.0xarchive.io/ws
alternate_source: changelog 2.1.0 (2026-05-04) names both hosts for the liquidations channels
auth: 'Authorization: Bearer <API_KEY> during the handshake'
auth_legacy: >-
A ?apiKey= query parameter still works but the docs mark it compatibility-only for private
server-side scripts and warn against browser-facing URLs and logs.
model: One connection carries both live subscriptions and historical replay.
tier_access: WebSocket is available on every tier including Free; subscription counts and replay speed are tier-scoped.
client_commands:
- op: subscribe
purpose: Start a live stream for one channel
required: [op, channel]
conditional: symbol for coin-specific channels
- op: unsubscribe
purpose: Stop a live stream
required: [op, channel]
- op: replay
purpose: Replay a historical stream window
required: [op, one of channel or channels, symbol, start]
optional: [end, speed]
- op: replay.pause
purpose: Pause standard or core L4 replay
required: [op]
- op: replay.resume
purpose: Resume standard or core L4 replay
required: [op]
- op: replay.seek
purpose: Move standard replay to a timestamp
required: [op, timestamp]
note: Standard replay only - core L4 replay REJECTS seek.
- op: replay.stop
purpose: Stop standard or core L4 replay
required: [op]
- op: ping
purpose: Keep-alive where the client does not rely on native ping/pong
required: [op]
server_events:
- type: subscribed
purpose: Confirms a live subscription
- type: unsubscribed
purpose: Confirms a stopped subscription
- type: data
purpose: Live stream data for ordinary channels
- type: l4_snapshot
purpose: Initial L4 state for an order-level channel
client_action: Replace local L4 state for that channel.
- type: l4_batch
purpose: Ordered L4 diffs following a snapshot
client_action: >-
Apply in order and stop on an unsafe sequence or block gap. An optional insert_before field
means insert the new order ahead of that order id within its price level rather than appending.
- type: replay_started
purpose: Confirms replay window and standard replay speed
- type: replay_snapshot
purpose: Initial state before replay timeline data
- type: historical_data
purpose: Replay timeline records
- type: historical_tick_data
purpose: Lighter tick-mode checkpoint and deltas
client_action: Apply the checkpoint before the deltas and preserve ordering metadata.
- type: replay_paused
purpose: Confirms replay pause
- type: replay_resumed
purpose: Confirms replay resume
- type: replay_completed
purpose: Replay reached the configured end
- type: replay_stopped
purpose: Confirms replay stop
- type: gap_detected
purpose: Marks a missing or discontinuous interval
client_action: Mark output incomplete or rebuild.
note: >-
A first-class gap event is the most agent-relevant thing on this surface. A replay consumer is
told explicitly when the timeline is discontinuous rather than silently receiving a shorter
series - so "incomplete" is a state the client can represent instead of a bug it has to detect.
- type: error
purpose: Command, authentication, access or data error
naming_convention: >-
Client commands use dotted names (replay.pause, replay.resume, replay.seek, replay.stop);
server events use underscore names (replay_paused, replay_resumed, replay_snapshot,
historical_data, replay_completed). The two vocabularies are deliberately distinct.
channels:
- name: orderbook
family: hyperliquid
realtime: true
replay: timed
- name: trades
family: hyperliquid
realtime: true
replay: timed
note: Liquidation fills also flow here with is_liquidation true; dedupe on tid if also subscribed to liquidations.
- name: candles
family: hyperliquid
realtime: true
replay: timed
- name: funding
family: hyperliquid
realtime: true
replay: timed
- name: open_interest
family: hyperliquid
realtime: true
replay: timed
- name: liquidations
family: hyperliquid
realtime: true
replay: timed
since: changelog 2.1.0 (2026-05-04)
- name: l4_diffs
family: hyperliquid
realtime: true
replay: checkpoint-anchored bulk
note: Replay speed is IGNORED on core L4 channels; the stream is a single-channel bulk stream.
- name: l4_orders
family: hyperliquid
realtime: true
replay: checkpoint-anchored bulk
note: Replay speed is IGNORED.
- name: ticker
family: hyperliquid
realtime: true
replay: false
- name: all_tickers
family: hyperliquid
realtime: true
replay: false
- name: hip3_orderbook
family: hip3
realtime: true
replay: timed
- name: hip3_trades
family: hip3
realtime: true
replay: timed
- name: hip3_candles
family: hip3
realtime: true
replay: timed
- name: hip3_funding
family: hip3
realtime: true
replay: timed
- name: hip3_open_interest
family: hip3
realtime: true
replay: timed
- name: hip3_liquidations
family: hip3
realtime: true
replay: timed
since: changelog 2.1.0 (2026-05-04)
- name: hip3_l4_diffs
family: hip3
realtime: true
replay: false
- name: hip3_l4_orders
family: hip3
realtime: true
replay: false
- name: hip4_orderbook
family: hip4
realtime: true
replay: timed
- name: hip4_trades
family: hip4
realtime: true
replay: timed
- name: hip4_open_interest
family: hip4
realtime: true
replay: timed
- name: hip4_l4_diffs
family: hip4
realtime: true
replay: false
- name: hip4_l4_orders
family: hip4
realtime: true
replay: false
- name: spot_orderbook
family: spot
realtime: true
replay: false
- name: spot_trades
family: spot
realtime: true
replay: false
- name: spot_l4_diffs
family: spot
realtime: true
replay: false
- name: spot_l4_orders
family: spot
realtime: true
replay: false
- name: spot_twap
family: spot
realtime: true
replay: false
- name: orderbook
family: lighter
realtime: false
replay: timed
note: Lighter channels are replay-only - live subscriptions are not supported on Lighter.
- name: l3_orderbook
family: lighter
realtime: false
replay: timed
- name: trades
family: lighter
realtime: false
replay: timed
- name: candles
family: lighter
realtime: false
replay: timed
- name: funding
family: lighter
realtime: false
replay: timed
- name: open_interest
family: lighter
realtime: false
replay: timed
replay_semantics:
timed:
speed_range: 10x (Free) to 300x (Scale), from 500x on Enterprise
controls: [replay.pause, replay.resume, replay.seek, replay.stop]
checkpoint_anchored_bulk:
applies_to: [l4_diffs, l4_orders]
speed: ignored
seek: rejected
ordering: process l4_snapshot before l4_batch
lighter_tick_mode:
event: historical_tick_data
ordering: checkpoint first, then deltas
rest_only:
- Lighter liquidation events are REST-only and have no WebSocket channel.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/0xarchive-websocket-channels"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.