{"uid":"cap_gA72kSJ1yhkOz6W-pfKhO","slug":"x402-gateway-verify-batch-semaphore-zk-proof-batch-verifier-5a0e0093","name":"x402-gateway: verify_batch (Semaphore ZK Proof Batch Verifier)","description":"x402-gateway tool: verify_batch — Batch verify up to 10 Semaphore proofs in a single request. Returns per-proof results with total count and average duration.","url":"https://x402.freeq.one/tools/verify_batch","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"proof":{"type":"object","description":"Semaphore proof object"}}},"maxItems":10,"description":"Array of up to 10 Semaphore proof objects to verify"}}},"responseSchema":{"type":"json","example":{"result":{}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ECKvIxKGV-5QrMd1wBT5N","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Batch-verifies up to 10 Semaphore ZK proofs in a single pay-per-call request, returning per-proof results with total count and average verification duration.","exampleAgentPrompt":"I have 8 Semaphore Groth16 proofs from our anonymous voting system — can you batch-verify all of them at once and tell me which ones passed, which failed, and what the average verification time was?","exampleUseCases":[{"title":"Anonymous voting proof verification","prompt":"We ran an anonymous on-chain vote using Semaphore and collected 7 ZK proofs — can you batch verify all of them and tell me which are valid and which failed?"},{"title":"Bulk credential check before airdrop","prompt":"Before we distribute the airdrop, I need to verify 10 Semaphore proofs from eligible users. Can you batch-verify them all and give me the pass/fail result for each?"},{"title":"ZK proof audit for a dApp session","prompt":"Our dApp processed 5 Semaphore proofs during tonight's session — can you run a batch verification on all of them and show me the per-proof results plus the average time it took?"}],"resultDescription":"Returns a structured JSON response containing per-proof verification results (pass/fail for each of up to 10 Semaphore Groth16 proofs), the total number of proofs processed, and the average duration taken to verify across all proofs in the batch.","failureModes":["More than 10 proofs submitted — batch limit exceeded","Malformed or invalid Groth16 proof format — verification error per proof","Missing required fields in proof objects — 400 bad request","Payment failure via x402 protocol — 402 Payment Required","Network timeout for large batches — partial or no results returned"],"whenToPreferThis":"Choose this endpoint when you need to verify multiple Semaphore ZK proofs efficiently in a single API call rather than making repeated single-proof requests. It is ideal for applications performing bulk identity checks, anonymous voting tallies, or airdrop eligibility verification where up to 10 proofs must be validated together with per-proof granularity and timing metrics. Prefer it over the single verify_semaphore endpoint when batch throughput and consolidated reporting matter.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T12:35:25.996Z","isFirstParty":false}