MEVBlocker Compatible (V3)
The V3 WebSocket is an extension of the V2 Websocket so please refer to that for core functionality this page highlights the differences / additions.
During the initial development of Blink, searchers will need to be onboarded for access. Please fill out our searcher onboarding form or contact @Adamblink on telegram for access.
Connecting to Blink's WebSocket
You can connect to Blink's WebSocket via wss://ethauction.blinklabs.xyz/ws/v3/{$API_KEY}
V3 Differences
Below are the differences between the V3 and V2 websockets.
1 . Websocket Subscriptions
The V2 websocket auto-subscribed you to the transaction flow. V3 will require eth_subscribe to have been called to begin streaming data.
The are 2 flows you can subscribe to, transactions and "originator bundles".
"Originator Bundles" are non-searcher bundles, an example of one would be a telegram bot that is sending a bundle with an approve ERC-20 & swap ERC-20 so that can be executed sequentially in the same block [ approveTx, swapTx] .
Transaction Subscription
Transactions can be subscribed to using either
{"method":"eth_subscribe","params": ["blink_partialPendingTransactions"]}
or
{"method":"eth_subscribe","params": ["mevblocker_partialPendingTransactions"]}Originator Bundle Subscription
Originator bundles can be subscribed to using either
Multiple Subscriptions
You can also subscribe to multiple data streams at once
2. Access to Originator Bundles
The V3 websocket gives you access to originator bundles data streams that can be searched on. The same principles apply as with individual txs, the searcher tx must go after the "originator bundle".
The MEVBlocker Schema will again be used for exposing the data with one slight change. Result will change from a single tx JSON object to an array of tx JSON objects.
Here's an example
Originator Bundle Bids
The bidding process is the same as for a normal transaction. Reference the last transaction's hash in the originator bundle — Blink will look up the full bundle and prepend it ahead of your backrun before simulation and builder submission.
Blink will resolve lastTxHashInBundle to the full originator bundle and prepend all of its transactions ahead of your backrun before being sent to the builders.
Note: Originator bundles are constructed greedily, which means some of the earlier transactions in a bundle may already have been included on-chain by the time you receive it. Your simulation and bid logic should handle this gracefully — treat already-included or reverting transactions as drops, similar to how builders handle
droppingTxHashes. Only the last transaction's hash is used to index the bundle, so if that transaction is already included the bundle will no longer be available to bid on.Individual transactions from a bundle (e.g. the approve and the swap) may appear via
blink_partialPendingTransactionsearly in the block, but a bundle is only available to bid on once it has been constructed and broadcast viablink_partialPendingBundles. Do not rely on individual transactions to infer the bundle — wait for the bundle broadcast.
Last updated