Read the execution outcome from an Ethereum transaction receipt
A transaction hash is enough to start a lookup. The receipt tells an operator which block included the transaction and whether top-level execution succeeded.
Look up a receipt by its transaction hash
Set TX to the full transaction hash, including 0x, and RPC_URL to your HTTP endpoint for that chain. The response can be null, a receipt object or a JSON-RPC error. Keep the error response when diagnosing a gateway or node.
curl -sS -H "Content-Type: application/json" --data "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getTransactionReceipt\",\"params\":[\"$TX\"]}" "$RPC_URL"
If the result is null, the endpoint currently has no receipt for that hash. Check eth_getTransactionByHash on the same endpoint. A known transaction with a null blockHash is pending there. If both lookups return null, confirm the network and hash and check another trusted endpoint before drawing a conclusion about inclusion.
Separate execution from the application outcome
For post-Byzantium Ethereum transactions, status equal to 0x0 means top-level execution failed. The transaction can still appear in a block and consume gas. 0x1 means top-level execution succeeded. To confirm a particular token movement, inspect logs from the expected contract and decode the sender, recipient and amount according to its ABI. A contract can catch a failed internal call and complete the outer transaction successfully. eips.ethereum.org Receipt status in EIP-658
Store the receipt’s blockHash with the observation. For a final record, wait until the finalized height covers the receipt’s height and verify the canonical block hash at that height. A receipt first seen near the tip can move or disappear during a reorganization.