← didyu / appsCaptchaKit

Stop bots. Skip the checkbox.

CaptchaKit swaps the "I'm not a robot" tick box for an 18-game arcade challenge. Bots can't play. Humans do not mind. Two lines of code to embed on any site.

Visit CaptchaKitTry it below, it's the real mechanic ↓

yourcompany.com/signup

Create your account

Verify you're humanTap in Order
Next: bubble 1
Not verified yet

18 games, real names

Connect 4Pac-Man LiteWhack-a-BotColor MatchMaze RunnerFruit SorterStack ItTap in OrderPipe ConnectBrick BreakerPenalty KickTetromino DropMini Golf PuttAsteroid DodgeSkee-BallHoopsFrogger HopDuck Hunt

why a game beats a checkbox

Built to make bots quit, not humans.

01

Two lines to embed

One script tag, one div with a site key. No SDK, no npm install, no bundler.

02

Server-side verification

A signed, short-lived token is issued on pass. Your server checks it against the CaptchaKit API before you trust the submission.

03

18 arcade games

Connect 4, Pac-Man Lite, Whack-a-Bot, Maze Runner and 14 more, each tuned for a different form, from checkout to comments.

04

Live WordPress plugin

Install it and comment, login and WooCommerce checkout forms are protected automatically. No code needed.

05

No tracking, no watermark

No reCAPTCHA badge, no third-party analytics riding along on your forms. It is your widget, styled your way.

06

Pay once, keep forever

Pay what you want per game or for the full pack. No monthly fee, no per-verification charge, no usage cap.

the problem

The checkbox stopped working a while ago.

Solver farms and headless browsers clear image grids and tick boxes all day. What is left is friction for the humans who never should have had to prove anything, plus a Google tracking script riding along on your form.

the fix

Make the bot play a game it cannot win.

A mini-game needs timing, spatial reasoning and a real decision, the things scripts are worst at. Pass it, get a signed token, verify that token on your server. No image grids, no fire hydrants, no watermark.

the whole integration

Two lines. Any framework.

Add the script, add the div, verify the token on your server. That is the entire integration.

index.html
<script src="https://captchakit.com/widget.js"></script>

<form action="/submit" method="POST">
  <input type="email" name="email" />
  <div data-gamecaptcha
       data-site-key="gc_connect4_a8f3bc"
       data-game="connect4"
       data-theme="light"></div>
  <button type="submit">Sign up</button>
</form>
verify.js, your server
const res = await fetch('https://captchakit.com/api/verify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer cgv_your_api_key',
  },
  body: JSON.stringify({
    token: req.body.gamecaptcha_token,
    siteKey: 'gc_connect4_a8f3bc',
  }),
});

const { success } = await res.json();
if (!success) return res.status(400).json({ error: 'Bot detected' });
Plain HTMLReactVueNext.jsNo npm installGDPR friendly

what your visitor sees

Same widget, three moments.

The widget dropped into a real form, the verified state it lands in, and the dashboard where you grab your embed code.

CaptchaKit's Connect 4 widget embedded inside a real contact form on captchakit.com, sitting under the message field before the visitor plays.
The same contact form after the visitor clears the game, showing the green CAPTCHA verified confirmation above the send message button.
CaptchaKit developer dashboard showing the site owner's API key, a server-side verification code example, and which of the 18 games they own.

pricing

No subscription for the widget. A real one for the dashboard.

Per game, or the full pack

$your callmin $1

Pay what you want for any game or the full 18-game pack. Once you own it, it is yours to embed with no monthly fee, no per-verification charge and no usage cap.

Business

$29/month
  • Analytics dashboard
  • Signed webhooks
  • Team seats
  • Two-factor auth with audit logs
  • Data export

questions

Before you embed it.

Each game needs real-time human input such as timing, spatial reasoning or a specific decision sequence. When a visitor clears the game, the widget issues a signed, short-lived token. Your server calls the CaptchaKit verify endpoint with that token before it trusts the form submission, so a script has to both solve the game and forge a valid signed token to get through.

try it yourself

Put a game where the checkbox used to be.

Visit CaptchaKit