This method returns at most 2,000 fills per response and only the 10,000 most recent fills are available. For larger history, query the hyperliquid_trades table via SQL Explorer.
Parameters
Request type identifier specifying 'userFillsByTime' as the info endpoint method to retrieve time-filtered trade execution history
Ethereum-compatible wallet address in 42-character hexadecimal format (0x...) of the trader whose fills you want to query within a specific time range
Query start time as Unix timestamp in milliseconds (inclusive lower bound). Only fills at or after this time will be returned. Use Date.now() in JavaScript or time.time()*1000 in Python to generate timestamps
Query end time as Unix timestamp in milliseconds (inclusive upper bound). Only fills at or before this time will be returned. Optional parameter that defaults to current server time if not specified, allowing open-ended queries
Optional aggregation flag to consolidate partial fills that occurred at the same timestamp. When true, combines multiple fill events from crossing orders that matched against multiple resting orders, providing cleaner execution summaries. Defaults to false for granular fill data.
Returns
Array of fill objects with trade execution details
Trading pair identifier using standard symbols for perpetuals (e.g., 'BTC', 'ETH', 'SOL') or @index notation for spot markets (e.g., '@107'). Identifies which asset the fill executed on
Fill execution price at which the trade was executed. Returned as string to preserve full decimal precision for accurate PnL and accounting calculations (e.g., '43250.5' for BTC)
Fill quantity representing the size of this specific execution. For partial fills, this is the portion filled in this transaction. Returned as string to maintain precision for fractional quantities
Order side indicator: 'A' for Ask (sell/short position) or 'B' for Bid (buy/long position). Represents the taker side of the trade execution
Unix timestamp in milliseconds indicating when this fill executed. Use Date.now() in JavaScript or time.time()*1000 in Python for comparison with current time
Unique order identifier linking this fill to the parent order. Multiple fills can share the same oid when an order executes in partial fills
Unique trade identifier for this specific fill execution. Each individual fill has a distinct tid for transaction tracking and reconciliation
Position size immediately before this fill executed, showing the account's exposure in this asset prior to the trade. Positive values indicate long positions, negative indicate short positions. Returned as string for precision
Human-readable trade direction describing position impact: 'Open Long' (new long), 'Close Short' (reducing short), 'Add Long' (increasing long), 'Close Long' (reducing long), 'Open Short' (new short), 'Add Short' (increasing short). For spot: 'Buy' or 'Sell'
Realized profit and loss from this fill in USDC. Positive values indicate profit, negative indicate loss. Only applies when reducing or closing positions. Returned as string to preserve decimal precision for accounting accuracy
Trading fee charged for this fill, typically calculated as a percentage of notional value. Negative values indicate rebates (maker fees), positive values are fees paid (taker fees). Amount denominated in feeToken currency
Token denomination for the trading fee, typically 'USDC' on Hyperliquid. Indicates which asset the fee amount is denominated in
Optional additional fee paid to order flow providers or builders when applicable. Only present in response if non-zero. Represents MEV or builder compensation in USDC
Blockchain transaction hash in hexadecimal format for on-chain verification and block explorer lookups. Can be used to trace the fill on Hyperliquid's blockchain
Indicates whether this was a crossing (taker) order that immediately matched against resting liquidity (true) or a resting (maker) order that provided liquidity and was matched later (false). Affects fee rates and rebates
Optional TWAP identifier used for time-weighted average price execution. Null if not applicable