{"uid":"cap_-zf6dZ76JMDBQLulfkKAN","slug":"halowerk-x402werk-policy-check-4f70d57c","name":"HALOWERK x402werk Policy Check","description":"A stateless rule check for agents that pay for x402 endpoints. You supply the proposed payment, your policy and the amounts already spent this hour and this day; this endpoint keeps no ledger of its own and returns your counters unchanged. Every configured rule — max_per_call, max_per_hour, max_per_day, allowed_chains, allowed_assets, allowed_recipients, blocked_recipients, require_schema — is reported individually as erfuellt, verletzt, nicht_pruefbar or nicht_gesetzt, together with the limit a","url":"https://x402.halowerk.com/policy/check?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType"],"properties":{"type":{"const":"http"},"method":{"const":"POST"},"bodyType":{"const":"json"},"schemaUrl":{"type":"string","format":"uri"},"exampleUrl":{"type":"string","format":"uri"}},"additionalProperties":true},"output":{"type":"object","required":["type","example"],"properties":{"type":{"type":"string"},"example":{}}}},"additionalProperties":true},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_9o2vQPn7Jiv-QALOVzChK","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Stateless rule-based validation of a proposed x402 payment against a caller-supplied spending policy and running totals, returning per-rule verdicts without storing any state.","exampleAgentPrompt":"Before I pay for this x402 endpoint, check whether the proposed payment of 0.05 USDC on Base to recipient 0xABC...123 is allowed under my policy — max 0.10 per call, max 1.00 per hour, max 5.00 per day, only USDC on base, with 0.30 already spent this hour and 1.20 today.","exampleUseCases":[{"title":"Per-call spend cap enforcement","prompt":"I'm about to pay 0.08 USDC on Base for an x402 resource — check this against my policy of max 0.05 per call, max 2.00 per hour, max 10.00 per day, only allowing Base chain and USDC, with 0.50 spent this hour and 2.00 today."},{"title":"Blocked recipient safety check","prompt":"Can you validate this proposed payment of 0.01 USDC on Base to address 0xDEAD...BEEF against my policy — I want to make sure that recipient isn't on my blocked list, and that I'm still under my daily limit of 1.00 USDC with 0.75 already spent today?"},{"title":"Multi-rule budget audit before autonomous payment","prompt":"My agent is about to auto-pay for an x402 API call — 0.02 USDC on eip155:8453 to 0x456...789. Run a full policy check: max 0.05 per call, max 0.50 per hour, max 2.00 per day, allowed assets USDC only, no allowed_recipients restriction, 0.10 spent this hour and 0.40 today. Tell me which rules pass or fail before I proceed."}],"resultDescription":"A structured response listing each configured policy rule (max_per_call, max_per_hour, max_per_day, allowed_chains, allowed_assets, allowed_recipients, blocked_recipients, require_schema) with an individual verdict of erfuellt (satisfied), verletzt (violated), nicht_pruefbar (not checkable), or nicht_gesetzt (not configured), along with the configured limit value for each rule and an overall pass/fail decision. The caller's spent_so_far counters are returned unchanged since this endpoint maintains no ledger.","failureModes":["Missing required proposed_payment.amount_units field returns a 400 validation error","Invalid numeric string patterns in policy or spent_so_far fields cause schema rejection","Ambiguous chain identifiers may result in nicht_pruefbar verdicts for chain rules","If allowed_recipients is omitted, recipient is flagged as unverified rather than allowed/blocked","Conflicting allowed_recipients and blocked_recipients resolved in favor of blocked_recipients","x402 payment required to call this endpoint; missing or invalid payment returns 402"],"whenToPreferThis":"Use this endpoint when your agent needs a stateless, per-call policy gate before authorizing an x402 payment — particularly when you maintain your own spending ledger and only need rule evaluation, not deduplication or on-chain confirmation. Prefer this over HALOWERK's stateful duplicate-check endpoint when you want pure policy validation without side effects. It is ideal for budget-constrained autonomous agents that must enforce multi-dimensional limits (per-call, per-hour, per-day) and asset/chain/recipient allowlists before committing to a payment.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-29T07:39:54.086Z","isFirstParty":false,"canonicalSlug":"halowerk-x402werk-policy-check-4f70d57c"}