{"ok":true,"service":"Action402","version":"action402.pricing.v1","generatedAt":"2026-05-23T02:45:03.633Z","pricingModel":"pay-per-action","summary":"Agents pay only for POST /api/execute/webhook or POST /api/execute/guided-webhook. Discovery, decision graph, preflight, canary echo, snippets, proof verification, trust, and monitoring surfaces are free.","payment":{"required":true,"protocol":"x402","scheme":"exact","network":"eip155:8453","networkName":"Base mainnet","price":{"display":"$0.003","amount":0.003,"currency":"USD"},"route":"https://action402.vercel.app/api/execute/webhook","payTo":"0x75113dcF8Ce34f0338440D40270e420f8C1762b8","facilitatorUrl":"https://api.cdp.coinbase.com/platform/v2/x402"},"paidActions":[{"id":"execute.webhook","method":"POST","path":"/api/execute/webhook","price":"$0.003","unit":"one bounded public HTTPS request attempt with retries and a signed receipt","chargeTiming":"In x402 mode, payment is required before Action402 attempts the target call.","failurePolicy":"If the downstream target fails after accepted payment, Action402 returns a failed job plus a signed receipt/proof for the attempt.","idempotency":"Send idempotencyKey so repeated buyer retries can reuse the retained job instead of intentionally creating duplicate target effects."},{"id":"execute.guided_webhook","method":"POST","path":"/api/execute/guided-webhook","price":"$0.003","unit":"one decision-linked public HTTPS request attempt with retries and a signed receipt","chargeTiming":"Buyer agents should first call free POST /api/decide/webhook, then pay this route only when the decision recommendation is pay_and_execute.","failurePolicy":"If the downstream target fails after accepted payment, Action402 still links the paid job, receipt, and decision outcome for later trust reflection.","idempotency":"The execution body must match the approved decision id so buyer retries cannot silently change the target action."}],"freeSurfaces":{"discovery":["/api","/api/pricing","/api/capabilities","/api/actions","/api/quickstart","/api/bazaar","/api/agent-manifest","/.well-known/agent.json","/openapi.json","/llms.txt"],"preflight":["/api/decide/webhook","/api/policy/check","/api/canary/echo"],"decision":["/api/decide/webhook","/api/decisions/{id}","/api/decisions/recent","/decisions","/decision/{id}"],"verification":["/api/jobs/{id}","/api/receipts/{id}","/api/verify/jobs/{id}","/api/verify/receipts/{id}","/api/proofs/recent","/proof/{jobOrReceiptId}"],"trustAndMonitoring":["/status","/health","/api/trust","/api/monitoring/executions"]},"buyerGuardrails":["Read /api/pricing and reject unexpected price, network, route, or payTo before paying.","POST the intended payload to /api/decide/webhook and prefer guided execution when it returns pay_and_execute.","POST the intended payload to /api/policy/check before payment.","Use a buyer-side max spend cap that is above the listed price and below the caller's budget.","Always pass idempotencyKey for retryable buyer flows.","Verify /api/verify/jobs/{id} or /api/verify/receipts/{id} before marking the task complete."],"limits":{"allowedMethods":["POST","PUT","PATCH","DELETE"],"privateNetworkTargetsBlocked":true,"maxRetryAttempts":3,"maxWebhookTimeoutMs":12000,"rateLimit":{"enabled":true,"windowMs":60000,"maxRequests":60},"targetQuota":{"enabled":true,"windowMs":60000,"maxRequests":20}},"links":{"self":"https://action402.vercel.app/api/pricing","humanPricing":"https://action402.vercel.app/pricing","executeWebhook":"https://action402.vercel.app/api/execute/webhook","guidedWebhook":"https://action402.vercel.app/api/execute/guided-webhook","decideWebhook":"https://action402.vercel.app/api/decide/webhook","recentDecisions":"https://action402.vercel.app/api/decisions/recent","decisionsPage":"https://action402.vercel.app/decisions","policyCheck":"https://action402.vercel.app/api/policy/check","quickstart":"https://action402.vercel.app/api/quickstart","capabilities":"https://action402.vercel.app/api/capabilities","bazaar":"https://action402.vercel.app/api/bazaar","snippets":"https://action402.vercel.app/api/snippets","status":"https://action402.vercel.app/status","health":"https://action402.vercel.app/health","trust":"https://action402.vercel.app/api/trust","openapi":"https://action402.vercel.app/openapi.json"}}