RPC method

eth_getTransactionReceipt on Sonic

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_getTransactionReceipt on Sonic through the same endpoint customers use, and is re-measured weekly.

What eth_getTransactionReceipt does

Returns the outcome of a mined transaction: status (1 success, 0 reverted), gas used, the effective gas price, the logs it emitted and any contract it created. It returns null until the transaction is in a block.

eth_getTransactionReceipt on Sonic: what we measured

Fields14
Receipt for an unknown hashnull
Size of the sample receipt4.0 KB

Reading the fee and fields

The fee is gasUsed × effectiveGasPrice, the same as on Ethereum: Sonic receipts carry no separate L1 or data fee field.

A hash the node has not seen returns null, not an error, so poll until it is non-null (viem's waitForTransactionReceipt does this) and give up after a timeout.

A real Sonic receipt

As our endpoint returned it; logs collapsed to a count and long hex values shortened.

{
  "blockHash": "0x9536929302d47e9d0950d99e3f2816000a154459d9507fe612ee260737fc6937",
  "blockNumber": "0x4d2bd38",
  "contractAddress": null,
  "cumulativeGasUsed": "0xdd19d",
  "effectiveGasPrice": "0xbe2d12e80",
  "from": "0xe46c82f4d95ed83ae914df238ce8db37613caebd",
  "gasUsed": "0xdd19d",
  "logs": "3 logs",
  "logsBloom": "0x0000000000000000…(256 bytes)",
  "status": "0x1",
  "to": "0x238c875b655ddf40b7017956fb2d2e35d1fa6266",
  "transactionHash": "0xd72d1cc51d1c5d4341196d720232d631bec362803eed168719fcf5cb7f28b72e",
  "transactionIndex": "0x0",
  "type": "0x2"
}

Example request

curl -s https://rpc.swiftnodes.io/rpc/sonic?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_getTransactionReceipt","params":["0xd72d1cc51d1c5d4341196d720232d631bec362803eed168719fcf5cb7f28b72e"]}'
import { createPublicClient, http } from "viem";

const client = createPublicClient({
  transport: http("https://rpc.swiftnodes.io/rpc/sonic?key=YOUR_API_KEY"),
});

const receipt = await client.waitForTransactionReceipt({ hash, timeout: 60_000 });
if (receipt.status !== "success") throw new Error("reverted");

const total = receipt.gasUsed * receipt.effectiveGasPrice;

Other methods on Sonic

eth_getTransactionReceipt on other chains

Frequently asked questions

Does Sonic support eth_getTransactionReceipt?

Yes. eth_getTransactionReceipt answered on the SwiftNodes Sonic endpoint when our weekly probe called it through the customer path (2026-10-13).

How do I get the total fee of a transaction on Sonic?

gasUsed × effectiveGasPrice from the receipt.

Why is the Sonic receipt null?

The transaction is not in a block yet, or the hash is unknown to the node. Keep polling with a timeout.

Sonic endpoints, live block height and WebSocket status are on the Sonic RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.