Transaction receipt (decoded transfers)

$0.003 per call · USDC via x402 · POST /api/tx-receipt

Full receipt for a transaction hash in one call: status, block, from/to, value, gas used vs limit, effective gas price, total fee, tx type, calldata selector, contract created, plus every ERC-20 / ERC-721 / ERC-1155 Transfer event decoded locally from the logs (token, from, to, amount, tokenId) and the list of contracts that emitted logs. Send POST /api/tx-receipt with the required field hash and pay $0.003 per call over x402 or MPP (there is no free tier). It returns a JSON object with network, chainId, hash, status, blockNumber and 22 more.

Receipt and transaction are fetched in a single batched request. 404 (not charged) when the hash is unknown on that chain; a seen-but-unmined tx answers with status pending.

Category: Crypto & onchain data · Tags: crypto transaction receipt tx logs transfers gas fee · Also found as: receipt eth_gettransactionreceipt

TRY IN PLAYGROUND →

Parameters

NameTypeRequiredDescription
hashstringyes0x-prefixed 32-byte transaction hash. Also accepted as tx, txid, txHash, tx_hash, transaction, signature.
networkstringnoethereum / base / polygon / arbitrum / optimism (default ethereum).

Example request

curl -i -X POST https://agent402.tools/api/tx-receipt \
  -H "Content-Type: application/json" \
  -d '{"hash":"0x214b3526ee64f7eabfc94ea536b8680bd95a2da634ebf5149aea189d311be56b","network":"ethereum"}'

Without payment this returns HTTP 402 Payment Required with the exact price for tx-receipt; any x402 v2 or MPP client pays it and retries.

Example response

{
  "network": "ethereum",
  "chainId": 1,
  "hash": "0x214b3526ee64f7eabfc94ea536b8680bd95a2da634ebf5149aea189d311be56b",
  "status": "success",
  "blockNumber": 25563191,
  "blockHash": "0x8e12…1243",
  "transactionIndex": 128,
  "timestamp": "2026-07-19T00:32:23.000Z",
  "from": "0xa916…6081",
  "to": "0xa0b8…eb48",
  "contractAddress": null,
  "nonce": 873,
  "type": "0x2",
  "value": "0",
  "valueWei": "0",
  "gasUsed": "45148",
  "gasLimit": "54633",
  "effectiveGasPriceGwei": 0.040610326,
  "feeWei": "1833474998248",
  "feeNative": "0.000001833474998248",
  "selector": "0xa9059cbb",
  "inputBytes": 68,
  "logCount": 1,
  "contractsTouched": [
    "0xa0b8…eb48"
  ],
  "transfers": [
    {
      "standard": "erc20",
      "contract": "0xa0b8…eb48",
      "from": "0xa916…6081",
      "to": "0xd8da…6045",
      "rawValue": "420000",
      "tokenId": null,
      "logIndex": 413
    }
  ],
  "source": "alchemy",
  "fetchedAt": "2026-08-22T12:00:00.000Z"
}
FieldTypeAlways presentIn the example
networkstringyesethereum
chainIdnumberyes1
hashstringyes0x214b3526ee64f7eabfc94ea536b8680bd95a2da634ebf5149aea189d311be56b
statusstringyessuccess
blockNumbernumberyes25563191
blockHashstringyes0x8e12…1243
transactionIndexnumberyes128
timestampstringyes2026-07-19T00:32:23.000Z
fromstringyes0xa916…6081
tostringyes0xa0b8…eb48
contractAddressnullnonull
noncenumberyes873
typestringyes0x2
valuestringyes0
valueWeistringyes0
gasUsedstringyes45148
gasLimitstringyes54633
effectiveGasPriceGweinumberyes0.040610326
feeWeistringyes1833474998248
feeNativestringyes0.000001833474998248
selectorstringyes0xa9059cbb
inputBytesnumberyes68
logCountnumberyes1
contractsTouchedarray of stringyes1 item in the example
transfersarray of objectsyes1 item in the example
sourcestringyesalchemy
fetchedAtstringyes2026-08-22T12:00:00.000Z

From an MCP client

catalog.call {
  "slug": "tx-receipt",
  "params": {
    "hash": "0x214b3526ee64f7eabfc94ea536b8680bd95a2da634ebf5149aea189d311be56b",
    "network": "ethereum"
  }
}

The hosted connector at https://agent402.tools/mcp needs a payment for tx-receipt; the stdio package pays it from a wallet or from AGENT402_CREDITS_KEY. Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/tx-receipt", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "hash": "0x214b3526ee64f7eabfc94ea536b8680bd95a2da634ebf5149aea189d311be56b",
    "network": "ethereum"
  }),
});

Related tools

Wallet token transfers (filtered)

$0.003 · POST /api/asset-transfers

Recent token transfers for a wallet on Base, Ethereum and other EVM chains, newest first. Filtered transfer log for an E…

Block receipts (one block, summarised)

$0.005 · POST /api/block-receipts

Every transaction receipt in one block, fetched as a single upstream read and summarised: tx count, succeeded vs failed,…

Multi-chain EVM RPC (read-only)

$0.004 · POST /api/evm-rpc

Read-only JSON-RPC against Ethereum, Base, Polygon, Arbitrum, or Optimism with built-in multi-endpoint failover - one pa…

Gas snapshot (slow / standard / fast)

$0.005 · POST /api/gas-snapshot

Live gas price snapshot for a chain - slow / standard / fast tiers in gwei, plus the latest base fee. Sampled from eth_f…

Token balances (named contracts)

$0.002 · POST /api/token-balances

ERC-20 balances of one wallet for a NAMED list of token contracts (1-20) - the targeted complement to the full-portfolio…

Transaction simulation (eth_call + gas)

$0.005 · POST /api/tx-simulate

Dry-run a prospective smart-contract call or transaction without broadcasting it: executes eth_call and eth_estimateGas …