Documentation

Cloudflare Workers

Redeem proof tokens in a Worker using your secret from env bindings.

worker example

export default {
  async fetch(request, env) {
    if (request.method !== "POST") {
      return new Response("Not found", { status: 404 });
    }

    const body = await request.json();
    const verifyResponse = await fetch("https://captcha.cc/v1/siteverify", {
      method: "POST",
      headers: { "content-type": "application/json" },
      body: JSON.stringify({
        secret_key: env.CAPTCHA_CC_SECRET_KEY,
        proof_token: body.proofToken
      })
    });

    const verify = await verifyResponse.json();
    if (!verify.success) {
      return Response.json({ error: "captcha verification failed", verify }, { status: 400 });
    }

    return Response.json({ ok: true });
  }
};