> For the complete documentation index, see [llms.txt](https://docs.thornode.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thornode.io/infrastructure/bifrost-api/endpoints/blockrazor.md).

# Blockrazor

Use `POST /blockrazor` with the same request shape described in the official BlockRazor docs. Bifrost supports both official BlockRazor HTTP contracts:

* v1 JSON body: `/sendTransaction`
* v2 low-latency plain text body: `/v2/sendTransaction`

Reference:

* <https://blockrazor.gitbook.io/blockrazor/transaction-submission/fast/solana/send-transaction>
* <https://blockrazor.gitbook.io/blockrazor/transaction-submission/fast/solana/send-transaction-v2>

## Tip Addresses

Current BlockRazor tip addresses recognized by this Bifrost deployment:

* `FjmZZrFvhnqqb9ThCuMVnENaM3JGVuGWNyCAxRJcFpg9`
* `6No2i3aawzHsjtThw81iq1EXPJN6rh8eSJCLaYZfKDTG`
* `A9cWowVAiHe9pJfKAj3TJiN9VpbzMUq6E4kEvf5mUT22`
* `Gywj98ophM7GmkDdaWs4isqZnDdFCW7B46TXmKfvyqSm`
* `68Pwb4jS7eZATjDfhmTXgRJjCiZmw1L7Huy4HNpnxJ3o`
* `4ABhJh5rZPjv63RBJBuyWzBK3g9gWMUQdTZP2kiW31V9`
* `B2M4NG5eyZp5SBQrSdtemzk5TqVuaWGQnowGaCBt8GyM`
* `5jA59cXMKQqZAVdtopv8q3yyw9SYfiE3vUCbt7p8MfVf`
* `5YktoWygr1Bp9wiS1xtMtUki1PeYuuzuCF98tqwYxf61`
* `295Avbam4qGShBYK7E9H5Ldew4B3WyJGmgmXfiWdeeyV`
* `EDi4rSy2LZgKJX74mbLTFk4mxoTgT6F7HxxzG2HBAFyK`
* `BnGKHAC386n4Qmv9xtpBVbRaUTKixjBe3oagkPFKtoy6`
* `Dd7K2Fp7AtoN8xCghKDRmyqr5U169t48Tw5fEd3wT9mq`
* `AP6qExwrbRgBAVaehg4b5xHENX815sMabtBzUzVB4v8S`

## v1 JSON Contract

Send `Content-Type: application/json` and the upstream JSON body:

```json
{
  "transaction": "<base64-transaction>",
  "mode": "fast",
  "safeWindow": 3,
  "revertProtection": false
}
```

Fields:

* `transaction`: required, signed transaction string
* `mode`: optional, `fast` or `sandwichMitigation`
* `safeWindow`: optional, `3-13`
* `revertProtection`: optional boolean
* Auth: upstream v1 uses the `apikey` HTTP header

Example:

```bash
curl -X POST https://your-bifrost-endpoint/blockrazor \
  -H "Content-Type: application/json" \
  -H "apikey: your-blockrazor-api-key" \
  -d '{
    "transaction": "your-base64-transaction",
    "mode": "fast",
    "revertProtection": false
  }'
```

## v2 Plain Text Contract

Send `Content-Type: text/plain` and put request parameters in the query string, exactly as BlockRazor v2 expects.

```bash
curl -X POST 'https://your-bifrost-endpoint/blockrazor?mode=fast&revertProtection=true' \
  -H "Content-Type: text/plain" \
  -d 'your-base64-transaction'
```

Notes:

* Upstream v2 expects Base64 transaction text in the body
* Upstream v2 only permits `Content-Type: text/plain`
* Query params such as `mode`, `safeWindow`, `revertProtection`, and `auth` are forwarded upstream
* If your Bifrost deployment already has BlockRazor credentials configured, you can usually omit `auth`

## Response

* For v1, BlockRazor returns JSON with a `signature` field.
* For v2, BlockRazor returns standard HTTP status codes as documented upstream.
