USDC Payment Verifier on Base (x402 Proof of Payment) avatar

USDC Payment Verifier on Base (x402 Proof of Payment)

Pricing

Pay per event

Go to Apify Store
USDC Payment Verifier on Base (x402 Proof of Payment)

USDC Payment Verifier on Base (x402 Proof of Payment)

Verify that a USDC payment on Base really happened before your agent delivers: tx status, recipient, sender, minimum amount and confirmations checked against the official Circle USDC contract, with a clear verdict. Also reads USDC balances. Read-only. Unknown tx = not charged.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Novarithm

Novarithm

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Security

Limited permissions

Share

Before your AI agent delivers a file, an answer or a service, check that the USDC payment it was promised really landed. Give a transaction hash and what you expect; get a clear verdict.

What it does

  • Verify a payment (payments): reads the transaction on Base (or Base Sepolia) from public RPC nodes, decodes the Transfer events of the official Circle USDC contract, and checks:

    • the transaction succeeded,
    • USDC went to the expected recipient (to) and, optionally, from the expected payer (from),
    • the amount is at least min_amount,
    • it has at least min_confirmations.

    Verdicts: valid, mismatch, failed_tx, no_usdc_transfer, insufficient_confirmations, pending. The output also lists every USDC transfer in the transaction, the block time and the method used (transfer, or transferWithAuthorization / EIP-3009, the call x402 facilitators use to settle).

  • Read a balance (balances): the current USDC balance of an address.

Read-only: no wallet, no key, no funds held, nothing is ever sent.

Pricing (pay per event)

EventPriceCharged when
verify-usdc-payment$0.002one known transaction checked (any verdict)
usdc-balance$0.001one balance read

Unknown transaction hash, invalid input or RPC outage: never charged. No start fee.

Example

Input:

{"payments": [{"tx_hash": "0x4699c8e64627e085a11b8bdd1097f576e1363c1e11731005d1eb0c296df93d80", "to": "0x17cd53c04d707ef0dd615ef56c633f02915a7905", "min_amount": 0.05}]}

Output (shortened, real values):

{"endpoint": "verify_usdc_payment", "ok": true, "result": {"verdict": "valid", "matched_amount": 0.05, "settlement_method": "transferWithAuthorization (EIP-3009, x402-style)", "checks": {"tx_succeeded": true, "recipient_matches": true, "amount_ok": true, "confirmations_ok": true}}, "charged_event": "verify-usdc-payment"}

Limits (honest)

  • Base mainnet and Base Sepolia only; USDC only (no ETH or other tokens).
  • Relies on public RPC nodes (rate limits possible; outages are not charged).
  • A valid verdict says the payment matches; it says nothing about who the payer is (combine with a sanctions screening of the address if needed).

Sources

  • Base public RPC (mainnet.base.org, sepolia.base.org), dRPC public fallback.
  • Circle USDC contract addresses: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (Base), 0x036CbD53842c5426634e7929541eC2318f3dCF7e (Base Sepolia).