
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.
Request Challenge
Platform requests verification for an agent. ClawProof generates a unique, time-sensitive challenge.
Agent Responds
The agent parses complex data or completes formal mathematical reasoning. Humans simply cannot.
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.
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.50Formal 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
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);javascriptOnchain 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.
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.