SpendPreflight
Product announcement · November 2, 2026

Verify a seller's payment address before paying (ERC-8478 payee verification)

An x402 payment request tells you where to send money. SpendPreflight now checks whether that address is bound to the ERC-8004 agent you intend to pay.

Our check implements the ERC-8478 draft proposal, which is still a draft, not an adopted final standard. It compares the resource's origin with the agent's registration file and checks either that payTo equals the registered agentWallet, or that a valid signed delegation authorizes that recipient. Delegation checks include EIP-712, ERC-1271 contract wallets, wallet rotation and the draft's maximum 365-day validity window.

Start with the free Lint line

When a seller's unpaid x402 response publishes extra.erc8004, free x402 Lint adds an outcome-only line such as ERC-8478 binding: verified-wallet. This is an illustrative outcome, not a claim about a particular seller. Free enrichment checks one advertised identity within its request budget; additional options remain not-read.

Get the signed observation for 0.01 USDC

The 0.01 USDC Payee Verification check accepts one payment-requirements object plus an optional registry and agent ID. Use POST /v1/payee-binding or MCP verify_payee_binding. Registry reads use one pinned block on Base or Robinhood Chain. Signed JSON includes the outcome, available block number and timestamp, and any failed read. The registration URI is pinned on-chain; its off-chain contents are fetched at check time.

The result is exactly one of nine outcomes: verified-wallet, verified-delegation, mismatch, invalid-delegation, endpoint-unlisted, owner-only, no-agent-wallet, no-identity or not-read. Missing evidence never becomes verification or a mismatch. A not-read result is not charged.

Seller Monitoring also re-checks binding outcomes on its existing weekly cadence. These are dated binding observations, not proof of reputation, safety or paid delivery. You keep control of payment authorization; the check does not sign or send funds.

Check a seller with free Lint Read the paid check's scope and examples →