CaptchaKit/Games/Tap in Order
๐Ÿซง

LIVE DEMO

Tap in Order

Pop bubbles 1 to 5 in order

โ†‘ This is exactly what your users will see

6s

Avg solve time

Easy

Difficulty

Pay what you want

Price

About this game

Five numbered bubbles, one correct order. Tap 1 through 5 to pass โ€” fastest clear in the lineup.

Bot-proofMobile friendlyNo cookiesGDPR safeCheckout flows

PAY WHAT YOU WANT

Your price

All 18 games

Full pack available

Pay what you want โ†’

  • โœ“ Lifetime access
  • โœ“ Unlimited domains
  • โœ“ API + embed code
  • โœ“ Dashboard & site key
GET ALL 7 GAMES ยท PAY WHAT YOU WANT โ†’

Embed code

index.html
<!-- 1. Add the script -->
<script src="https://captchakit.com/embed.js" async></script>

<!-- 2. Drop in the widget -->
<div
  id="gc-widget"
  data-game="tapinorder"
  data-site-key="YOUR_SITE_KEY"
></div>

<!-- 3. Verify on your server -->
<script>
  document.getElementById('gc-widget').addEventListener('gc:pass', async (e) => {
    const res = await fetch('/api/verify-captcha', {
      method: 'POST',
      body: JSON.stringify({ token: e.detail.token }),
    });
    const { success } = await res.json();
    if (success) submitForm();
  });
</script>

Server verification

server.js
// Server-side token verification
const res = await fetch('https://captchakit.com/api/verify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer YOUR_API_KEY',
  },
  body: JSON.stringify({
    token: req.body.token,
    siteKey: 'gc_tapinorder_xxxx',
  }),
});

const { success, gameId } = await res.json();
// success === true means a real human passed the Tap in Order challenge