HIP-4 documentation

Testnet · Exploratory documentation — not official Hyperliquid documentation.

API & data — overview

This page is a compact map: endpoints, channels, L1 action names, infra. It does not duplicate full request/response payloads.

For GitBook-style tables and JSON tabs, use Info endpoint.

Start here

Base URLs

Testnet (this doc)

  • RESThttps://api.hyperliquid-testnet.xyz/info
  • WebSocketwss://api.hyperliquid-testnet.xyz/ws

Coin IDs

Critical for candleSnapshot and book subscriptions:

YES coin = "#" + (outcomeId × 10); NO coin = "#" + (outcomeId × 10 + 1). Example: outcome 2243 → #22430 / #22431.

WebSocket channels (summary)

Channels we used for live HIP-4 book and mark research. Detail and subscribe examples on Info endpoint.

ChannelPurpose
activeSpotAssetCtxReal-time ctx per coin (#YES / #NO); markPx ≈ implied probability.
l2BookDepth per coin; levels[0] bids, levels[1] asks.

L1 action types

High-level type strings seen in explorer / research. Full JSON payloads: HIP4-research-complete.md.

typeRole
registerTokensAndStandaloneOutcomeMarket creation — mints YES/NO pair; strike ≈ markPx at creation.
VoteGlobalActionSettlement — settleFraction 0/1; instant L1 payout, no Merkle claim.
VoteGlobalAction::SetOutcomeFeeScaleGovernance — global outcome fee scale (hl-node); cooldown between changes. Not the settle-outcome VoteGlobalAction path.
voteAppHashConsensus / block validation (example in full doc).
evmRawTxRLP EIP-1559 payload inside Core — relayer vs EVM signer (bridge doc).

Examples for registerTokensAndStandaloneOutcome and VoteGlobalAction in the markdown file above.

System wallets (testnet)

Eight linked Core addresses traced as one cluster; two roles mapped (HIP-4 operator + oracle), six unmapped. Testnet only — mainnet distribution unknown. None overlap the HyperEVM parimutuel deployer — see HyperCore (L1).

AddressRoleProof
0xe8ea5ea785619f4d20b34b34ca1d5c5f68fe60a3Cluster (unmapped) — testnet only; role TBD (validators, bridge, or other Core ops — hypothesis only).
0xe5377a540f412e50e3953374e07ab8677138924fCluster (unmapped) — testnet only; role TBD (hypothesis only).
0xe92d5afedaf9eab98a70b7b0118b7187c1292c5cOracle — on-chain price feed. Historical settlement from this wallet observed (proof). Recent settlement traffic often attributed to 0xc25c… per testnet trace; also voteAppHash / validation activity observed.Tx
0xc25c4a1e3872f4d601d70b5db85604f7039ece56HIP-4 operator — creates & settles markets, questions, descriptions, named outcomes/tokens (explorer: RegisterTokensAndStandaloneOutcome, RegisterOutcome, SettleOutcome, RegisterQuestion, ChangeOutcomeDescription, ChangeQuestionDescription). Docs/API often use registerTokensAndStandaloneOutcome / VoteGlobalAction.
0x58e1b0e63c905d5982324fcd9108582623b8132eCluster (unmapped) — testnet only; role TBD (hypothesis only).
0x263294039413b96d25e4173a5f7599f8b3801504Cluster (unmapped) — testnet only; role TBD (hypothesis only).
0xef2364db5db6f5539aa0bc111771a94ee47637fcCluster (unmapped) — testnet only; role TBD (hypothesis only).
0xda6816df552c3f9e0fb64979fb357800d690d79bCluster (unmapped) — testnet only; role TBD (hypothesis only).

S3

Datasets and paths referenced in research (fills, EVM blocks). Requester pays where noted.

Path / datasetNotes
s3://hl-mainnet-evm-blocks/MessagePack + LZ4; requester pays; indexed by EVM block.
s3://hl-testnet-evm-blocks/Same layout as mainnet; example path 0/6000/6123.rmp.lz4
node_fills_by_block (HyperCore)Full trade fills; public recentTrades API = last 10 only, no pagination.