allFills

Stream all fills. Requires add-on permission.

💧New endpoint - this endpoint is not a part of original Hyperliquid API and is added by us for builder convenience.

⚠️ This is an add-on endpoint - access has to be purchased separately.

Subscribe

{
    "type": "subscribe",
    "subscription": {
        "type": "allFills",
        "dex": "dex_name",            // optional, filter by DEX (default: all)
        "coin": "BTC",                // optional, filter by exact coin name
        "outcomeMarkets": "exclude",  // optional, "exclude" or "only"
        "aggregateByTime": true        // optional
    }
}

Filters

Parameter
Type
Description

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

Filter by exact coin name (case-sensitive). Use the full coin string including dex prefix, e.g. "BTC", "ETH", "vntls:vBTC", "#90".

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.

All filters are optional and can be combined. For example, to stream only main-dex fills excluding outcome markets:

Unsubscribe

Fill data format

Each fill contains an address and fill details. Fills are batched per block.

Reconnection Note: When reconnecting with a session, replay and live events may overlap. Deduplicate using (time, txIndex) - skip fills where this tuple is at or before your last processed fill. See Session Management for details.

Examples

Error messages:

Common errors

Last updated