Skip to main content
POST
/
efb0a5eccd2caa5135eb54eba6f7f300
eth_sendRawTransactionSync
curl --request POST \
  --url https://optimism-mainnet.core.chainstack.com/efb0a5eccd2caa5135eb54eba6f7f300 \
  --header 'Content-Type: application/json' \
  --data '
{
  "jsonrpc": "2.0",
  "method": "eth_sendRawTransactionSync",
  "params": [
    "0xf86c808504a817c80082520894ab5db0e98b8ea6b7f9d8ad8e8ed0bc8fba0d1a2f870de0b6b3a764000080821b9f",
    5000
  ],
  "id": 1
}
'
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "transactionHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
    "blockHash": "0xabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcd",
    "blockNumber": "0x12345",
    "gasUsed": "0x5208",
    "status": "0x1"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt

Use this file to discover all available pages before exploring further.

Optimism API method that submits a signed transaction and blocks until the transaction receipt is returned or the timeout expires. This is a synchronous version of eth_sendRawTransaction — instead of returning just the transaction hash, it waits for the transaction to be included in a block and returns the full receipt. This method is defined by EIP-7966 and is available on op-erigon and op-geth builds that pull in the EIP-7966 implementation.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Optimism’s ~2-second block time means sync calls usually return a receipt well within typical timeouts. Pick a timeout that fits your application — the request returns once a receipt is available or once the timeout expires.

Parameters

  • signedTransactionData — the signed transaction data in hexadecimal format. Includes nonce, gas price, gas limit, recipient address, value, data, and signature.
  • timeout (optional) — maximum wait time in milliseconds, passed as a decimal integer per EIP-7966 (e.g., 5000). If omitted, the node uses its configured default. Note that Polygon (Bor) uses a different encoding — see the Polygon equivalent.

Response

  • result — the full transaction receipt object once the transaction is included in a block, with the same fields as eth_getTransactionReceipt. If the timeout expires before inclusion, the node returns an error.

eth_sendRawTransactionSync code examples

const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);

const sendTransactionSync = async () => {
  const wallet = new ethers.Wallet("YOUR_PRIVATE_KEY", provider);

  const tx = {
    to: "0xRecipientAddress",
    value: ethers.parseEther("0"),
    chainId: 10,
  };

  // Sign the transaction
  const signedTx = await wallet.signTransaction(tx);

  // Send synchronously — blocks until receipt is returned or timeout expires
  const receipt = await provider.send(
    "eth_sendRawTransactionSync",
    [signedTx, 5000]
  );
  console.log(`Confirmed in block: ${receipt.blockNumber}`);
  console.log(`Status: ${receipt.status}`);
};

sendTransactionSync();

When to use

Use eth_sendRawTransactionSync instead of eth_sendRawTransaction when:
  • You need the receipt immediately and want to avoid polling with eth_getTransactionReceipt.
  • You are building synchronous request/response flows (payments, bots, simulations).
  • You want to simplify transaction submission logic by getting the result in a single call.
For fire-and-forget scenarios or when submitting many transactions in parallel, use eth_sendRawTransaction.

Body

application/json
jsonrpc
string
default:2.0
required
method
string
default:eth_sendRawTransactionSync
required
id
integer
default:1
required
params
(string | integer)[]
required
Required array length: 1 - 2 elements

Response

200 - application/json

Successful transaction submission with receipt

jsonrpc
string
Example:

"2.0"

id
integer
Example:

1

result
object
Last modified on May 1, 2026