{"uid":"cap_1ykkmuVLLe-O9rP3Fn8H3","slug":"recurring-spend-guard-for-ai-mcp-agents-fe1d1b26","name":"Recurring Spend Guard for AI/MCP Agents","description":"400860 Radar is an AI-operated x402 Web3 opportunity network for humans and agents.","url":"https://api.400860.xyz/v1/agent/recurring-spend-guard","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","additionalProperties":true}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"title":{"type":"string"},"nextStep":{"type":"string"},"productId":{"type":"string"},"expectedOutput":{"type":"array","items":{"type":"string"}},"buyerPreparation":{"type":"object","properties":{"payNow":{"type":"string"},"objective":{"type":"string"},"notRevenue":{"type":"array","items":{"type":"string"}},"fundingAction":{"type":"string"},"readinessLoop":{"type":"string"},"revenueSummary":{"type":"string"},"checkoutSession":{"type":"string"},"firstSaleDryRun":{"type":"string"},"paymentRecovery":{"type":"string"},"activationBundle":{"type":"string"},"successCondition":{"type":"string"},"realPaymentCommand":{"type":"string"}},"additionalProperties":true}},"additionalProperties":true}}}}},"responseSchema":{"type":"json","example":{"title":"Agent recurring spend guard","nextStep":"/v1/x402/facilitator-settlement-reconcile","productId":"agent_recurring_spend_guard","expectedOutput":["guardId","recurrencePolicy","approvedResource","budgetWindow","repeatDecisionRules","receiptGate","anomalyStopRules","typescriptRecurringGuard","mcpClientPolicy","ledgerSchema","simulationCases","installSteps","verification","repeatTrigger"],"buyerPreparation":{"payNow":"https://api.400860.xyz/v1/buyer/pay-now?address=0xBUYER_ADDRESS","objective":"Clear funding/readiness before attempting a real x402 payment.","notRevenue":["402 probes","funding-action reads","checkout-session reads","readiness-loop reads","pay-now reads","downloads","manifest views"],"focusedDryRun":"curl -i https://api.400860.xyz/v1/agent/recurring-spend-guard","fundingAction":"https://api.400860.xyz/v1/buyer/funding-action","machinePayNow":{"price":"$0.01","method":"GET","resource":"https://api.400860.xyz/v1/agent/recurring-spend-guard","payNowUrl":"https://api.400860.xyz/v1/buyer/pay-now?channel=bazaar-agent_recurring_spend_guard","productId":"agent_recurring_spend_guard","nextAction":"Run payCommand once from a local buyer runtime with a funded Base USDC wallet, then verify revenueSummary instead of treating discovery, 402 probes, or downloads as revenue.","notRevenue":["manifest reads","payment quote reads","pay-now reads","402 probes","downloads","self-test payments"],"payCommand":"RADAR_TARGET=https://api.400860.xyz/v1/agent/recurring-spend-guard RADAR_METHOD=GET X402_PAY=true X402_PRIVATE_KEY=0xYOUR_FUNDED_X402_PRIVATE_KEY npx --yes --package https://x402.400860.xyz/downloads/400860-x402-client/400860-x402-client-0.1.4.tgz 400860-x402 pay","recoveryUrl":"https://api.400860.xyz/v1/buyer/payment-recovery?address=0xBUYER_ADDRESS&channel=bazaar-agent_recurring_spend_guard","buyerGuideUrl":"https://api.400860.xyz/v1/open-source-agent/buyer-guide","verificationUrl":"https://api.400860.xyz/v1/revenue/summary","successCondition":"eventCount > 0 && hasExternalRevenue === true after a paid protected handler returns for agent_recurring_spend_guard."},"readinessLoop":"https://api.400860.xyz/v1/buyer/readiness-loop?address=0xBUYER_ADDRESS","revenueSummary":"https://api.400860.xyz/v1/revenue/summary","checkoutSession":"https://api.400860.xyz/v1/buyer/checkout-session?address=0xBUYER_ADDRESS","firstSaleDryRun":"curl -i https://api.400860.xyz/v1/agent/recurring-spend-guard","paymentRecovery":"https://api.400860.xyz/v1/buyer/payment-recovery?address=0xBUYER_ADDRESS","activationBundle":"https://api.400860.xyz/v1/buyer/activation-bundle","successCondition":"eventCount > 0 && hasExternalRevenue === true after a paid protected handler returns.","realPaymentCommand":"RADAR_TARGET=https://api.400860.xyz/v1/agent/recurring-spend-guard RADAR_METHOD=GET X402_PAY=true X402_PRIVATE_KEY=0xYOUR_FUNDED_X402_PRIVATE_KEY npx --yes --package https://x402.400860.xyz/downloads/400860-x402-client/400860-x402-client-0.1.4.tgz 400860-x402 pay"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ermh-uW6lEywmHe18Fn5R","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a structured policy pack for preventing unauthorized repeat-spend by AI/MCP agents, including budget windows, approved resource lists, receipt gates, anomaly stop rules, and an executable TypeScript decision function.","exampleAgentPrompt":"Give me the full recurring-spend guard policy pack for my MCP agent setup — I need the budget window, approved resource list, receipt gate rules, anomaly stop conditions, ledger schema, and the executable TypeScript decision function so my agent can't make unauthorized repeat payments.","exampleUseCases":[{"title":"Block duplicate AI agent payments","prompt":"My AI agent keeps making duplicate payments to the same vendors — can you pull the full repeat-spend policy pack so I can drop in the TypeScript decision function and stop it from firing off unauthorized charges again?"},{"title":"Set budget limits for autonomous agents","prompt":"I'm running a fleet of MCP agents that handle purchases autonomously and I need to enforce hard budget windows and anomaly stop rules before they go live — grab me the complete policy pack including the ledger schema and receipt gate requirements."},{"title":"Audit recurring spend in MCP workflow","prompt":"We had a rogue agent last month rack up unexpected recurring charges and I need to lock things down — get me the full guard policy with the approved resource list, anomaly stop conditions, and the ready-to-run TypeScript function so I can audit and gate all repeat spend going forward."}],"resultDescription":"A structured policy pack containing: a budget window definition, list of approved resources, receipt gate requirements, anomaly stop rules, a ledger schema for tracking agent spend, the MCP repeat-payment policy, and a ready-to-run TypeScript decision function that agents can invoke to approve or deny recurring expenditures.","failureModes":["Payment not completed — x402 payment of $0.01 USDC required before content is returned","Invalid or missing query parameters — returns 400 with schema validation error","Upstream content unavailable — returns 503 or empty response","Payment gateway timeout — agent should retry after confirming payment status"],"whenToPreferThis":"Choose this endpoint when you need a complete, ready-to-use policy framework for governing AI or MCP agent repeat-spend scenarios, especially when you want an executable TypeScript guard function alongside formal policy documents (budget windows, receipt gates, anomaly stops) rather than building these rules from scratch.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:45:53.323Z","isFirstParty":false}