HTTP/1.1 402 PAYMENT REQUIRED agent402.base.eth · BASE · SOLANA · POLYGON · ARBITRUM · MONAD · CELO · AVALANCHE · STELLAR · ALGORAND · ROBINHOOD · USDC · USDG
Agent402 / tools / captcha-verify

Captcha verify

$0.002 per call · USDC via x402 · POST /api/captcha-verify

Validate a Cloudflare Turnstile, Google reCAPTCHA, or hCaptcha token server-side. You pass your OWN provider secret plus the token from the client; we relay to the provider's siteverify endpoint (never logged) and return the normalized verdict (success, hostname, action, score, error codes). The legitimate backend half of bot protection — no solving, no bypass.

Input

FieldTypeDescription
provider *stringturnstile | recaptcha | hcaptcha
secret *stringyour provider secret key (relayed to the provider, never stored/logged)
token *stringthe captcha response token from the client
remoteipstringoptional client IP to pass through

Example output

{
  "provider": "turnstile",
  "success": true,
  "hostname": "example.com",
  "errorCodes": []
}

Try it — see the 402 challenge (free)

curl -i -X POST https://agent402.tools/api/captcha-verify \
  -H "Content-Type: application/json" \
  -d '{"provider":"turnstile","secret":"1x0000000000000000000000000000000AA","token":"XXXX.DUMMY.TOKEN.XXXX"}'

The response is HTTP 402 Payment Required with exact payment requirements. Any x402 v2 client pays automatically and retries:

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/captcha-verify", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "provider": "turnstile",
    "secret": "1x0000000000000000000000000000000AA",
    "token": "XXXX.DUMMY.TOKEN.XXXX"
  }),
});
Wallet-only. This tool reaches the network/browser/storage, so it is paid in USDC via x402 (no proof-of-work tier).

Related tools

Captcha generate

FREE w/ compute · or $0.001 · POST /api/captcha-generate

Mint a stateless captcha challenge to gate your OWN endpoint: returns a human prompt plus a salted sha256 answer hash yo…