Playground

Try CDPCaptcha in your browser.

Test the widget, pick a difficulty, watch the solving time and verify the result on the server. Nothing here is stored beyond the single-use puzzle.

Settings

Measurements

State
–
Difficulty level
–
Bits per sub-puzzle
–
Sub-puzzles
–
Hashes computed
–
Solving time
–
Hashes per second
–
Widget mode
–

Response token

Server answer (same format as the public siteverify endpoint):

–

Press verify twice to see the duplicate protection.

Widget and form test

Submitting without a solution is rejected by the server; with a solution it is accepted once.

What the server checks

  1. HMAC-SHA256 signature of the puzzle header (only this server has the key).
  2. Expiry: a puzzle and its solution are valid for a limited time.
  3. Single use: the puzzle is marked as used in MariaDB; a second verification fails.
  4. Solution: every sub-puzzle hash must start with the required number of zero bits.