builderApprovedFundings
Stream every hourly funding payment of users who had an active fee approval for your builder at the funding block.
Every live data message includes both routing identifiers with the same value:
{"type": "builderApprovedFundings", "channel": "builderApprovedFundings"}Other payload fields are omitted above. Existing clients may continue routing on either field.
What it streams
Hyperliquid settles funding once an hour, in one block, for every open perp position. This channel delivers the funding payments of every user who held an active fee approval for your builder at that block — one entry per (user, coin) position — in the same delta shape the REST userFunding response uses.
It is the funding counterpart of builderApprovedFills and follows the same rules:
Attribution comes from approval state at the block, not from anything on the payment itself, and revoking an approval does not retract past payments.
A user may hold approvals from several builders. Each subscribed builder receives its own copy.
An approval is treated as revoked only when its max fee rate is set to exactly
0%.
Funding settles once an hour, so expect a burst at the top of every hour rather than a steady stream: a builder with many approving users receives every one of their positions at once. That batch is split into chunks of a fixed size, delivered in (user, coin) order, each with its own seq and cursor.
Subscribe
{
"type": "subscribe",
"subscription": {
"type": "builderApprovedFundings",
"builder": "0xb84168cf3be63c6b8dad05ff5d755e97432ff80b"
}
}builder is required and must be a 20-byte hex address. It is matched case-insensitively.
Unsubscribe
Funding data format
Each entry is one user's payment for one coin. time is the block time of the funding event in milliseconds; usdc is the amount paid (negative) or received (positive).
Cursor
The cursor of every message names the last entry it carried. Resuming from it, including from the middle of an hour's batch, delivers exactly the entries after that one, which is what makes a reconnect mid-batch lossless. Reconnecting without a cursor of your own, on the server-stored session position alone, replays the whole batch of that hour; deduplicate as described above.
Examples
Error messages:
Common errors
Last updated