{"ok":true,"service":"Action402","version":"action402.mcp-manifest.v1","generatedAt":"2026-05-23T02:49:27.291Z","status":"manifest-only","description":"Machine-readable MCP discovery manifest for agents that want to map Action402 HTTP/x402 routes into local MCP tools. Action402 publishes this manifest but does not host a stateful MCP server.","recommendedToolName":"execute_webhook","resourceAliases":["Action402 execute webhook","paid webhook execution","x402 action relay"],"discoveryQueries":["Action402","paid webhook execution","x402 webhook receipt","agent action relay","pay per API call","Action402 pricing API","Action402 MCP manifest","paid webhook execution","AI agent action relay","x402 paid API","Base USDC agent payments","402 Payment Required API","signed execution receipts","public proof examples","public proof badge","paid execution monitoring","verifiable webhook relay","idempotent agent tool calls","agent-safe side effects","request response hash proof","HTTP action with receipt","pay per API call","Action402 action catalog","agent quickstart x402","Action402 agent manifest","well-known agent.json","x402 agent discovery manifest","Action402 integration snippets","x402 verification snippets","x402 preflight policy check","check webhook before payment","x402 payment decision graph","pre-payment decision graph","decision-linked paid execution","decision-linked receipts","agent trust reflection memory","x402 action templates","agent policy mode","scheduled paid webhook","x402 schedule preview","browser action handoff","secret storage policy","agent webhook marketplace","agent-safe webhook execution","Slack webhook x402","Discord webhook x402","Telegram bot x402","Zapier webhook x402","Make webhook x402","GitHub Actions dispatch x402","ChatOps webhook notification","slack-webhook","discord-webhook","telegram-alert","chatops","agent-notification","send paid Slack webhook","agent Discord webhook notification","verifiable ChatOps alert","Zapier or Make workflow trigger","zapier-webhook","make-webhook","automation-trigger","no-code","trigger Zapier webhook with x402","paid Make automation webhook","agent no-code workflow trigger","GitHub repository dispatch","github-actions","repository-dispatch","ci-trigger","developer-automation","paid GitHub Actions dispatch","agent CI workflow trigger","repository dispatch with receipt","Analytics event ingest","analytics","event-ingest","audit-event","segment","posthog","paid analytics event ingest","agent audit event webhook","verifiable event tracking","CRM lead or ticket update","crm","support-ticket","hubspot","salesforce","customer-success","agent CRM webhook update","paid support ticket webhook","verifiable customer workflow action","Incident or ops alert","incident-alert","ops-webhook","pager-duty","alertmanager","reliability","paid incident alert webhook","agent ops escalation","verifiable alert manager trigger"],"mcpServer":{"hostedByAction402":false,"recommendedWrapperName":"action402-mcp","transportModel":"HTTP API routes plus x402 payment handling","note":"Use this manifest to build or configure an MCP wrapper. For paid execution, the wrapper must support x402 402-response handling or call through an x402-capable buyer client."},"tools":[{"name":"execute_webhook","title":"Execute paid webhook","description":"Pay through x402, execute one bounded public HTTPS request, and return job plus signed receipt links.","route":{"path":"/api/execute/webhook","url":"https://action402.vercel.app/api/execute/webhook"},"method":"POST","paid":true,"x402":{"required":true,"scheme":"exact","price":"$0.003","network":"eip155:8453","payTo":"0x75113dcF8Ce34f0338440D40270e420f8C1762b8"},"inputSchema":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Absolute public HTTPS URL to call."},"method":{"type":"string","enum":["POST","PUT","PATCH","DELETE"],"default":"POST"},"headers":{"type":"object","description":"Optional outbound target headers. Hop-by-hop and proxy headers are stripped."},"body":{"description":"JSON body forwarded to the target endpoint."},"idempotencyKey":{"type":"string","maxLength":160},"retry":{"type":"object","properties":{"attempts":{"type":"integer","minimum":1,"maximum":3},"backoffMs":{"type":"integer","minimum":0,"maximum":5000}}},"timeoutMs":{"type":"integer","minimum":1000,"maximum":12000}}},"output":"JSON with mode, idempotentReplay, job id/status/attempt count, receipt id/signature, and links.job/links.receipt.","verifyAfter":["/api/verify/jobs/{id}","/api/verify/receipts/{id}","/proof/{jobOrReceiptId}"]},{"name":"check_webhook_policy","title":"Preflight webhook policy","description":"Free check for target safety, method, policy, retry, timeout, and warnings before paying.","route":{"path":"/api/policy/check","url":"https://action402.vercel.app/api/policy/check"},"method":"POST","paid":false,"inputSchema":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Absolute public HTTPS URL to call."},"method":{"type":"string","enum":["POST","PUT","PATCH","DELETE"],"default":"POST"},"headers":{"type":"object","description":"Optional outbound target headers. Hop-by-hop and proxy headers are stripped."},"body":{"description":"JSON body forwarded to the target endpoint."},"idempotencyKey":{"type":"string","maxLength":160},"retry":{"type":"object","properties":{"attempts":{"type":"integer","minimum":1,"maximum":3},"backoffMs":{"type":"integer","minimum":0,"maximum":5000}}},"timeoutMs":{"type":"integer","minimum":1000,"maximum":12000}}}},{"name":"get_pricing","title":"Get pricing guardrails","description":"Fetch current price, network, payTo, free surfaces, and buyer guardrails.","route":{"path":"/api/pricing","url":"https://action402.vercel.app/api/pricing"},"method":"GET","paid":false},{"name":"get_capabilities","title":"Get capabilities","description":"Fetch the full Action402 service contract, safety limits, discovery hints, and schemas.","route":{"path":"/api/capabilities","url":"https://action402.vercel.app/api/capabilities"},"method":"GET","paid":false},{"name":"canary_echo","title":"Canary echo","description":"Free redacted echo target for non-sensitive route and JSON plumbing checks.","route":{"path":"/api/canary/echo","url":"https://action402.vercel.app/api/canary/echo"},"method":"POST","paid":false},{"name":"verify_job_receipt","title":"Verify job receipt","description":"Verify signed receipt consistency for a returned job id.","route":{"path":"/api/verify/jobs/{id}","url":"https://action402.vercel.app/api/verify/jobs/{id}"},"method":"GET","paid":false}],"buyerFlow":["Fetch /api/mcp or /.well-known/mcp.json.","Create local MCP tools from the listed route/method/inputSchema pairs.","Fetch /api/pricing and reject unexpected price, network, payTo, or route.","POST the intended payload to /api/policy/check before paying.","Call execute_webhook through an x402-capable buyer client.","Verify links.job or links.receipt before marking the task complete."],"guardrails":["Do not send wallet private keys or long-lived target secrets to Action402.","Use idempotencyKey for buyer retries.","Use /api/canary/echo only for non-sensitive self-tests; it does not create a paid receipt.","Reject localhost, private-network, and non-HTTPS targets before payment.","Treat schedule and browser endpoints as preview/handoff surfaces, not paid execution."],"links":{"self":"https://action402.vercel.app/api/mcp","wellKnown":"https://action402.vercel.app/.well-known/mcp.json","mcpGuide":"https://action402.vercel.app/mcp","apiIndex":"https://action402.vercel.app/api","pricing":"https://action402.vercel.app/api/pricing","capabilities":"https://action402.vercel.app/api/capabilities","quickstart":"https://action402.vercel.app/api/quickstart","bazaar":"https://action402.vercel.app/api/bazaar","openapi":"https://action402.vercel.app/openapi.json","snippets":"https://action402.vercel.app/api/snippets","executeWebhook":"https://action402.vercel.app/api/execute/webhook"}}