Blink
  • Blink
    • Welcome to Blink
  • Get Started
    • Tx Originators
    • Integration
      • General
      • Wallets
      • Oracles
      • Bots
      • Individual Users
      • Security
    • Custom Configuration
    • API Reference
      • eth_sendRawTransaction
      • eth_sendPrivateTransaction
      • eth_getTransactionByHash
      • eth_sendBundle
      • eth_getTransactionCount
    • Misc
      • Privacy Policy
  • How it works
    • State Update Auction
    • Gas Recoveries
    • MEV
  • Additional Features
    • Gas Sponsored Swaps
  • Searchers
    • Integration
      • Listen To Transactions
        • MEVBlocker Compatible (V2)
        • MEVBlocker Compatible (V3)
        • V1 (Deprecated)
      • Bid on Transactions
      • Querying a Bundle
    • API Reference
      • eth_sendBundle
      • eth_cancelBundle
      • Page
  • Base
    • API Reference
    • How it works
    • Searchers
  • Solana
    • Searchers
      • Integration
        • Rust Decoding A Transaction
      • API Reference
        • sendBundle
        • getSignature
  • CAREERS
    • Senior Software Engineer
Powered by GitBook
On this page
  1. Searchers
  2. Integration
  3. Listen To Transactions

V1 (Deprecated)

PreviousMEVBlocker Compatible (V3)NextBid on Transactions

Last updated 10 months ago

During the initial development of Blink, searchers will need to be onboarded for access. Searchers should reach out to for access.

Connecting to Blink's WebSocket

You can connect to Blink's WebSocket via wss://ethauction.blinklabs.xyz/ws/v1/{$API_KEY}.

Transactions received via Blink's RPC endpoint will be exposed on the websocket with the signatures removed. They will take the following form.

{
    "type": "transaction_message",
    "payload": {
        "tx_hash": "0x71f6000fa5010015370c8fea1d5cc9842ebe6ca211a7dbeabe89e8a20fa236ca",
        "tx_from": "0x1f9090aae28b8a3dceadf281b0f12828e676c326",
        "tx_to": "0xa47167b4ef1eb584069fa9dbd3e7bba651eb4f19",
        "tx_nonce": 72,
        "tx_data":"0x5ae401dc00000000000000000000000000000000000000000000000000000000635907d7000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000c4f3995c67000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000000000000000000000000000000000000008f0d1800000000000000000000000000000000000000000000000000000000063590c7b000000000000000000000000000000000000000000000000000000000000001c4f112977efe9df15f9cb1a871fcc2dc55e19af96b8054e9699b98fbc988db3795abe5cfc63293fc678b725973377e9e5bf20ece23e4e15ee6151a3aa86e7bd3d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e404e45aaf000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb480000000000000000000000002b591e99afe9f32eaa6214f7b7629768c40eeb390000000000000000000000000000000000000000000000000000000000000bb8000000000000000000000000a9a59afc80393c52cac7e4edb569936550e955f50000000000000000000000000000000000000000000000000000000008f0d1800000000000000000000000000000000000000000000000000000004c81028983000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
        "tx_gas_limit": 21000,
        "tx_gas_price": 64803106236,
        "tx_max_fee_per_gas": 64803106236,
        "tx_max_priority_fee_per_gas": 1500000000,
        "tx_value": 100000000000000,
        "chain_id": 1
    }
}

When the transaction is exposed on the websocket the Searcher should determine if there is any value in the transaction and if there is submit a bid. You can continue to submit bids on the transaction until it is included on-chain.

Note there is an option for originators to obfuscate the "tx_from" value.

The transaction will be sent as a private transaction to builders after being exposed on the WebSocket.

Golang Structs

type TransactionEvent struct {
	Type    string             `json:"type"`
	Payload TransactionMessage `json:"payload"`
}

type TransactionMessage struct {
	TxHash                 string   `json:"tx_hash"`
	TxFrom                 string   `json:"tx_from"`
	TxTo                   string   `json:"tx_to"`
	TxNonce                int      `json:"tx_nonce"`
	TxData                 string   `json:"tx_data"`
	TxGasLimit             uint64   `json:"tx_gas_limit"`
	TxGasPrice             *big.Int `json:"tx_gas_price"`
	TxMaxFeePerGas         *big.Int `json:"tx_max_fee_per_gas"`
	TxMaxPriorityFeePerGas *big.Int `json:"tx_max_priority_fee_per_gas"`
	TxValue                *big.Int `json:"tx_value"`
	ChainId                *big.Int `json:"chain_id"`
}
contact@blinklabs.xyz