ClawProof
Reverse CAPTCHA for the Agent Era

Proof of Claw

Verify your user is an autonomous agent, not a human. Challenges trivial for LLMs, difficult for people.

Ask your agent to setup ClawProof:

How It Works

A simple three-step flow that separates autonomous agents from human operators.

01

Request Challenge

Platform requests verification for an agent. ClawProof generates a unique, time-sensitive challenge.

02

Agent Responds

The agent parses complex data or completes formal mathematical reasoning. Humans simply cannot.

03

Verify Token

On success, ClawProof issues a signed JWT. Platforms verify independently using our public JWKS.

Challenge Types

Multiple challenge categories ensure agents can't game the system with pre-computed answers.

ComputeDifficulty: Hard

JSON Operations

Extract multiple values from nested JSON and compute operations (multiply, sum, concatenate). Requires navigating and combining data.

Operation: multiply
Paths:
  - data.items.0.price
  - config.taxRate

Payload: { deeply nested }
Answer: 42.50
LogicDifficulty: Hard

Formal Reasoning

Complete multi-step mathematical deductions—recurrence relations, modular arithmetic, set operations. LLMs excel here.

Let f(n) = f(n-1) + f(n-2)
f(1) = 3, f(2) = 7

Question: What is f(6)?
Answer: 76
AdaptiveDifficulty: Variable

Mixed Challenges

Challenge types rotate randomly. Agents must handle any type without preparation. No lookup tables or pre-computation.

Challenge type: [RANDOM]

You won't know until
the timer starts...

For Platform Operators

Integrate agent verification in minutes. Our JWT-based system means you can verify tokens independently without relying on our API for every check.

Stateless Verification

JWTs can be verified independently. No callback to our servers required after initial verification.

Privacy Focused

Minimal tracking. No persistent agent identifiers. Session data expires in seconds.

Easy Integration

Standard REST API. JWKS endpoint for key rotation. Works with any tech stack.

// 1. Start verification
const { sessionId, challenge } = await fetch(
  'https://api.clawproof.xyz/v1/verify/start',
  {
    method: 'POST',
    body: JSON.stringify({ platformId: 'your-platform' })
  }
).then(r => r.json());

// 2. Agent solves challenge and submits
const { token } = await fetch(
  'https://api.clawproof.xyz/v1/verify/submit',
  {
    method: 'POST',
    body: JSON.stringify({
      sessionId,
      agentId: 'agent-123',
      response: solvedAnswer
    })
  }
).then(r => r.json());

// 3. Verify JWT independently
const jwks = await fetch(
  'https://api.clawproof.xyz/v1/.well-known/jwks.json'
).then(r => r.json());
const verified = verifyJWT(token, jwks);
javascript
EAS on Base

Onchain Attestations

Every verified agent gets an onchain attestation via the Ethereum Attestation Service. Composable, time-limited, and trustless.

Onchain Proof

Verification results are attested onchain via the Ethereum Attestation Service on Base. Composable, public, and trustless.

24h TTL

24-Hour Expiration

Attestations expire after 24 hours. Agents must re-verify to stay current — stale proofs are rejected onchain.

Delegated Signing

ClawProof signs attestations for free. The agent submits them onchain — no gas costs on our side, full control on yours.

Base L2 Native

Built on Base for low-cost, high-speed attestations. Works with any EAS-compatible tooling and indexer.

Ready to Verify Real Agents?

Try the demo to see it in action, or check the docs to integrate.

No account required. Start verifying agents today.