> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thornode.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Hofund

> Submit Solana transactions through ThorNode's own fast and protected lanes.

Hofund is ThorNode's own submission surface. The aggregated Bifrost routes forward your request to an upstream provider; Hofund submits through ThorNode infrastructure directly.

It gives you two kinds of lane:

* **Fast** sends a single transaction out as quickly as the rails allow, through direct TPU, SWQoS, or both at once.
* **Protected** delivers through Jito, either as one bundle-only submission or as an atomic bundle that lands together or not at all.

Hofund routes appear under **Endpoints → Private TX** for the locations where they are available to your access. Copy the complete route URL there, the same way you would for any other Bifrost route.

## Choose a lane

| Route                      | Lane      | Use it when                                                                 |
| -------------------------- | --------- | --------------------------------------------------------------------------- |
| `/hofund-fast`             | Fast      | You want the transaction on both rails at once and will take whichever wins |
| `/hofund-direct-tpu`       | Fast      | You want direct TPU delivery and nothing else                               |
| `/hofund-swqos`            | Fast      | You want SWQoS delivery and nothing else                                    |
| `/hofund-jito-bundle-only` | Protected | You want Jito delivery for a single transaction                             |
| `/hofund-bundle`           | Protected | You are sending up to 5 transactions that must land as one unit             |

Each lane does exactly what its name says. A Fast route never falls back to Jito, and a Protected route never falls back to a Fast rail, so the lane you pick is the lane your transaction travels.

Every route takes `POST` with a JSON-RPC 2.0 body, and every transaction is capped at 1232 bytes.

## Send everything through one endpoint

If you would rather select the operation per request than pick a route per lane, `/hofund` accepts them all:

| Method            | What it does                                | Bounds                 |
| ----------------- | ------------------------------------------- | ---------------------- |
| `sendTransaction` | Submits one transaction                     | 1 transaction          |
| `sendBatch`       | Submits independent transactions together   | 1–25 transactions      |
| `sendBundle`      | Submits an atomic Jito bundle               | 1–4 transactions       |
| `sendIdeal`       | Submits a priority-fee and tip pair         | Exactly 2 transactions |
| `getNonce`        | Returns nonce details for a pair you manage | —                      |
| `getHealth`       | Reports whether the surface is serving      | —                      |

Add `mev-protect=true` as a query parameter, or `mevProtect` in the params object, to route a `sendTransaction` or `sendBatch` call through Jito instead of the fast rails.

Protected `sendBatch` is the one operation whose limit is not what the protocol allows. Each member goes out as its own Jito bundle, and the effective ceiling defaults to a single transaction rather than 25. Call `getThorTipConfig` on `/hofund-bundle` and read `maxProtectedBatchTransactions` and `protectedBatchTimeoutMs` before you size the request.

## Other request formats

`/hofund` speaks JSON-RPC. Three more surfaces take the same operations in a different shape, for clients that would rather not build JSON:

| Route                    | Body                        | Selecting the operation                             |
| ------------------------ | --------------------------- | --------------------------------------------------- |
| `/hofund/plain`          | Base64 text                 | Query parameters, such as `?method=sendTransaction` |
| `/hofund/binary`         | Raw or length-framed binary | Query parameters                                    |
| `/hofund/ws`             | Raw binary over a WebSocket | The socket is the fast lane                         |
| `/hofund/ws/mev-protect` | Raw binary over a WebSocket | The socket is the protected lane                    |

The WebSocket surfaces are one-way. They accept transactions and send nothing back, so use `/hofund-status` when you need to know what happened to a submission.

## Connect over QUIC

Hofund also accepts a signed raw transaction over QUIC, without going through the Bifrost HTTP edge or a copied route URL. Each lane has its own listener, one for standard and one for protected.

QUIC access is issued per customer. Contact ThorNode to have your mTLS certificate and its public-key (SPKI) fingerprint onboarded; you receive the host and port for your location at the same time.

Persistent connections use a 25-second keepalive and a 30-second idle timeout. Keepalive holds the connection open and says nothing about any individual transaction.

## Check what happened

`POST /hofund-status` with `getHofundSubmissionStatus` returns the current state of your submissions. `getFastTipConfig` on the same route returns the tip configuration for the fast lanes.

## Next steps

* [Run the Hofund quickstart](/products/bifrost-transaction-routes/hofund/quickstart)
* [Read the Hofund reference](/api-reference/hofund/overview)
* [Return to the Bifrost overview](/products/bifrost-transaction-routes)
* [Compare the aggregated provider routes](/api-reference/bifrost/overview)
* [Confirm signatures through ThorEdge RPC](/products/thoredge-rpc)
