# Base Payment Verifier / TX Decoder

> Base Payment Verifier / TX Decoder is a paid API for AI agents from agent-production-d9d8e.up.railway.app, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-30).

Verify a Base blockchain transaction by hash, returning status, confirmations, ETH value, L2 fee, and decoded ERC-20 transfers with a pass/fail check against expected recipient, token, and amount.

## Facts

- Endpoint: GET https://agent-production-d9d8e.up.railway.app/shop/0-origen/base-payment-verify?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/base-payment-verifier-tx-decoder-55bec700
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7GyRA4ym6zsm6OIQk--_U

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 base-payment-verifier-tx-decoder-55bec700
```

Example prompt: Can you verify that Base transaction 0xba46... actually paid 40 USDC to 0x4e65... using token contract 0x8335...? I want to confirm it succeeded and the minimum amount of 40 was transferred before I ship the order.

## When to prefer this

Use this endpoint when you need to confirm a specific Base L2 payment before taking action — especially for e-commerce, deposit crediting, or any workflow that requires proof of on-chain payment. It is purpose-built for Base and decodes ERC-20 transfers with human-readable symbols and amounts, eliminating the need to manually parse raw logs. Prefer it over generic block explorers when you need a structured, agent-readable response with a pass/fail verified flag tied to a specific recipient, token, and minimum amount.

## Known failure modes

- Transaction hash not found or not yet indexed — returns pending or null status
- Invalid tx hash format — likely returns an error response
- Transaction on a chain other than Base — results may be incorrect or empty
- RPC node temporarily unavailable — may return timeout or 503
- Token contract not recognized — symbol and decimals may be missing from transfer decode
- minAmount not met — returns verified: false with matchedTransfer: null

## How this service works

Verify that a Base transaction paid what you expected. Give a tx hash; get status (success/reverted/pending), confirmations, from/to, ETH value, L2 fee and every ERC-20 Transfer decoded with symbol and decimals. Optional to, token and minAmount params return verified=true/false plus the matching transfer. Live data from Base RPC. Use it before delivering goods or crediting a deposit.

## Output

A JSON object containing: transaction status (success/reverted/pending), block number, confirmation count, from and to addresses, ETH value transferred, L2 fee in ETH, an array of decoded ERC-20 Transfer events with token symbol/decimals/amount, and optionally a 'verified' boolean plus 'matchedTransfer' object when to/token/minAmount filters are provided.

## 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"
    }
   }
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {}
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "to": "0xa238...",
  "tx": "0xba46...",
  "from": "0x5d41...",
  "block": 52824785,
  "chain": "base",
  "check": {
   "to": "0x4e65...",
   "token": "0x8335...",
   "minAmount": "40"
  },
  "status": "success",
  "ethValue": "0",
  "l2FeeEth": "0.00000127833",
  "verified": true,
  "confirmations": 46538,
  "tokenTransfers": [
   {
    "to": "0x4e65...",
    "raw": "40000000",
    "from": "0x5d41...",
    "token": "0x8335...",
    "amount": "40",
    "symbol": "USDC",
    "decimals": 6
   }
  ],
  "matchedTransfer": {
   "amount": "40",
   "symbol": "USDC"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/base-payment-verifier-tx-decoder-55bec700/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent-production-d9d8e.up.railway.app](https://www.zero.xyz/host/agent-production-d9d8e.up.railway.app/llms.txt)
