Authentication
GET or HEAD /healthz on the bare base URL needs no key and returns {"status":"ok","service":"Bifrost Transaction Proxy"}. A key-prefixed /<key>/healthz returns 401. Use /healthz on a kept-alive connection to hold it open between sends; the public listener closes idle connections after about 30 seconds.
Route index
The dashboard shows the provider routes enabled for your selected access and location.
What Bifrost checks before forwarding
Bifrost decodes each transaction in the body and rejects the request with400 when:
- the transaction count is outside the route’s bound in the table above;
- a transaction uses invalid encoding for the selected route or does not decode as a Solana transaction;
- a LunarLander binary batch member is outside 66–1232 bytes;
- an Apex transaction exceeds 1232 bytes for legacy/v0 or 4096 bytes for v1;
- the request does not meet the provider’s route-specific tip rule, such as a tip on every independent transaction or in the required bundle member (see each provider page).
400 body names the reason:
invalid_json, invalid_params, missing_field, unsupported_route, unsupported_method, unsupported_content_type, invalid_base64, invalid_transaction, invalid_transaction_size, invalid_binary_batch, invalid_tip_address, invalid_transaction_count, tip_too_low, priority_fee_too_low. bloXroute and BlockRazor JSON routes return the same message under a top-level error object; plain-text routes return it as text.
Errors Bifrost returns itself
Bifrost subscriptions count each submitted transaction, including each batch or bundle member, against the access’s TPS allowance. Authenticated Apex utility methods do not consume transaction quota. Provider limits also apply; provider
429 responses pass through. Bifrost never retries and never falls back to another provider.
Reading a response
A2xx means Bifrost completed the HTTP call to the provider. Parse the body: a JSON-RPC error can arrive inside a 200. A returned signature means the provider accepted the transaction, not that it landed. Track the signature through ThorEdge RPC until it reaches your commitment or its blockhash expires.