← Back to ZeroDay Dev

Docs

Stats, filters, badges, and how things work in the app.

Stats

Your progress is tracked locally on your device. No account required.

XP — Earn XP for each question you answer correctly. Use XP to unlock Advanced content and track your level.

Practice

  • 3 XP per correct answer.

Exam

  • Base 10 XP per correct answer.
  • Speed bonus: +5 XP if you answer in under half the time.
  • Combo: 1.5× at 3 correct in a row, 2× at 5 correct in a row.
  • Difficulty multipliers: Easy 1×, Medium 1.25×, Hard 1.5×, Advanced 2×.
  • Length bonuses: Quick +10, Medium +25, Long +75.

Lightning Round

  • Base XP per correct answer.
  • +15 XP for 5+ correct.
  • +25 XP for 8+ correct.
  • +50 XP for beating your record.

Streaks — Complete at least one Practice or Exercise question per day. Streaks reset if you miss a day.

  • 2 XP/day (1–2 days).
  • 4 XP/day (3–4 days).
  • 5 XP/day (5–9 days).
  • 15 XP/day (10+ days, max).

Level tiers

  • Beginner (0–999).
  • Intermediate (1,000–2,999).
  • Expert (3,000–4,999).
  • Master (5,000+).

Home screen — Total XP, streak count, and questions answered are shown at a glance. Progress is stored locally and never leaves your device unless you use optional sync.

ZeroDay Dev home screen showing XP, streak, and Practice/Exam options

Filters

Practice filters

In Practice, tap Show filters to narrow which questions you see.

  • Domain — Filter by topic: Exploits, Solidity, Rust, DeFi, Solana, and more.
  • Difficulty — Filter by difficulty (e.g., Advanced). Advanced questions require enough XP to unlock.

Tag toggles — In addition to Domain and Difficulty:

  • Grandma — Show only Grandma (beginner-friendly) questions.
  • Real World — Show only questions tied to real-world exploits and incidents.

Filters affect which questions are shown in the queue. Clear filters to see the full question set again.

Why am I seeing only a few Advanced Exploits questions? Some question pools are hidden by Settings toggles. If Show Real World filter or Show Grandma filter is off, Practice and Exercises may cycle through a much smaller pool.

When Practice or Exercises says you've completed all questions and begins cycling, your active Settings toggles may be narrowing the pool. For the largest pool, enable Show Real World filter (and Show Grandma filter if needed) in Settings, then keep domain, difficulty, and tag filters broad (e.g., Tag = Any).

Settings with filter toggles (Real World, Grandma, Bookmark)

Badges

Badges reward consistency and milestones.

  • Streak badges — Earn badges for maintaining streaks (e.g., 7-day, 30-day).
  • XP milestones — Level up and unlock badges as you accumulate XP.
  • Domain badges — Earn a "Domain Certified" badge (e.g. "Rust Certified") by completing 3 exams with 80%+ in the same domain. Domain-specific exams only (not Random or Lightning Round).
  • Special badges — First exploit solved, exam completion, and other achievements.

View your badges in the More tab.

Stats overview with badges and progress

Domains

Content is organized by domain. Each domain covers a specific area. Below is a breakdown of what you'll find in each.

Exploits (real-world browse)

The Exploits tab lets you browse real-world incidents by protocol, date, and amount. Tap an incident to see its summary, then jump into the practice flow and exercises for that exploit. It's separate from generic Practice—here you're exploring verified incidents first, then drilling into them.

Exploits

Real-world exploit patterns and incident analysis. Learn from verified incidents.

Solidity

Smart contract security, EVM concepts, and upgradeable patterns.

Rust

Memory safety, ownership, borrowing, and systems programming.

DeFi

Protocol mechanics, AMMs, lending, and oracle design.

Solana

Solana-specific security and program patterns.

Trading Strategies

Execution risk, counterparty risk, and strategy design.

Other domains

Use filters to focus on one domain or mix them for variety.

Ops & scenarios

Ops runs narrative scenarios: timed, consequence-based sessions. An intro leads into chapters—each chapter combines narrative text with questions. If you fail, you see the consequence, then a debrief with XP and badges. Scenarios are structured runs, not one-off questions.

War Rooms

