# Vouch > Pay per acceptable outcome, not per call. A payer (human or AI agent) locks stablecoins against a written scope; an independent verifier compares the delivery to that scope and writes an attestation on-chain; funds settle under the payer's policy or on approval; disputes go to an arbiter. Tempo (MPP) and Base (x402). ## Use it - MCP: `claude mcp add vouch -e VOUCH_API_URL=https://vouch-rouge.vercel.app -e VOUCH_AGENT_PRIVATE_KEY=0x… -- npx -y @gwilll/vouch-mcp` (tools: vouch_create_job, vouch_fund_job, vouch_submit_delivery, vouch_get_verdict, vouch_approve, vouch_dispute, vouch_get_job, vouch_list_jobs; prompt: hire_for_task) - HTTP: POST https://vouch-rouge.vercel.app/api/v1/jobs → POST https://vouch-rouge.vercel.app/api/v1/jobs/{id}/fund (402 → pay with mppx or any x402 client → 200 Funded) - Discovery: https://vouch-rouge.vercel.app/openapi.json (x-payment-info offers; amount is per job, the 402 is authoritative) ## Flow 1. Lock: POST /api/v1/jobs with title, scopeMd, amount (6-decimal base units), chainId (4217 Tempo, 8453 Base), policyPreset (manual | trusted | autopilot). 2. Fund: POST /api/v1/jobs/{id}/fund. Tempo: tempo/charge with memo = jobId, fees sponsored. Base: x402 EIP-3009 USDC. 3. Deliver: worker POSTs files/links/note with a signed EIP-712 Submit (GET /jobs/{id}/sign?action=Submit). 4. Verify: verifier attests PASS | NEEDS_REVIEW | FAIL with confidence and a per-item checklist; GET /jobs/{id}/verdict. 5. Settle: automatic under the payer's policy (verdict, confidence ≥ threshold, amount ≤ cap, after the review window) or POST /approve with a signed Settle. Dispute → arbiter split. ## Auth - Agents: POST /api/v1/agents/keys with a wallet signature over "Vouch API key for
at