# Bloxroute

Use these routes when you want bloXroute's HTTP transaction submission API. Send the same JSON body shown in bloXroute's docs.

Reference:

* <https://github.com/bloXroute-Labs/solana-trader-proto/blob/develop/proto/api.proto>

***

## Routes

| Route                        | Use for                   |
| ---------------------------- | ------------------------- |
| `POST /bloxroute`            | Single transaction submit |
| `POST /blxrt-submit-batch`   | Batch submit              |
| `POST /blxrt-submit-paladin` | Paladin submit            |
| `POST /blxrt-submit-snipe`   | Snipe submit              |

***

## Tip Addresses

Current bloXroute tip addresses recognized by this Bifrost deployment:

* `HWEoBxYs7ssKuudEjzjmpfJVX7Dvi7wescFsVx2L5yoY`
* `95cfoy472fcQHaw4tPGBTKpn6ZQnfEPfBgDQx6gcRmRg`
* `3UQUKjhMKaY2S6bjcQD6yHB7utcZt5bfarRCmctpRtUd`
* `FogxVNs6Mm2w9rnGL1vkARSwJxvLE8mujTv3LK8RnUhF`
* **Dedicated**: `EhRZX8iNrCRzEJ97tU4d3vC7JHkdsh2BWuT8yYbiseCe`

If you specifically want the Bifrost-managed dedicated bloXroute tip address, use `EhRZX8iNrCRzEJ97tU4d3vC7JHkdsh2BWuT8yYbiseCe`.

***

## submit

Use `POST /bloxroute` with the official bloXroute submit body:

{% code title="Request body" %}

```json
{
  "transaction": {
    "content": "<base64-transaction>"
  },
  "skipPreFlight": true,
  "frontRunningProtection": true,
  "tip": 1000000,
  "useStakedRPCs": true,
  "fastBestEffort": false,
  "allowBackRun": false,
  "submitProtection": "SP_HIGH",
  "revertProtection": false
}
```

{% endcode %}

Common fields:

* `transaction.content`: required
* `skipPreFlight`
* `frontRunningProtection`
* `tip`
* `useStakedRPCs`
* `fastBestEffort`
* `allowBackRun`
* `revenueAddress`
* `submitProtection`: `SP_LOW`, `SP_MEDIUM`, `SP_HIGH`
* `revertProtection`

***

## submit-batch

Use `POST /blxrt-submit-batch`:

{% code title="Request body" %}

```json
{
  "entries": [
    {
      "transaction": {
        "content": "<base64-transaction-1>",
        "isCleanup": false
      },
      "skipPreFlight": true
    },
    {
      "transaction": {
        "content": "<base64-transaction-2>",
        "isCleanup": false
      },
      "skipPreFlight": true
    }
  ],
  "submitStrategy": "P_SUBMIT_ALL",
  "useBundle": false,
  "frontRunningProtection": true,
  "submitProtection": "SP_HIGH"
}
```

{% endcode %}

Useful enums from the official proto:

* `submitStrategy`: `P_UKNOWN`, `P_SUBMIT_ALL`, `P_ABORT_ON_FIRST_ERROR`, `P_WAIT_FOR_CONFIRMATION`
* `submitProtection`: `SP_LOW`, `SP_MEDIUM`, `SP_HIGH`

***

## submit-paladin

Use `POST /blxrt-submit-paladin`:

{% code title="Request body" %}

```json
{
  "transaction": {
    "content": "<base64-transaction>"
  },
  "revertProtection": false
}
```

{% endcode %}

***

## submit-snipe

Use `POST /blxrt-submit-snipe`:

{% code title="Request body" %}

```json
{
  "entries": [
    {
      "transaction": {
        "content": "<base64-transaction-jito>"
      },
      "skipPreFlight": true
    },
    {
      "transaction": {
        "content": "<base64-transaction-bloxroute>"
      },
      "skipPreFlight": true
    }
  ],
  "useStakedRPCs": true
}
```

{% endcode %}
