# 402utils USDC Transaction Receipt Verifier

> 402utils USDC Transaction Receipt Verifier is a paid API for AI agents from 402utils.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-10).

Verifies on-chain that a given transaction hash represents the expected USDC payment, returning transfer details, confirmation count, and optional signed attestation.

## Facts

- Endpoint: GET https://402utils.com/v1/receipt-verify?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/402utils-usdc-transaction-receipt-verifier-757d1a22
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_f-tc9rsMF1qd4QUZOrZEE

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability 402utils-usdc-transaction-receipt-verifier-757d1a22
```

Example prompt: Can you verify that transaction 0x3a7f...d9e2 on Base is a valid USDC payment of $0.01 to address 0xABC...123 and get a signed attestation receipt for our records?

## When to prefer this

Use this endpoint when you need to programmatically confirm that a specific transaction hash represents a valid USDC payment matching expected parameters (recipient, amount) on Base or Base Sepolia. Ideal for post-payment verification workflows, x402 payment receipt validation, audit trails requiring signed attestations, and any automation that must gate on confirmed crypto payment before proceeding. Prefer over generic block explorers when you need structured JSON output and optional cryptographic attestation rather than human-readable pages.

## Known failure modes

- Transaction not yet mined or unknown → 503 response (unbilled)
- Transaction reverted on-chain → verified=false with mismatch=[reverted]
- Wrong recipient address → verified=false with mismatch=[payTo]
- Wrong amount → verified=false with mismatch=[amount]
- No USDC Transfer event in the transaction → verified=false with mismatch=[no_usdc_transfer]
- Invalid transaction hash format → 4xx error
- Unsupported network specified → error response

## How this service works

Verify on-chain that a transaction is the USDC payment you expected. Pass ?tx=0x… plus optional ?expectedPayTo=0x… and ?expectedAmount=0.01 (USD); ?network defaults to the deployment chain (base or base-sepolia). Decodes the tx's USDC Transfer logs and returns {verified, actualPayTo, actualAmount, asset, blockTime, confirmations, mismatch}. Unknown/unmined tx → 503 (unbilled). Add ?attest=1 for a signed receipt.

## Output

Returns a JSON object with: verified (boolean indicating if all expectations matched), actualPayTo (recipient address found in logs), actualAmount (USD amount transferred), asset (USDC contract address), blockTime (ISO timestamp), confirmations (integer), txStatus (success or reverted), transfers (array of all USDC Transfer log entries in the tx), mismatch (array of strings describing any failed expectations), and optionally a signed Ed25519 attestation. Returns 503 if the transaction is unknown or not yet mined.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "tx"
     ],
     "properties": {
      "tx": {
       "type": "string",
       "description": "Transaction hash, 0x + 64 hex (required)."
      },
      "attest": {
       "type": "string",
       "description": "Set to 1 for an Ed25519-signed attestation of the result (audit trail)."
      },
      "network": {
       "type": "string",
       "description": "base | base-sepolia | eip155:8453 | eip155:84532. Defaults to the deployment chain."
      },
      "expectedPayTo": {
       "type": "string",
       "description": "Address the USDC should have been sent to (optional)."
      },
      "expectedAmount": {
       "type": "string",
       "description": "Expected USDC amount in USD, e.g. 0.01 (optional)."
      }
     },
     "description": "Query string only."
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "verified",
      "tx",
      "network",
      "txStatus",
      "asset",
      "transfers"
     ],
     "properties": {
      "tx": {
       "type": "string"
      },
      "asset": {
       "type": "string",
       "description": "USDC contract on this network."
      },
      "network": {
       "type": "string",
       "description": "CAIP-2 chain id the receipt was read on."
      },
      "explorer": {
       "type": "string"
      },
      "mismatch": {
       "type": "array",
       "items": {
        "type": "string"
       },
       "description": "Present when verified=false: which expectations failed (payTo, amount, no_usdc_transfer, reverted)."
      },
      "txStatus": {
       "enum": [
        "success",
        "reverted"
       ],
       "type": "string"
      },
      "verified": {
       "type": "boolean",
       "description": "True only if a matching USDC Transfer was found and every expectation held."
      },
      "blockTime": {
       "type": [
        "string",
        "null"
       ],
      
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/402utils-usdc-transaction-receipt-verifier-757d1a22/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 402utils.com](https://www.zero.xyz/host/402utils.com/llms.txt)
