Verify a Semaphore ZK proof locally using Groth16 (embedded official vkey). No external dependency. Send the proof object from @semaphore-protocol/proof generateProof().
⚡ Try with your wallet — live payment
Without payment, the server returns 402 Payment Required with x402 challenge details.
A paying agent signs a USDC transaction on Base and retries with the payment header.