{"isLive":true,"account":"0x09a2780ac8Be6D5d2d1F85A8D92b09D40C9CA37e","venue":"hyperliquid","sinceISO":"2026-05-14T00:00:00.000Z","months":[{"month":"2026-05","fundingUsd":0.6987,"feesUsd":0.439,"closedPnlUsd":-3.1228,"netUsd":-2.8631,"fundingEvents":18,"fills":7},{"month":"2026-06","fundingUsd":0.2125,"feesUsd":2.5691,"closedPnlUsd":56.7369,"netUsd":54.3802,"fundingEvents":30,"fills":100},{"month":"2026-07","fundingUsd":0.057,"feesUsd":0.0792,"closedPnlUsd":-0.6948,"netUsd":-0.7171,"fundingEvents":20,"fills":16},{"month":"2026-08","fundingUsd":0.1249,"feesUsd":0,"closedPnlUsd":0,"netUsd":0.1249,"fundingEvents":31,"fills":0},{"month":"2026-09","fundingUsd":0.0558,"feesUsd":0,"closedPnlUsd":0,"netUsd":0.0558,"fundingEvents":206,"fills":0}],"totals":{"fundingUsd":1.1488,"feesUsd":3.0873,"closedPnlUsd":52.9193,"netUsd":50.9807,"fundingEvents":305,"fills":123},"denominator":{"fundingRecords":305,"positionHours":2594,"notionalHoursUsd":151906.87,"timeWeightedNotionalUsd":58.56,"annualisedOnNotional":0.066246,"zeroRateRecords":0,"basis":"positionHours = sum of delta.nSamples (1 when the field is absent). Hyperliquid compresses older funding history into DAILY buckets, so the record count is not an hour count and using it as a denominator overstates the annualised rate by that compression factor. notionalHoursUsd inverts Hyperliquid's own definition of a funding payment, usdc = rate x notional x hours, so notional x hours = |usdc / fundingRate| summed over records; it needs no price feed and no second endpoint. Cross-checked against an independent derivation, |szi| times the hourly ETH candle close from the same venue, which agreed to within 1 percent on 2026-08-13 ($137,945 against $139,185 of USD-hours). annualisedOnNotional = fundingUsd / notionalHoursUsd x 8760 and is a FRACTION on the same scale as expectedAPY on /api/apy. It is a REALIZED measurement of one leg of the strategy over the hours the account held a position, not a forward rate, not the skUSD yield, and not a promise: skUSD realized yield is published separately and is its own number. Funding accrues hourly, so a replay run later returns a larger fundingUsd and a different mean."},"methodology":"Monthly aggregation of the hedge account's realized ledger from Hyperliquid's public info API: fundingUsd = sum of signed userFunding delta.usdc (positive = received; negative-funding hours subtract, never clamped), feesUsd = sum of fill fees, closedPnlUsd = sum of fill closedPnl (the hedge leg's realized price PnL, offset by the spot leg), netUsd = funding + closedPnl - fees. UTC month buckets since 2026-05-14 (first protocol mint). Same math as the bot's nightly telemetry. READ netUsd CAREFULLY: it is not profit. closedPnlUsd is the realized price PnL of the SHORT LEG ALONE and is offset by the spot leg, which is on chain and not in this ledger, so a large positive netUsd here is one side of a hedge and not money made. fundingUsd is the carry. And read fundingUsd against the denominator block below rather than on its own: a dollar figure without the book it was earned on is not a rate.","replay":{"userFunding":"curl -s -X POST https://api.hyperliquid.xyz/info -H 'Content-Type: application/json' -d '{\"type\":\"userFunding\",\"user\":\"0x09a2780ac8Be6D5d2d1F85A8D92b09D40C9CA37e\",\"startTime\":1778716800000}'","userFills":"curl -s -X POST https://api.hyperliquid.xyz/info -H 'Content-Type: application/json' -d '{\"type\":\"userFillsByTime\",\"user\":\"0x09a2780ac8Be6D5d2d1F85A8D92b09D40C9CA37e\",\"startTime\":1778716800000}'","fundingHistory":"curl -s -X POST https://api.hyperliquid.xyz/info -H 'Content-Type: application/json' -d '{\"type\":\"fundingHistory\",\"coin\":\"ETH\",\"startTime\":1778716800000}'","writeup":"https://kerne.fi/insights/funding-attribution-replay-hyperliquid"},"updatedAt":"2026-09-11T11:19:25.004Z"}