CaptchaKit/Games/Brick Breaker
๐Ÿ“

LIVE DEMO

Brick Breaker

Smash all 6 bricks to pass

โ†‘ This is exactly what your users will see

12s

Avg solve time

Medium

Difficulty

Pay what you want

Price

About this game

Classic paddle-and-ball. Keep the ball alive and clear the brick row to verify.

Bot-proofMobile friendlyNo cookiesGDPR safeGaming & community sites

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="brickbreaker"
  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_brickbreaker_xxxx',
  }),
});

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