Skip to main content

eth_sendRawTransactionSync

Submits a signed transaction and waits synchronously for inclusion in a Flashblock before returning. Unlike eth_sendRawTransaction which returns immediately with just the transaction hash, this method blocks until the transaction is included in a Flashblock and returns a full transaction receipt.

This enables sub-200ms transaction confirmation flows — the response includes the receipt with blockNumber, gasUsed, logs, status, and L2-specific fields like l1Fee.

Use Cases#

  • Instant confirmation UX — Display transaction results immediately without polling
  • Synchronous workflows — Chain dependent operations without receipt polling
  • Payment processing — Confirm payment transactions inline
  • Bot and MEV operations — Confirm execution before proceeding

Parameters#

ParameterTypeRequiredDescription
signedTransactionDataDATAYesThe signed transaction data (RLP encoded)

Request#

{
"jsonrpc": "2.0",
"method": "eth_sendRawTransactionSync",
"params": ["0xf86c..."],
"id": 1
}

Returns#

Returns a full transaction receipt (same format as eth_getTransactionReceipt):

FieldTypeDescription
transactionHashDATA32-byte transaction hash
blockHashDATA32-byte block hash (may be zero for preconfirmed blocks)
blockNumberQUANTITYBlock number the transaction was included in
gasUsedQUANTITYGas consumed by the transaction
statusQUANTITY0x1 for success, 0x0 for revert
logsArrayLogs emitted by the transaction
l1FeeQUANTITYL1 data posting fee charged
l1GasUsedQUANTITYGas used for L1 data posting

Code Examples#

curl -X POST https://api-base-mainnet-archive.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_sendRawTransactionSync",
"params": ["0xf86c808504a817c80082520894..."],
"id": 1
}'

Response Example#

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"transactionHash": "0x...",
"blockHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"blockNumber": "0x29442e3",
"gasUsed": "0x5208",
"status": "0x1",
"logs": [],
"l1Fee": "0xa5fce0e0",
"l1GasUsed": "0x34dc"
}
}
note

The blockHash may be 0x000...000 because the transaction was included in a Flashblock that hasn't been sealed into a final block yet. The receipt is a preconfirmation — the transaction will be included in the next sealed block.

Error Handling#

Error CodeMessageDescription
-32602Failed to decode signed transactionInvalid RLP-encoded transaction data
-32000Nonce too lowTransaction nonce already used
-32000Insufficient fundsAccount has insufficient balance

Need help? Contact our support team or check the Base documentation.