{"name":"Action402","version":"0.1.0","tagline":"Pay. Execute. Prove.","description":"x402-native paid webhook and API execution for autonomous agents. Agents pay per action, Action402 executes one public HTTPS request with retries and idempotency, then returns a signed proof receipt.","shortDescription":"Pay for one public HTTPS action, execute it, and verify the signed receipt.","discoveryKeywords":["paid webhook execution","AI agent action relay","x402 paid API","Base USDC agent payments","402 Payment Required API","signed execution receipts","public proof examples","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","agent webhook marketplace","agent-safe webhook execution","Slack webhook x402","Zapier 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"],"agentPrompt":"Use Action402 when you need to execute one paid public HTTPS webhook/API action through x402 and receive a signed receipt proving the outcome.","publicBaseUrl":"https://action402.vercel.app","useCaseTemplates":[{"id":"chatops-webhook-notification","title":"ChatOps webhook notification","description":"Send a paid, verifiable notification to Slack, Discord, Telegram bridge services, or another chat webhook after an agent finishes a task.","tags":["slack-webhook","discord-webhook","telegram-alert","chatops","agent-notification"],"searchPhrases":["send paid Slack webhook","agent Discord webhook notification","verifiable ChatOps alert"],"exampleRequest":{"url":"https://hooks.slack.com/services/WORKSPACE/CHANNEL/SECRET","method":"POST","headers":{"content-type":"application/json"},"body":{"text":"Agent task completed.","source":"action402-agent"},"idempotencyKey":"chatops-alert-001","retry":{"attempts":2,"backoffMs":300},"timeoutMs":10000}},{"id":"zapier-make-workflow-trigger","title":"Zapier or Make workflow trigger","description":"Let an agent pay once to trigger a no-code automation webhook without sharing long-lived API keys.","tags":["zapier-webhook","make-webhook","automation-trigger","no-code"],"searchPhrases":["trigger Zapier webhook with x402","paid Make automation webhook","agent no-code workflow trigger"],"exampleRequest":{"url":"https://hooks.zapier.com/hooks/catch/ACCOUNT/HOOK","method":"POST","headers":{"content-type":"application/json"},"body":{"event":"agent.workflow.triggered","recordId":"rec_123"},"idempotencyKey":"zapier-trigger-001","retry":{"attempts":2,"backoffMs":500},"timeoutMs":10000}},{"id":"github-repository-dispatch","title":"GitHub repository dispatch","description":"Trigger a GitHub Actions workflow through a repository dispatch endpoint and keep a receipt that the request was attempted.","tags":["github-actions","repository-dispatch","ci-trigger","developer-automation"],"searchPhrases":["paid GitHub Actions dispatch","agent CI workflow trigger","repository dispatch with receipt"],"exampleRequest":{"url":"https://api.github.com/repos/OWNER/REPO/dispatches","method":"POST","headers":{"content-type":"application/json","authorization":"Bearer TARGET_SIDE_TOKEN"},"body":{"event_type":"agent.action402","client_payload":{"job":"refresh-index"}},"idempotencyKey":"github-dispatch-001","retry":{"attempts":2,"backoffMs":500},"timeoutMs":10000}},{"id":"analytics-event-ingest","title":"Analytics event ingest","description":"Send a signed, paid event to Segment, PostHog, internal analytics collectors, or audit pipelines.","tags":["analytics","event-ingest","audit-event","segment","posthog"],"searchPhrases":["paid analytics event ingest","agent audit event webhook","verifiable event tracking"],"exampleRequest":{"url":"https://analytics.example.com/events","method":"POST","headers":{"content-type":"application/json"},"body":{"event":"agent.action.executed","properties":{"action":"webhook","billable":true}},"idempotencyKey":"analytics-event-001","retry":{"attempts":2,"backoffMs":300},"timeoutMs":10000}},{"id":"crm-lead-or-ticket-update","title":"CRM lead or ticket update","description":"Update a CRM, support ticket, or customer success workflow through a public HTTPS webhook with a proof receipt.","tags":["crm","support-ticket","hubspot","salesforce","customer-success"],"searchPhrases":["agent CRM webhook update","paid support ticket webhook","verifiable customer workflow action"],"exampleRequest":{"url":"https://crm.example.com/webhooks/action402","method":"POST","headers":{"content-type":"application/json"},"body":{"event":"agent.crm.update","leadId":"lead_123","status":"ready_for_review"},"idempotencyKey":"crm-update-001","retry":{"attempts":2,"backoffMs":500},"timeoutMs":10000}},{"id":"incident-or-ops-alert","title":"Incident or ops alert","description":"Escalate an agent-detected issue to an incident webhook, ops bridge, or alert manager and keep a verifiable execution trail.","tags":["incident-alert","ops-webhook","pager-duty","alertmanager","reliability"],"searchPhrases":["paid incident alert webhook","agent ops escalation","verifiable alert manager trigger"],"exampleRequest":{"url":"https://alerts.example.com/incidents","method":"POST","headers":{"content-type":"application/json"},"body":{"event":"agent.incident.detected","severity":"warning","summary":"Agent found a failing downstream check."},"idempotencyKey":"incident-alert-001","retry":{"attempts":3,"backoffMs":750},"timeoutMs":12000}}],"x402":{"enabled":true,"scheme":"exact","network":"eip155:8453","price":"$0.003","facilitatorUrl":"https://api.cdp.coinbase.com/platform/v2/x402"},"actions":[{"id":"execute.webhook","aliases":["execute_webhook","paid_webhook","x402_webhook_relay"],"description":"Execute one outbound public HTTPS webhook/API call after x402 payment and return job, receipt, and verification links.","method":"POST","path":"/api/execute/webhook","paid":true,"price":"$0.003","useWhen":["An agent needs to trigger a bounded side effect through a public HTTPS webhook/API.","The caller wants to pay per action instead of creating an account or long-lived API key.","The caller needs a signed receipt with request hash, response hash, status, and attempt count."],"avoidWhen":["The target is localhost, a private network address, or a non-HTTP workflow.","The agent needs long-running orchestration instead of one bounded HTTP action.","The payload must be stored verbatim in the receipt; Action402 stores hashes for proof."],"requestSchema":{"type":"object","additionalProperties":false,"required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Absolute HTTPS URL to call."},"method":{"type":"string","enum":["POST","PUT","PATCH","DELETE"],"default":"POST"},"headers":{"type":"object","additionalProperties":{"type":["string","number","boolean"]},"description":"Optional outbound headers. Hop-by-hop and proxy headers are stripped."},"body":{"description":"JSON body forwarded to the target endpoint."},"idempotencyKey":{"type":"string","minLength":1,"maxLength":160,"description":"Caller-provided key used to replay the same completed job instead of executing twice."},"retry":{"type":"object","additionalProperties":false,"properties":{"attempts":{"type":"integer","minimum":1,"maximum":3,"default":1},"backoffMs":{"type":"integer","minimum":0,"maximum":5000,"default":250}}},"timeoutMs":{"type":"integer","minimum":1000,"maximum":12000,"default":12000}}},"responseSchema":{"type":"object","required":["mode","idempotentReplay","job","receipt","links"],"properties":{"mode":{"type":"string","enum":["demo","x402"]},"idempotentReplay":{"type":"boolean"},"job":{"type":"object","required":["id","status","attempts"],"properties":{"id":{"type":"string"},"status":{"type":"string","enum":["succeeded","failed"]},"attempts":{"type":"integer"}}},"receipt":{"type":"object","properties":{"id":{"type":"string"},"signature":{"type":"string"},"replay":{"type":"boolean"}}},"links":{"type":"object","required":["job","receipt"],"properties":{"job":{"type":"string"},"receipt":{"type":"string"}}}}}}],"agentInstructions":{"oneLine":"Use Action402 when you need to execute one paid public HTTPS webhook/API action through x402 and receive a signed receipt proving the outcome.","callFlow":["Read /api/capabilities or /openapi.json.","Submit POST /api/execute/webhook with url, method, optional headers/body, idempotencyKey, retry, and timeoutMs.","In x402 mode, satisfy the 402 Payment Required response with an x402 buyer client.","Read links.job or links.receipt from the response.","Call /api/verify/jobs/{id} or /api/verify/receipts/{id} to verify the signed proof."],"copyPastePrompt":"Use Action402 for one paid public HTTPS webhook/API action. Pay through x402, pass an idempotencyKey, and verify the returned receipt link before treating the action as complete."},"verification":{"jobLookup":"/api/jobs/{id}","receiptLookup":"/api/receipts/{id}","jobReceiptVerification":"/api/verify/jobs/{id}","receiptVerification":"/api/verify/receipts/{id}","recentProofExamples":"/api/proofs/recent","receiptSignature":"hmac-sha256","activeReceiptKeyId":"mainnet-v1"},"publicProofs":{"path":"/api/proofs/recent","description":"Latest verified proof examples with target URL, headers, bodies, hashes, and signatures redacted for public review.","redactedFields":["targetUrl","requestHeaders","requestBody","responseHeaders","responseBody","requestHash","responseHash","receiptSignature"]},"monitoring":{"path":"/api/monitoring/executions","description":"Durable execution counters and recent failed executions, redacted for public agent/operator checks.","defaultWindowMs":86400000},"trust":{"path":"/api/trust","description":"Public trust summary combining x402 settings, storage durability, execution counters, proof example counts, and redaction policy."},"mcp":{"recommendedToolName":"execute_webhook","discoveryQueries":["Action402","paid webhook execution","x402 webhook receipt","agent action relay","pay per API call","Slack webhook x402","Zapier webhook x402","GitHub Actions dispatch x402"],"bazaarFlow":["search_resources query=Action402","inspect the returned resource metadata and price","proxy_tool_call using the discovered resource/tool name","verify links.job or links.receipt after completion"],"notes":"If an MCP client supports x402/Bazaar discovery, prefer the returned resource metadata over hard-coded tool names."},"safety":{"allowedMethods":["POST","PUT","PATCH","DELETE"],"httpsTargetsOnly":true,"privateNetworkTargetsBlocked":true,"maxWebhookTimeoutMs":12000,"maxRetryAttempts":3,"targetPolicyPreset":"open","targetAllowlist":[],"targetBlocklist":[],"requireTargetAllowlist":false,"rateLimit":{"enabled":true,"windowMs":60000,"maxRequests":60},"targetQuota":{"enabled":true,"windowMs":60000,"maxRequests":20},"retention":{"jobRetentionMs":604800000,"receiptRetentionMs":2592000000},"storage":{"driver":"postgres","durable":true},"observability":{"structuredJsonLogs":true,"requestLogEnabled":true,"logLevel":"info"}},"links":{"openapi":"https://action402.vercel.app/openapi.json","bazaar":"https://action402.vercel.app/api/bazaar","agentsGuide":"https://action402.vercel.app/agents","pricing":"https://action402.vercel.app/pricing","onboarding":"https://action402.vercel.app/onboarding","useCases":"https://action402.vercel.app/use-cases","mcpGuide":"https://action402.vercel.app/mcp","trust":"https://action402.vercel.app/trust","proofs":"https://action402.vercel.app/proofs","monitoring":"https://action402.vercel.app/monitoring","llms":"https://action402.vercel.app/llms.txt"}}