> For the complete documentation index, see [llms.txt](https://docs.blinklabs.xyz/blink/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.blinklabs.xyz/blink/bnb-smart-chain-bsc/searchers.md).

# Searchers

Searching on BSC works differently to Ethereum and Base: Blink runs the auction, scores bids by simulation, and submits the winning bundle to the builder on your behalf.

Please fill out our [searcher onboarding form](https://forms.gle/q7LLi3rkMVSZkyFYA) to get an API key to access the searcher websocket and to bid on transactions. Join our [telegram broadcast channel](https://t.me/+QZC4QzfdvH1jNzRi) for updates and announcements regarding our BSC flow.

Our searcher backlog is quite large so we may not respond for several weeks.

By searching on our BSC flow, you agree to our [searcher terms & conditions](/blink/ethereum/searchers/terms.md).

### Requirements

By participating in the Blink BSC auction, searchers agree to the following:

* **No frontrunning of any kind.** Sandwiching or any other form of frontrunning will result in an immediate ban.
* **No self-submission.** Unlike Base, Blink submits the winning bundle to the builder on your behalf. Submitting target transactions or backruns directly to builders or the public mempool will result in a ban.
* **Bid by payment.** Your bid is the total value your bundle transfers to the Blink payout address (provided during onboarding). There is no declared bid — payment inside the bundle *is* the bid.

***

### WebSocket Connection

Connect to Blink's WebSocket endpoint:

```
wss://bscauction.blinklabs.xyz/ws/v1/{$API_KEY}
```

A maximum of 5 concurrent connections per API key is allowed.

**Transaction Subscription**

Send the following message after connecting to begin receiving transaction data:

```json
{
    "method": "eth_subscribe",
    "params": ["blink_partialPendingTransactions"]
}
```

***

### Submitting Bundles

Bundles are submitted with the `eth_sendBundle` RPC call — either as a message over the same WebSocket connection, or over HTTP:

```
https://bscauction.blinklabs.xyz/v1/{$API_KEY}
```

The first element must be the target transaction hash; subsequent elements are your raw backrun transaction(s):

```json
{
    "id": 1,
    "jsonrpc": "2.0",
    "method": "eth_sendBundle",
    "params": [
        {
            "txs": [
                "0xTargetTxHash",  // Target transaction hash (required)
                "0xRawBackrunHex"  // Your backrun transaction in raw hex format (required)
            ]
        }
    ]
}
```

The bundle must contain at least two transactions. The `bidWei` field is parsed for compatibility but has no effect — your bid is determined by simulation.

{% hint style="info" %}
A bundle-hash response acknowledges receipt only. It does not guarantee that your bundle arrived within the auction window or passed simulation.
{% endhint %}

***

### Auction Mechanics

**How it works**

* Blink broadcasts pending transactions to connected searchers via WebSocket. Each broadcast opens a **100ms bidding window** for that transaction.
* Submitted bundles are simulated on arrival. Your bid is the sum of **native BNB and WBNB** your bundle transfers to the Blink payout address. Bundles that revert or transfer nothing are rejected.
* When the window closes, the highest-bidding valid bundle wins and is submitted privately to the block builder by Blink. Losing bundles are dropped — they are never forwarded or exposed.

**Bidding**

* Pay your bid to the Blink payout address **within your backrun transaction**, as a native BNB transfer or a WBNB transfer. Native BNB is preferred.
* The payout address is provided during onboarding.

**Timing and Inclusion**

* Bundles must arrive within the 100ms window that opens at WebSocket broadcast. Late bundles are not entered into the auction.
* We strongly recommend colocating in **AWS us-east-1** for optimal latency.

***

### Blink Monitoring

Blink actively monitors for rule violations and will take action accordingly:

* Frontrunning or sandwiching of Blink transactions
* Self-submission of Blink flow to builders or the public mempool

Violations may result in:

* Reduced flow
* WebSocket delay
* Complete ban
