Links

BackRunMe: arbOnlyMEV

Name: arbOnlyMEV
arbOnlyMEV is an opt-in stream of private transactions that are available for arbitrage opportunities where the searcher shares the profit with the transaction sender, miner, and bloXroute. Full transaction details are not made available on this stream (no signature fields) to retain the privacy of the sender, though MEV bundles that reference these transaction hashes can be created via submit_arb_only_bundle. Transactions that appear in the arbOnlyMEV stream are not available in public mempool and do not appear in the newTxs or pendingTxs feeds.
This stream is only available on special Cloud API instance (backrunme.blxrbdn.com) to Enterprise-Elite users with an annual payment plan and who are approved by bloXroute.
Options
Key
Description
Values
include
Fields to include in the transaction stream.
transactions
Examples
wscat
Node.js
Python
Golang
wscat -c wss://backrunme.blxrbdn.com/ws --no-check --header "Authorization: <YOUR-AUTHORIZATION-HEADER>"
> {"id": 1, "method": "subscribe", "params": ["arbOnlyMEV", {"include": ["transactions"]}]}
< ......
​
var fs = require('fs');
const WebSocket = require('ws');
​
const ws = new WebSocket(
"wss://backrunme.blxrbdn.com/ws",
{
headers: {
"Authorization" : <YOUR-AUTHORIZATION-HEADER>
},
rejectUnauthorized: false,
}
);
​
function proceed() {
ws.send(`{"jsonrpc": "2.0", "id": 1, "method": "subscribe", "params": ["arbOnlyMEV", {"include": ["transactions"]}]}`);
}
​
​
function handle(nextNotification) {
console.log(nextNotification.toString()); // or process it generally
}
​
ws.on('open', proceed);
ws.on('message', handle);
​
import asyncio, json, websockets
​
async def main():
auth_key = "YOUR_AUTHORIZATION_HEADER"
uri = 'wss://backrunme.blxrbdn.com/ws'
async with websockets.connect(
uri,
header=["Authorization:{}".format(auth_key)],
sslopt={"cert_reqs": ssl.CERT_NONE},
) as websocket:
subscribe_request = {
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": ["arbOnlyMEV", {"include": ["transactions"]}]
}
await websocket.send(json.dumps(subscribe_request))
response = await websocket.recv()
subscription_id = json.loads(response)["result"]
​
while True:
next_notification = await websocket.recv()
print(next_notification) # or process it generally
​
unsubscribe_request = {
"jsonrpc": "2.0",
"id": 2,
"method": "unsubscribe",
"params": [subscription_id]
}
await websocket.send(json.dumps(unsubscribe_request))
​
if __name__ == '__main__':
asyncio.run(main())
package main
​
import (
"crypto/tls"
"fmt"
"github.com/gorilla/websocket"
"net/http"
)
​
func main() {
tlsConfig := &tls.Config{
InsecureSkipVerify: true,
}
dialer := websocket.DefaultDialer
dialer.TLSClientConfig = tlsConfig
wsSubscriber, _, err := dialer.Dial("wss://backrunme.blxrbdn.com/ws", http.Header{"Authorization": []string{<YOUR-AUTHORIZATION-HEADER>}})
​
if err != nil {
fmt.Println(err)
return
}
​
subRequest := `{"id": 1, "method": "subscribe", "params": ["arbOnlyMEV", {"include": ["transactions"]}]}`
err = wsSubscriber.WriteMessage(websocket.TextMessage, []byte(subRequest))
if err != nil {
fmt.Println(err)
return
}
​
for {
_, nextNotification, err := wsSubscriber.ReadMessage()
if err != nil {
fmt.Println(err)
}
fmt.Println(string(nextNotification)) // or process it generally
}
}
​

Response (Tx Events)

Transaction Event
<<< {
"jsonrpc": "2.0",
"id": null,
"method": "subscribe",
"params": {
"subscription": "3c87cccd-0df5-4938-947e-b24f7602f147",
"result": {
"transactions": [
{
"txHash": "0x88b...296",
"txContents": {
"from": "0x6e9...f89",
"gas": "0x299b6",
"gasPrice": "0xf9982de00",
"hash": "0x88b...296",
"input": "0x18...cc2",
"nonce": "0xf",
"value": "0x0",
"type": "0x0",
"to": "0x7a2...88d"
},
"localRegion": true
}
]
}
}
}
Last modified 7mo ago