eth_getTransactionReceipt
Returns the receipt of a transaction by transaction hash on XDC Network. Receipt is only available for mined transactions.
Why XDC Network? Build on the enterprise-grade blockchain for trade finance with 2-second finality and ISO 20022 compliance with ISO 20022 messaging, ITFA membership, Contour Network acquisition, 801M+ transactions, and partnerships with Circle and Deutsche Telekom.
Use Cases#
The eth_getTransactionReceipt method is essential for:
- Transaction confirmation - Verify transaction was mined successfully
- Gas analysis - Check actual gas used vs estimated
- Event parsing - Read emitted events from logs
- Status verification - Confirm success/failure for tokenized trade finance (Letters of Credit, Bills of Lading), cross-border payments, and real-world asset tokenization
Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
transactionHash | DATA | Yes | 32-byte transaction hash |
Request#
{
"jsonrpc": "2.0",
"method": "eth_getTransactionReceipt",
"params": [""],
"id": 1
}
Returns#
| Field | Type | Description |
|---|---|---|
status | QUANTITY | 1 (success) or 0 (failure) |
transactionHash | DATA | Transaction hash |
blockHash | DATA | Block hash |
blockNumber | QUANTITY | Block number |
gasUsed | QUANTITY | Gas used by this transaction |
cumulativeGasUsed | QUANTITY | Total gas used in block up to this tx |
logs | Array | Array of log objects |
contractAddress | DATA | Created contract address (if deployment) |
Code Examples#
- cURL
- JavaScript
- Python
- Go
curl -X POST https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "eth_getTransactionReceipt",
"params": [""],
"id": 1
}'
import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY');
const txHash = '';
const receipt = await provider.getTransactionReceipt(txHash);
if (receipt) {
console.log('Status:', receipt.status === 1 ? 'Success' : 'Failed');
console.log('Gas Used:', receipt.gasUsed.toString());
console.log('Block:', receipt.blockNumber);
console.log('Logs:', receipt.logs.length);
// Parse specific events
for (const log of receipt.logs) {
console.log('Event from:', log.address);
}
}
from web3 import Web3
w3 = Web3(Web3.HTTPProvider('https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY'))
tx_hash = ''
receipt = w3.eth.get_transaction_receipt(tx_hash)
if receipt:
status = 'Success' if receipt['status'] == 1 else 'Failed'
print(f'Status: {status}')
print(f'Gas Used: {receipt["gasUsed"]}')
print(f'Block: {receipt["blockNumber"]}')
print(f'Logs: {len(receipt["logs"])}')
package main
import (
"context"
"fmt"
"log"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/ethclient"
)
func main() {
client, err := ethclient.Dial("https://api-xdc-mainnet.n.dwellir.com/YOUR_API_KEY")
if err != nil {
log.Fatal(err)
}
txHash := common.HexToHash("")
receipt, err := client.TransactionReceipt(context.Background(), txHash)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Status: %d\n", receipt.Status)
fmt.Printf("Gas Used: %d\n", receipt.GasUsed)
fmt.Printf("Logs: %d\n", len(receipt.Logs))
}
Error Handling#
| Error Code | Message | Description |
|---|---|---|
| -32602 | Invalid params | Invalid transaction hash |
Note: Returns null if transaction is not yet mined.
Related Methods#
eth_getTransactionByHash- Get transaction detailseth_getLogs- Query logs by filter