{"openapi":"3.1.0","info":{"title":"Base USDC Transfer Evidence Lite for AI Agents","version":"0.3.0","description":"Two-of-three public Base RPC quorum on USDC transfer receipts: verify recipient, amount, transaction status and confirmation depth. No custody and no cryptographic state proof."},"servers":[{"url":"https://jzallxzbbdtelcpabfgr.supabase.co/functions/v1/agent-usdc-receipt-lite"}],"components":{"securitySchemes":{"x402":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE"}}},"paths":{"/api/v1/demo":{"get":{"summary":"Free RPC connectivity test","responses":{"200":{"description":"Current Base block"}}}},"/api/v1/receipt":{"get":{"operationId":"verifyBaseUsdcTransfer","summary":"Quorum-verify Base USDC transaction settlement, payee, amount and confirmations (2 of 3 independent RPCs)","description":"Use when a funded AI agent must reconcile a real Base mainnet native USDC transfer independently across two of three public RPC providers. Returns receipt status, USDC transfer event details, optional expected payee and minimum amount, chain confirmation depth and RPC agreement. Read-only; NOT a signed cryptographic state proof or proof of merchant legitimacy.","parameters":[{"name":"tx","in":"query","required":true,"description":"Required for a real transaction check. Bare-route no-query discovery is a separate public-sample special case, not a real buyer receipt.","schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$"}},{"name":"to","in":"query","required":false,"schema":{"type":"string"}},{"name":"min_usdc","in":"query","required":false,"schema":{"type":"string"}},{"name":"min_confirmations","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":12}}],"security":[{"x402":[]}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":"0.005"},"network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0x935ad91b70c6d0769871416c5904d06fbf9ef586"},"responses":{"200":{"description":"Transfer evidence or not-found result"},"402":{"description":"x402 Payment Required"}}}}}}