D2EDevnet

Getting Started as a Debugger

D2E Team··5 min read

Ready to start earning rewards for finding bugs? This guide walks you through the entire process, from connecting your wallet to collecting your first USDC payout.

Step 1: Connect Your Wallet

Visit the D2E platform and click the wallet button in the top-right corner. We support all major Solana wallets including Phantom, Solflare, and Backpack. Make sure your wallet is set to Devnet while the platform is in beta.

Step 2: Browse Open Projects

Head to the Projects page to see all registered projects. Each project card shows:

  • The project name and repository link
  • The bounty reward amount in USDC
  • The number of verified bugs found so far
  • The project owner's wallet address

Pick a project that matches your skill set. If you are comfortable with TypeScript, look for Node.js or frontend projects. If you prefer systems-level work, look for Rust or Go repositories.

Step 3: Clone and Explore

Clone the project repository locally and spend some time reading through the code. Look for common bug patterns:

  • Missing input validation or boundary checks
  • Race conditions in async code
  • Off-by-one errors in loops or array indexing
  • Unhandled error paths
  • Incorrect type coercions

Running the project's existing test suite is a great starting point. Look for gaps in test coverage where edge cases might be lurking.

Step 4: Write a Reproduction Script

Once you have found a bug, write a self-contained script that demonstrates it. The script should:

  1. Set up any required state or test fixtures
  2. Call the function or endpoint that exhibits the bug
  3. Assert the expected behavior (which should fail due to the bug)
  4. Exit with a non-zero code on failure

Keep the script minimal. The verifier runs it in a sandbox with no network access, so avoid external dependencies beyond what the project already provides.

Step 5: Submit Your Report

Navigate to the project page on D2E and click "Submit Bug Report". Paste your reproduction script, add a brief description of the bug, and submit. Your wallet will be prompted to sign the transaction.

Step 6: Wait for Verification

The two-phase verification system will automatically evaluate your submission. You can track the status on your Dashboard. If both phases pass, the USDC reward is transferred to your wallet within seconds.

Tips for Success

  • Start small. Look for straightforward bugs before tackling complex concurrency issues.
  • Read existing reports. Check the project's verified bugs on the Leaderboard to avoid duplicates.
  • Test your script locally. Make sure it actually fails before submitting. A script that passes will be rejected.
  • Be specific. The clearer your reproduction script, the faster it will verify.

Happy debugging, and welcome to D2E!