allFills
Stream all fills, optionally filtered to one or more coins.
Every live data message includes both routing identifiers with the same value:
{"type": "allFills", "channel": "allFills"}Other payload fields are omitted above. Existing clients may continue routing on either field.
Per-coin allFills is included in every tier (20/100/200 coins for starter/growth/scale; higher bespoke limits are available — contact us). Streaming all coins with no coin/coins filter is an add-on and requires the ws:allFills permission.
Subscribe
{
"type": "subscribe",
"subscription": {
"type": "allFills",
"dex": "dex_name", // optional, filter by DEX (default: all)
"coin": "xyz:SP500", // optional, single-coin filter (legacy)
"coins": ["xyz:SP500", "xyz:NDX"], // optional, multi-coin filter
"outcomeMarkets": "exclude", // optional, "exclude" or "only"
"aggregateByTime": true // optional
}
}Filters
dex
string
Filter by DEX. Use "main" for Hyperliquid perps, or the dex name (e.g. "vntls") for dex-specific fills. Omit to receive fills from all DEXes.
coin
string
Single-coin filter (case-sensitive). Use the full coin string including any prefix, e.g. "BTC", "ETH", "xyz:SP500", "#90", "@107" / "PURR/USDC" (spot).
coins
string[]
Multi-coin filter (case-sensitive, up to the tier's coin cap: 20/100/200). Same coin format as coin.
outcomeMarkets
string
Filter outcome/prediction market fills (coins starting with #). Set to "exclude" to drop them, or "only" to receive only outcome market fills. Omit to include all.
aggregateByTime
boolean
When true, fills with the same timestamp are aggregated into a single fill.
coin and coins may be used together — their union is the effective coin set. Omitting both (no coin filter) makes this the all-coins firehose and requires the ws:allFills add-on permission.
Outcome markets are currently only available on testnet. The outcomeMarkets filter will have no effect on mainnet until outcome markets launch there.
All filters are optional and can be combined. For example, to stream only main-dex fills excluding outcome markets:
Unsubscribe
Name coins to remove just those from the active set (remaining coins keep streaming, gap-free):
Omit coins to clear the connection's allFills subscription entirely:
Fill data format
Each fill contains an address and fill details. Fills are batched per block.
Examples
Error messages:
Common errors
(Only the no-filter firehose form requires the add-on; per-coin allFills is included in every tier.)
(Coins merge additively across subscribes, but only when the other parameters match the active subscription. A per-coin ↔ firehose switch is similarly rejected with "unsubscribe it first".)
Last updated