V1 (Deprecated)

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

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"`
}

Last updated