Documentation Index
Fetch the complete documentation index at: https://goldrush.dev/docs/llms.txt
Use this file to discover all available pages before exploring further.
Returns a single user’s fills bounded by a [startTime, endTime) window in milliseconds. Use this when you want fills since a specific moment - daily P&L recaps, post-deploy backfills, or rebuilding a tax ledger - rather than the most recent N fills.
User-keyed. The upstream Hyperliquid API caps each response at 2,000 fills and only retains the 10,000 most recent fills per wallet; window queries that span more than that are truncated.
Endpoint
POST https://hypercore.goldrushdata.com/info
Authorization: Bearer <GOLDRUSH_API_KEY>
Content-Type: application/json
Request
Always "userFillsByTime".
The wallet address (lowercase 0x-prefixed hex).
Unix timestamp in milliseconds. Inclusive lower bound.
Unix timestamp in milliseconds. Inclusive upper bound. Defaults to current server time when omitted.
When true, partial fills sharing the same timestamp are consolidated into one row. Default false.
Example
curl -X POST https://hypercore.goldrushdata.com/info \
-H "Authorization: Bearer $GOLDRUSH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "userFillsByTime",
"user": "0x31ca8395cf837de08b24da3f660e77761dfb974b",
"startTime": 1735689600000
}'
Response
An array of fill objects ordered by time.
[
{
"coin": "BTC",
"px": "43250.5",
"sz": "0.1",
"side": "B",
"time": 1735689600000,
"startPosition": "0",
"dir": "Open Long",
"closedPnl": "0",
"hash": "0x6b9c0a4a3d54b0d4d6b1a0c4d8c9e7f2b6e5d3c2a1f0e9d8c7b6a5f4e3d2c1b0a",
"oid": 95012345,
"tid": 678900012345,
"crossed": true,
"fee": "2.16",
"feeToken": "USDC"
}
]
Field descriptions
All numeric fields (px, sz, startPosition, closedPnl, fee, builderFee) are returned as decimal strings, preserving upstream precision. Do not parse them as floats - keep them as strings or use a fixed-precision decimal type.
Asset symbol - e.g. "BTC", "ETH" for perps; spot pairs use the @N form (e.g. "@107").
"B" for buy/long, "A" for ask/short.
Unix timestamp in milliseconds when the fill executed.
Signed position size on the same coin immediately before this fill.
Human-readable direction label - e.g. "Open Long", "Close Short", "Buy", "Sell".
Realized PnL in USDC attributable to this fill (zero when the fill opens or extends a position).
L1 transaction hash that included this fill.
true when the fill came from the taker side of the order, false when it was the maker side.
Trading fee paid for this fill, denominated in feeToken.
Symbol the fee was paid in - typically "USDC".
Optional. Builder fee paid for this fill if the order routed through a builder code.
Optional TWAP order ID if this fill is a slice of a TWAP order.
Optional client order ID if one was set at order placement.
Notes
- Wire-equal to
POST api.hyperliquid.xyz/info with {"type": "userFillsByTime", "user": "...", "startTime": ...}.
- Each response contains at most 2,000 fills; widen the window in chunks if you need more. Hyperliquid retains only the 10,000 most recent fills per wallet.
- For real-time push instead of windowed polling, subscribe to
walletTxs and read HypercoreFillTransaction events.
- Use
userFills (no Time suffix) when you only need the most recent N fills without specifying a window.