curl --request POST \
--url https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/ \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "eth_sendRawTransactionSync",
"params": [
"0xf867808502540e841e825208949729187d9e8bbefa8295f39f5634ca454dd9d294808083014b9da00602a6c9850068ac6667c098f65cf061e5e90d7030a63d13396dc6d0522fe517a07a0f9c9455612fcacfce60fba7c6e305728148f3ec345661535d0230f872f224"
],
"id": 1
}
'{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}curl --request POST \
--url https://tempo-mainnet.core.chainstack.com/c3ce2925b51f1ed18719fe8a23bbdccf/ \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"method": "eth_sendRawTransactionSync",
"params": [
"0xf867808502540e841e825208949729187d9e8bbefa8295f39f5634ca454dd9d294808083014b9da00602a6c9850068ac6667c098f65cf061e5e90d7030a63d13396dc6d0522fe517a07a0f9c9455612fcacfce60fba7c6e305728148f3ec345661535d0230f872f224"
],
"id": 1
}
'{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}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.
signedTransaction — the signed transaction data as a hex stringresult — the full transaction receipt object, returned once the transaction is included in a block. Contains the same fields as the response from eth_getTransactionReceipt, including Tempo-specific fields like feeToken and feePayer.eth_sendRawTransactionSync code examplesconst 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: 0,
data: "0x..." // TIP-20 transfer calldata
};
// Sign the transaction
const signedTx = await wallet.signTransaction(tx);
// Send synchronously — blocks until receipt is returned
const receipt = await provider.send("eth_sendRawTransactionSync", [signedTx]);
console.log(`Confirmed in block: ${receipt.blockNumber}`);
console.log(`Status: ${receipt.status}`);
};
sendTransactionSync();
eth_sendRawTransactionSync instead of eth_sendRawTransaction when:
eth_getTransactionReceipteth_sendRawTransaction instead.Was this page helpful?