{"ok":true,"service":"Action402","generatedAt":"2026-05-23T02:44:04.994Z","purpose":"Execute one paid public HTTPS webhook/API action for an autonomous agent, then verify the signed proof receipt.","recommendedUse":"Use Action402 when you need one bounded side effect, not a multi-step workflow or private-network call.","payment":{"required":true,"scheme":"exact","network":"eip155:8453","price":"$0.003","route":"https://action402.vercel.app/api/execute/webhook"},"minimalRequest":{"url":"https://httpbin.org/anything","method":"POST","headers":{"content-type":"application/json"},"body":{"event":"agent.quickstart"},"idempotencyKey":"agent-quickstart-001","retry":{"attempts":2,"backoffMs":300},"timeoutMs":10000},"callFlow":["Read /api/quickstart, /api/pricing, /api/actions, or /api/capabilities.","Prepare the webhook action with url, method, body, idempotencyKey, retry, and timeoutMs.","POST { action, buyerPolicy } to /api/decide/webhook for a free deterministic pay/do-not-pay recommendation.","Optionally POST the action JSON to /api/policy/check to inspect lower-level target policy details.","If the first response is 402, verify price/network/payTo against buyer policy.","Pay /api/execute/guided-webhook through an x402 buyer client when the decision recommendation is pay_and_execute, or call /api/execute/webhook directly for the classic path.","Read links.job or links.receipt from the response.","Verify /api/verify/jobs/{id} or /api/verify/receipts/{id}.","Store the receipt id with the caller's task record."],"decisionRules":{"useWhen":["The agent needs a public HTTPS side effect.","The caller wants pay-per-action instead of an account.","The caller needs proof of execution attempt and outcome."],"avoidWhen":["The target is localhost, private network, or non-HTTP.","The job needs multi-step orchestration.","The caller cannot tolerate the configured price.","The target webhook cannot safely receive duplicate attempts without idempotency."]},"limits":{"allowedMethods":["POST","PUT","PATCH","DELETE"],"maxRetryAttempts":3,"maxWebhookTimeoutMs":12000,"privateNetworkTargetsBlocked":true},"snippets":[{"id":"decision-first-flow","title":"Decision-first flow","language":"bash","description":"Evaluate the action for free, then pay the guided route only when recommendation is pay_and_execute.","code":"curl https://action402.vercel.app/api/decide/webhook -H \"content-type: application/json\" -d '{\"action\":{\"url\":\"https://httpbin.org/anything\",\"method\":\"POST\",\"body\":{\"event\":\"agent.decision-first\"},\"idempotencyKey\":\"agent-decision-first-001\",\"timeoutMs\":10000},\"buyerPolicy\":{\"maxPriceUsd\":\"0.01\",\"requireReceipt\":true,\"requirePolicyPass\":true,\"requireIdempotencyKey\":true,\"minTrustScore\":55}}'\n# If recommendation is pay_and_execute, call https://action402.vercel.app/api/execute/guided-webhook through an x402 buyer client with the returned decisionId."},{"id":"agentcash-cli","title":"AgentCash CLI","language":"powershell","description":"Fastest local paid smoke test for an agent-controlled wallet.","code":"npx --% agentcash fetch https://action402.vercel.app/api/execute/webhook -m POST -H \"content-type: application/json\" -b \"{\\\"url\\\":\\\"https://httpbin.org/anything\\\",\\\"method\\\":\\\"POST\\\",\\\"body\\\":{\\\"event\\\":\\\"agent.quickstart\\\"},\\\"idempotencyKey\\\":\\\"agent-quickstart-001\\\",\\\"timeoutMs\\\":10000}\" --payment-protocol x402 --payment-network base --max-amount 0.01 -y --format json"},{"id":"plain-discovery","title":"Discovery first","language":"bash","description":"Use Bazaar/CDP discovery before hard-coding the endpoint.","code":"npx awal@latest x402 bazaar search \"Action402\" -k 5 --json\nnpx awal@latest x402 details https://action402.vercel.app/api/execute/webhook --json"},{"id":"verify-after-call","title":"Verify after call","language":"bash","description":"Treat the action as complete only after verifying the returned job or receipt.","code":"curl https://action402.vercel.app/api/verify/jobs/job_...\ncurl https://action402.vercel.app/api/verify/receipts/rcpt_..."},{"id":"price-guardrail","title":"Buyer budget guardrail","language":"text","description":"Agents should reject unexpected payment requirements before retrying with payment.","code":"Expected price: $0.003\nExpected routes: POST /api/execute/webhook or POST /api/execute/guided-webhook\nExpected network: Base mainnet"}],"verify":{"job":"https://action402.vercel.app/api/verify/jobs/{id}","receipt":"https://action402.vercel.app/api/verify/receipts/{id}","publicProofs":"https://action402.vercel.app/api/proofs/recent","proofBadge":"https://action402.vercel.app/proof/{jobOrReceiptId}"},"nextDiscoverySteps":["https://action402.vercel.app/api/actions","https://action402.vercel.app/api/pricing","https://action402.vercel.app/api/decide/webhook","https://action402.vercel.app/api/decisions/recent","https://action402.vercel.app/api/handoff/capabilities","https://action402.vercel.app/api/schedules/capabilities","https://action402.vercel.app/api/secrets/policy","https://action402.vercel.app/api/policy/check","https://action402.vercel.app/api/capabilities","https://action402.vercel.app/api/bazaar","https://action402.vercel.app/openapi.json","https://action402.vercel.app/llms.txt"]}