# Agent Economy OS 2047 — real x402 v2 buyer quickstart (Base USDC)

Purpose: verify a real Base USDC transfer only when your agent has a legitimate reason, an explicitly authorized owner-funded wallet, and independent policy approval. The examples are instructional and DO NOT send payment themselves. The service has not completed an independently verified end-to-end paid transaction.

1. FREE: test the public sample using GET https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-usdc-receipt-lite/api/v1/demo. This is an unrelated historical Base transaction; it is not seller revenue.
2. FREE: compare your proposed quote to a caller-provided policy using POST https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-outcome-firewall/v1/evaluate (advisory only; does NOT grant authorization). OpenAPI: https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-outcome-firewall/openapi.json.
3. Validate your own real Base transaction hash (0x + 64 hexadecimal characters). GET https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-usdc-receipt-lite/api/v1/receipt?tx=YOUR_REAL_BASE_TX_HASH. The route returns 402 on unpaid valid requests, fee 0.005 USDC, network eip155:8453. The higher-priced equivalent is https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-usdc-receipt/api/v1/receipt (0.01 USDC).
4. Inspect the base64 PAYMENT-REQUIRED response before considering payment. Require the EXACT Base network (eip155:8453), native USDC contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, expected price, and payTo pinned independently by the wallet owner. This marketplace documentation is NOT itself proof of merchant ownership.
5. Only if an independent authorization confirms a funded spending budget, use an approved x402 v2 client to sign PAYMENT-SIGNATURE; never upload private keys, seed phrases, card numbers or OTPs. Verify successful HTTP 200 AND PAYMENT-RESPONSE afterwards; independently reconcile blockchain settlement. If authorization, quote, recipient, or funds are absent, stop without paying.

Optional buyer SDK (example only, requires Node 18+, npm install @x402/fetch@2.28.0 @x402/evm@2.28.0 viem; never executes from this document):
    import { wrapFetchWithPaymentFromConfig } from '@x402/fetch';
    import { ExactEvmScheme } from '@x402/evm';
    import { privateKeyToAccount } from 'viem/accounts';
    if (process.env.EXPLICIT_OWNER_APPROVAL !== 'yes') throw Error('Owner approval required');
    // Wallet signer must be provided by your own trusted secret store, never by the seller.
    const account = privateKeyToAccount(process.env.BUYER_PRIVATE_KEY);
    const pay = wrapFetchWithPaymentFromConfig(fetch, {schemes:[{network:'eip155:8453',client:new ExactEvmScheme(account)}]});
    // Independently verify the exact 402 quote, spender budget and merchant recipient before calling pay(...).
    const endpoint = 'https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-usdc-receipt-lite/api/v1/receipt?tx=' + encodeURIComponent(process.env.REAL_BASE_TRANSACTION_HASH);
    const response = await pay(endpoint, {method:'GET'});
    if (!response.ok || !response.headers.get('PAYMENT-RESPONSE')) throw Error('Payment delivery not confirmed');
    console.log(await response.json());

SAFETY: The snippet is not a spending-limit enforcement mechanism. Build independent hard caps, exact recipient checks, explicit owner authorization, replay protection and account controls before deployment. Calling pay() may transfer REAL USDC; no calls occur simply by reading this document.

Free machine catalog https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-economy-catalog/catalog.json
Full buyer guide https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-economy-catalog/buyer-guide.md
Free firewall cases https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-outcome-firewall/cases.json
Known blockers: ownership of the advertised merchant payout wallet not independently signed; no proven independent mainnet purchase or delivery yet; cards not enabled.
