Skip to main content
POST
/
cbe98cb5b5f53987d76c16d4ad716b2f
eth_sendRawTransactionSync
curl --request POST \
  --url https://ethereum-mainnet.core.chainstack.com/cbe98cb5b5f53987d76c16d4ad716b2f \
  --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.

Ethereum 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 Erigon (>= v3.4.0) and go-ethereum (>= v1.16.6).
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.
Because Ethereum mainnet has a ~12-second block time, sync calls often exceed short timeouts. Pick a timeout that fits your application — the request returns once a receipt is available or once the timeout expires, whichever comes first.

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 other Chainstack chains may use different timeout encodings — see the Polygon equivalent, where Bor expects a hex-encoded timeout.

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 indicating the transaction was added to the pool but not yet processed.

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: 1,
  };

  // 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