https://<location-base>/<bifrost-key>/<route>; the Bifrost key goes in the path or in Authorization: Bearer, exactly as for other Bifrost routes.
Routes
/hofund picks the operation from the JSON-RPC method. The lane routes fix the lane in the URL and accept no query string. A lane never falls back to another lane.
Every single-transaction route, including /hofund-fast, supports recent blockhash and caller-owned durable nonce transactions. The same support applies to each independent sendBatch member and to WebSocket/QUIC ingestion. See nonce requirements. sendIdeal additionally verifies and submits a fast/Jito pair sharing one live nonce. Atomic sendBundle requests still require recent blockhash transactions.
One more lane listens on the node itself, not behind the Bifrost port, and authenticates with the same Bifrost key over a first-stream control message instead of a key in the path:
Locations
Every Hofund location serves the same routes.<location-base> is http://<host>:4343; the WebSocket form is ws://<host>:4343; the QUIC lane is <host>:4802. The dashboard shows the exact URLs with your key filled in.
Limits
Per-key rates depend on your pass tier (Flash 10 · Classic 20 · Elite 40 · Prime 60 tx/s on the fast lanes, 5 requests/s on the Jito lanes), plus size and connection caps. See Rate limits for the full tables and the exact error responses.Request contract
POSTwithcontent-type: application/json(unified route and lane routes).- Body at most 64 KiB.
- The envelope is exactly
{ "jsonrpc": "2.0", "id", "method", "params" }.idis a string or number, nevernull; unknown or duplicate keys are rejected; a JSON array (batch) is rejected with-32600 JSON-RPC request batching is not supported. - Every transaction is canonical, padded, standard base64 of a fully signed transaction, at most 1232 bytes decoded. Single sends and independent batch members accept structurally valid durable nonces;
sendIdealadditionally verifies its pair against the live nonce account. Duplicate signatures are rejected. - Selectors on
/hofund:?swqos-only=trueor?mev-protect=true(mutually exclusive), or the JSON selector{"mevProtect":true}described per method. Supplying both a query and a body selector is rejected. - Exact retries of the same body return the stored prior outcome and never dispatch again. Sending the same signed transaction through a different lane fails with
409,-32005 transaction signature is already reserved.
Response contract
Success is HTTP200 with result. Two receipt headers accompany submissions:
A JSON-RPC error carries a machine-readable subcode:
data.kind is always present; data.field when a specific field is at fault.
Error codes
Bifrost gateway errors (JSON-RPC envelope,id echoed when parseable):
Hofund errors:
Common
-32602 messages: transaction exceeds 1232 bytes, transaction must use canonical padded base64, contains duplicate transaction, transaction count exceeds 25, sendBundle transaction count exceeds 4, Thor tip is below the configured floor (kind: tip_too_low), AdvanceNonceAccount must occur exactly once at instruction 0, minContextSlot is unsupported and is not enforced by Hofund sender rails.