{"uid":"cap_ghvXomRzq7ZQHlsIlJrKn","slug":"x402check-batch-risk-check-e507a1c6","name":"x402check Batch Risk Check","description":"Pre-payment risk checks for x402 agents and wallets: OFAC SDN, phishing and drainer feeds, a live watch of drainer infrastructure, transaction simulation and injected-instruction analysis. Every verdict is an ES256 attestation that states which checks ran.","url":"https://x402check.xyz/v1/risk-check/batch?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","required":["wallet"],"properties":{"aud":{"type":"string","maxLength":256,"description":"Audience to bind the attestation to"},"chain":{"type":"string","maxLength":64,"description":"A known CAIP-2 id or alias, e.g. base, ethereum, solana; it must be able to hold the wallet (an EVM address on an eip155 chain)"},"domain":{"type":"string","maxLength":2048,"description":"The site or dApp involved"},"wallet":{"type":"string","maxLength":160,"minLength":1,"description":"The counterparty to check: recipient, spender, operator or pay_to (EVM, Solana, Bitcoin or Tron address, or a CAIP-10 id whose chain can hold it). A mixed-case EVM address must carry a valid EIP-55 checksum"},"context":{"type":"string","maxLength":4096,"description":"The content the agent acted on, verbatim: checked for injected instructions"},"payment":{"type":"object","properties":{"asset":{"type":"string"},"amount":{"type":"string","pattern":"^\\d{1,78}$"},"pay_to":{"type":"string"},"network":{"type":"string"},"resource":{"type":"string","pattern":"^https?://\\S+$","maxLength":512}},"description":"The payment this check is for; the attestation is bound to it","additionalProperties":false},"screening":{"type":"object","required":["sanctions"],"properties":{"sanctions":{"enum":["clean","flagged","unknown"],"type":"string"}},"description":"The caller's own sanctions screening: recorded as asserted, it can only raise risk","additionalProperties":false},"interaction":{"type":"object","required":["type"],"properties":{"type":{"enum":["native_transfer","token_transfer","token_approval","nft_approval","permit_signature","order_signature","message_signature","contract_call"],"type":"string"},"unlimited":{"type":"boolean"}},"description":"What the agent is about to do (type), and whether an approval is unlimited","additionalProperties":false},"transaction":{"type":"object","required":["from"],"properties":{"to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"data":{"type":"string","pattern":"^0x([0-9a-fA-F]{2})*$"},"from":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"},"value":{"type":"string","pattern":"^(0x[0-9a-fA-F]{1,64}|\\d{1,78})$"}},"description":"An EVM transaction to simulate before it is signed ($0.005 per simulated item)","additionalProperties":false},"authorization":{"type":"object","required":["pre_authorized"],"properties":{"source":{"type":"string","maxLength":128},"pre_authorized":{"type":"boolean"}},"description":"The caller's pre-authorization: recorded as asserted, it can only raise risk","additionalProperties":false}},"additionalProperties":false},"maxItems":25,"minItems":1}}},"responseSchema":{"type":"json","example":{"results":[{"jws":"eyJhbGciOiJFUzI1NiIsImtpZCI6Impldi1hdHRlc3QtdjEiLCJ0eXAiOiJyaXNrLWNoZWNrK2p3dCJ9…","tier":"high","score":40,"checked":true,"evidence":{"onchain":{"activity":"none","is_contract":false},"sanctions":{"list":"ofac-sdn","status":"not_listed"}},"provider":"did:web:x402check.xyz","categories":["approval_to_eoa","unlimited_approval","new_address"],"checked_at":"2026-09-30T12:00:00.000Z","expires_at":"2026-09-30T13:00:00.000Z"}]}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.0035","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.0035/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0035","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0035","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ffRvgaCh6YTQe0ezD0gH1","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0035","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Runs OFAC SDN, phishing/drainer, on-chain simulation, and injected-instruction checks on one or more addresses/transactions and returns ES256-signed risk attestations","exampleAgentPrompt":"Before you send that x402 payment, run a batch risk check on the recipient wallet address — I need to know if it's on the OFAC SDN list, flagged as a phishing or drainer address, or shows any suspicious approval patterns, and I want the signed attestation back.","exampleUseCases":[{"title":"Sanctioned wallet screening before payment","prompt":"I'm about to pay out to 0xAbC...123 via x402 — can you run a risk check on that address first and tell me if it's on the OFAC SDN list or any phishing feeds? I need the signed verdict before my agent sends anything."},{"title":"Drainer contract detection for token approval","prompt":"My wallet is being asked to approve a token spend by this contract 0xDef...456 — run a pre-payment risk check on it to see if it's flagged as a drainer or has any unlimited approval red flags, and give me the risk tier and attestation."},{"title":"Batch screening of agent payment recipients","prompt":"I have five recipient addresses my payment agent is about to pay out to in bulk — screen all of them at once for OFAC sanctions, phishing risks, and on-chain drainer activity, and return a signed attestation for each one."}],"resultDescription":"A JSON array of per-address results, each containing a JWS ES256 attestation (signed by did:web:x402check.xyz), a risk tier (e.g. 'high'), a numeric risk score, a list of risk categories (e.g. 'unlimited_approval', 'new_address'), an evidence object with on-chain activity and sanctions status, the provider DID, and checked_at / expires_at timestamps.","failureModes":["Invalid or malformed address format returns a 400 error","Batch size exceeds limit returns a 422 or 413 response","Network timeout if on-chain simulation takes too long for complex contracts","Unknown or unsupported chain returns an error or unchecked result","Payment/authentication failure (x402 flow error) blocks the request","Attestation expiry: JWS is time-limited and expires after ~1 hour"],"whenToPreferThis":"Choose this endpoint when your AI agent or wallet needs cryptographically verifiable, multi-signal risk attestations before executing an x402 crypto payment — especially when you need OFAC SDN compliance evidence, phishing/drainer feed checks, and transaction simulation combined in a single signed response. It is particularly valuable for batch screening multiple recipients at once and when downstream systems require a JWS attestation as proof that checks were performed.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-13T06:33:25.120Z","isFirstParty":false,"canonicalSlug":"x402check-batch-risk-check-e507a1c6"}