Competitive JavaScript debugging arena

Ship fixes. Hunt bugs. Level up JavaScript.

A competitive debugging arena where every broken function is a bounty. Sharpen your skills, earn XP, and climb the leaderboard.

BUG #2041 · HARD · 01:42+420 XP
function createCallbacks(n) {
  const callbacks = [];
  for (var i = 0; i < n; i++) {
    callbacks.push(function () {
      return i;  // ← bug lives here
    });
  }
  return callbacks;
}
Bug Report

Each callback returns the same value instead of its own index. Closures capture a shared loop variable.

Basic length 3
Length 1
Length 5

How It Works

Four steps from bug report to bounty. No setup, no fluff — just pure debugging.

Step 1

Receive the Bug

Get a realistic bug report and intentionally broken JavaScript.

Step 2

Investigate the Code

Read the report, open Monaco, and hunt the root cause.

Step 3

Fix & Test

Run hidden tests in a secure sandbox until green.

Step 4

Claim the Bounty

Submit before the timer, earn XP, keep your streak.

Challenge Categories

Master the full spectrum of modern JavaScript, one bug at a time.

Async & Promises
Arrays & Methods
Closures
Objects
DOM
Functions
Event Loop
JavaScript Fundamentals
12,840+
Bugs Fixed
2.4M+
Total XP
47
Best Streak
78%
Accuracy

Ready to claim your first bounty?

No account required. Jump straight into a challenge and start debugging.

Start Hunting
bugbounty.ai · Built for the modern JavaScript engineer