War Rooms are a scenario flavor: real-incident–style timelines with high pressure. Optional in-session chat can be enabled. They use the same Ops structure (chapters, consequences, debrief) but with a distinct, incident-response feel.

Practice

Practice mode lets you build exploit intuition through quick, interactive questions. No reading docs—just tap, drag, or select.

Question types:

  • Tap-to-highlight — Tap the vulnerable line, panicking line, or correct answer in code.
  • Multiple choice — Select the correct answer from options.
  • Fill-in-the-blank — Drag tokens into slots to complete code or definitions.
  • Drag-to-order — Arrange blocks in the correct execution order.
  • Match pairs — Match terms to definitions (e.g., exploit → vulnerability class).
  • Swipe — Swipe left/right to classify (e.g., exploit vs. safe).

Practice exercises — Multi-step exercises appear in Practice mode. Each step is revealed after you answer the previous one. Tap the vulnerable line → explain why → select the correct fix. Partial XP is awarded per correct step. Advanced exercises require 5,000 XP to unlock.

Practice mode drag-to-order question

Grandma Questions

Grandma questions are simple introductions to concepts. They're designed for newcomers—explainable to someone without prior knowledge. Use them to get your bearings in a domain before tackling harder material.

They're typically Easy difficulty, single-step, and available across domains (Rust, DeFi, Solidity, and more). Filter by the Grandma tag in Practice to focus on them. Answer all Easy Grandma questions correctly to unlock Grandma's House. Grandma's House is a special theme (warm cookie-style palette) you can select in Settings once unlocked. Advanced Grandma is a separate, harder tier gated by the Advanced Grandma Challenge.

Grandma questions in Practice Grandma's House theme

Exercises

Exercises are full code challenges with reference solutions. Deeper dives when you're ready.

Exam

Exam mode prepares you for real security assessments. Timed tests across domains with performance tracking.

Choose your domain, difficulty, and exam length. Lightning Round duration (45, 60, or 90 seconds) is configurable in Settings, where you can also choose your theme.

Exam setup screen with domain and difficulty options

Challenges

Special challenges unlock new content and prove your skills.

EIP Atlas

Searchable ERC and EIP standards. Browse by number or keyword. Each standard can link to "practice this EIP"—questions and exercises that drill that specific standard.

Protocol Patterns

DeFi architecture layers and invariants. Browse patterns (lending, AMM, vault, etc.) and "practice this pattern" to reinforce the design and its failure modes.

Glossary

The app includes a built-in glossary of security and DeFi terms. Access it from the More tab.

  • Domain filter — Filter glossary terms by domain (Exploits, Solidity, DeFi, etc.).
  • Search — Find terms by keyword.
  • Related terms — Cross-links between related concepts.
  • Foundations toggle — Show or hide foundational/prerequisite terms.
  • Exploit glossary — Reentrancy (classic, cross-function, read-only), oracle manipulation, flash loans, proxy races, share-price inflation, governance takeover, and other vulnerability classes. Definitions include real-world examples (TheDAO, bZx, Beanstalk, Indexed Finance, Cream, Euler, Sigma.Money).
  • Foundational terms — Perpetuals, leverage, margin, funding rate, and core DeFi concepts.
  • In-context — Questions with term and term_definition show the definition in the feedback. A glossary hint may appear when viewing feedback with term definitions.
Glossary with exploit and security terms

On-chain User Feedback

You can submit feedback on-chain via WalletConnect. Your feedback is stored permanently on Base (default) or Ethereum.

  • Connect & Send — Tap "Connect & Send via WalletConnect" in the feedback flow. Connect your wallet, approve the pre-filled transaction.
  • Chains — Base (chain ID 8453) is the default. Ethereum is also supported.
  • Contract addresses
  • View feedback — Use the links above to view all submitted feedback (FeedbackSubmitted events) on each contract.
  • Copy calldata — If WalletConnect isn't available, you can copy the calldata and open your browser wallet to send manually.

Each submission emits a FeedbackSubmitted event with your message, app version, feedback type, and timestamp—visible on block explorers.

Feedback screen in the app Feedback flow with WalletConnect

On block explorers, each submission appears as a FeedbackSubmitted event:

FeedbackSubmitted event on block explorer showing decoded message, sender, appVersion, feedbackType, and timestamp