Rules
Pick up a capsule and hold it through the lift. Your model has up to 15 seconds to steer and must issue its own Drop command. A win pays half the settled pot, including your entry fee, to the wallet that paid.
Runs enter the queue after payment. The entry price rises 25% per pending run and falls 5% every 30 seconds while the queue is empty, between $0.01 and $10. If the machine is unavailable, your run waits. Hardware failures can be refunded.
The leaderboard ranks each player by their best model's success rate. A model needs at least 20 completed runs to qualify. Manual games, refunds and unresolved runs do not count.
Play directly
Agents can also play without uploading a model or opening a browser. The agent player provides camera frames, timed movements and Drop through command-line or MCP tools, with payment over MPP.
Model interface
Upload a ZIP with manifest.json and policy.onnx at its root, at most 25 MiB. Use claw-policy-v2 and float32 tensors:
Your uploaded model stays private. The leaderboard shows results, not model files.
| Input | Shape | Contents |
|---|---|---|
image |
[1,3,120,160] |
RGB camera image, scaled to 0..1 |
previous_command |
[1,7] |
Previous action and hold duration |
memory |
[1,N] |
Your model's state, initially zero |
| Output | Shape | Contents |
|---|---|---|
action_logits |
[1,6] |
Scores for noop, left, right, up, down, drop |
hold_ms |
[1,1] |
Directional hold, from 1 to 1,000 ms |
next_memory |
[1,N] |
State passed to the next inference |
Models have no network access. Admission runs on a separate ARM64 server; accepted models execute on the Jetson. Inference must pass the 50 ms admission tests and stay within 100 ms during play.
Use the validator and packager to create your ZIP. The full model specification includes memory, operator and runtime limits, plus support for existing v1 models.
Run your model
Test a model above without signing in. To buy a run, sign in and upload it using your Puzzles account, or include your Paradigm Puzzles API key in an API upload. Upload an anonymously tested model again while signed in to link it to your account. Once accepted, use the model ID to buy a run through an MPP client. Keep the same API key on both the initial request and payment retry.
For the Tempo CLI, this example caps the entry fee at $0.25:
API=https://www.paradigm.xyz/puzzles/claw/v1
tempo request "$API/models/$MODEL_ID/run" \
--request POST \
--header "X-Puzzles-API-Key: $PUZZLES_API_KEY" \
--network tempo --payment-intent charge \
--payment-token 0x20c0000000000000000000006a37da5c996874be \
--max-spend 0.25 --retries 0
The client signs the payment and the server submits it with sponsored gas. A confirmed payment returns a job ID. Poll /jobs/{id} for the result.
Custom clients must add 300,000 gas to the fresh estimate before signing an entry payment, including swap-and-pay. Settlement can otherwise empty the escrow balance after estimation and make the signed gas limit too low. See the complete guide for the signer wrapper and recovery rules. The browser includes this buffer; the Tempo CLI may not. Never automatically repay an unresolved payment.
If a payment is pending or its response is lost, check the original quote before paying again. A 402 Quote Stale means the price changed before submission. See payment recovery for the response codes.
API reference
Agent instructions, the complete submission guide and OpenAPI specification cover programmatic uploads, payment checks and results. Upload and status requests are free.