Audit Real Protocols. Find Real Bugs.
Review actual DeFi protocols that went through public security contests. Submit findings, get scored against known vulnerabilities, and learn what you missed.
1. Start Your Audit
Choose a protocol, read the docs, and begin your individual timer. Review the codebase and hunt for vulnerabilities.
2. Submit Findings
Report vulnerabilities one by one using structured templates. Include severity, affected code, impact, and your recommended fix.
3. Learn from Results
After your timer expires, see how your findings compare to actual contest results. Learn what you missed and why.
Scoring
Earn Points (True Positives)
Same root cause counts as one finding. Duplicates score 0.
False Positive Penalties (Progressive)
A few wrong guesses are fine. Spamming findings to game the system is not.
Has your protocol been audited?
Get a free community re-audit of the same commit hash your auditors reviewed. Hundreds of builders will review your codebase as part of their learning, and you get fresh eyes on your protocol at zero cost. All you need to do is share your code for educational use.
Message me on TelegramAvailable Shadow Audits
Shadow Arena #001: Basin
Composable DEX with ConstantProduct2 (x * y = k). 10 files, 1,145 SLOC. Find the 14 vulnerabilities discovered in a $40k public contest.
Shadow Arena #002: ElasticSwap
First AMM for elastic supply (rebasing) tokens. x * y = k with a twist. 3 contracts, 739 SLOC. Can you spot where the math breaks?
Shadow Arena #003: Velodrome Finance
Solidly fork (ve(3,3) AMM) on Optimism. Familiar Uniswap V2 core with novel gauge/bribe/voting extensions. 8 contracts, 1,914 SLOC. The AMM is clean. The bugs are in the extensions.
Shadow Arena #004: Flux Finance
Compound V2 fork with KYC/sanctions and a CASH token system. 11 contracts, ~4,365 SLOC. Lending mechanics forked from cDAI plus novel cash management layer.
Shadow Arena #005: Canto v2 Lending
Compound V2 fork with algorithmic stablecoin (cNote) and custom interest rate model. The bugs are almost a syllabus for what goes wrong when you fork Compound. 6H + 4M in scope.
Shadow Arena #006: Venus Isolated Pools
Largest lending protocol on BSC. Compound V2 fork with isolated pools and bad debt auctions. The classic block-time interest rate bug lives here. 28 contracts, 3,549 SLOC.
Shadow Arena #007: Reaper Vaults V2
Yearn V2-style yield aggregator by Reaper Farm, audited as part of the Ethos Reserve contest. Vault + strategy chain with locked-profit degradation, gain/loss reporting, and Granary/Aave integrations. 5 representative findings (3 H + 2 M).
Shadow Arena #008: Yearn yBOLD
Yearn's own product on Liquity V2. Multi-strategy BOLD allocator across three Stability Pools with collateral auction recovery. 3 surgical findings (2 H + 1 M), each mapping to one Yearn V2 Build section.
Shadow Arena #009: Popcorn Protocol
Multi-vault factory built on Yearn V2 patterns. Factory deploys per-asset vaults with adapter strategies and a fee module. The bugs cluster around factory cloning, fee config, and adapter accounting. 6 findings (3 H + 3 M).
Shadow Arena #010: Tokemak v2
Sibling architecture to Yearn V2: Autopilot Vaults (LMP) plus Destination Vaults across Curve, Balancer, Maverick. Not a fork, the team re-derived many V2 patterns from scratch. The graduation audit. 6 findings (4 H + 2 M).
Shadow Arena #011: Gravita Protocol
The textbook multi-collateral Liquity V1 fork. VesselManager is TroveManager renamed; every per-system accumulator becomes a per-asset mapping, and the bugs live where the refactor forgot to re-scope. 4,885 SLOC, 13 findings (5H + 5M + 3L).
Shadow Arena #012: Lybra Finance V2
A Liquity-architecture CDP backed by liquid-staked ETH (stETH, wstETH, rETH). The rebase breaks share accounting and the CR-gated mint/redeem/liquidate flows hide the densest finding-per-line ratio in the Arena. 1,762 SLOC, 13 findings (6H + 5M + 2L).
Shadow Arena #014: Raft Finance
The closest real-world Liquity V1 fork shipped to production — PositionManager + R stablecoin + stETH collateral. Includes the precision/share-rounding class that led to a $6.7M exploit after the audit: the findings the audit caught, plus what it missed. 1,584 SLOC, 11 findings (4H + 4M + 2L).
Shadow Arena #015: QuickSwap + StellaSwap
The Algebra concentrated-liquidity engine behind QuickSwap and StellaSwap — a Uniswap V3 reimplementation that swaps fixed fee tiers for a dynamic volatility-fee oracle and adds a liquidity cooldown. The bugs span position management, the swap loop, flash fees, pool init, and the oracle. 1,487 SLOC, 6 findings (1H + 5M).
Shadow Arena #016: Ramses Exchange V3
A true Uniswap v3-core fork on Arbitrum that replaces V3's bit-packed protocol-fee scheme with a percentage and weaves ve(3,3) reward accounting into Tick/Position/Oracle. The lesson: change one representation and fee accounting silently breaks. 2,480 SLOC, 4 findings (2M + 2L).
Shadow Arena #017: Velodrome/Aerodrome Slipstream
A true v3-core fork where CL positions are NFTs staked into per-pool gauges — staked vs unstaked liquidity per tick. Two layers of bugs: fork-delta findings in the gauge/reward code, plus canonical Uniswap V3 core bugs you could catch in the swap code you wrote yourself. 1,848 SLOC, 8 findings (7H + 1M).
Shadow Arena #018: Panoptic
Audit the next layer up: a perpetual-options protocol whose SemiFungiblePositionManager mints and burns real Uniswap V3 liquidity. Spot-price-on-deploy manipulation, a CREATE2 pool collision, a premium sign inversion, and an unchecked-overflow free-share mint. 4,378 SLOC, 5 findings (2H + 3M).
Shadow Arena #019: Real Wagmi
Leverage built on Uniswap V3 LP positions — code that borrows against the very positions you learned to mint. Every bug is a place the integration trusts a V3 primitive it shouldn't: position NFT lifecycle, slot0 spot price, amounts-from-liquidity math, CREATE2 pool derivation. 1,345 SLOC, 4 findings (2H + 2M).
Shadow Arena #020: Arrakis V2
An LP vault manager that reimplements the V3 amounts-from-liquidity math — and gets it wrong. The centerpiece is a one-character boundary bug in getAmountsForDelta that a builder who wrote SqrtPriceMath catches on sight, plus TWAP-deviation and fee-tier bypasses. 1,317 SLOC, 4 findings (1H + 3M).
Shadow Arena #021: KyberSwap Elastic
The capstone. A concentrated-liquidity reimplementation whose swap step tracks two liquidity components instead of V3's one. A rounding-direction bug in that step drained ~$48M in November 2023 — and a competitive contest ran on the exact code months earlier and missed it. Find the bug the auditors didn't. 1,360 SLOC, 3 findings (1C + 2M).
Prepare with the Build Modules
Build the protocol first, then audit its forks. Uniswap V2 prepares you for the AMM audits (Basin, ElasticSwap, Velodrome). Uniswap V3 prepares you for the concentrated-liquidity audits (QuickSwap, Ramses, Slipstream, Panoptic, Real Wagmi, Arrakis, KyberSwap Elastic). Compound V2 prepares you for the lending audits (Flux, Canto, Venus). Yearn V2 prepares you for the vault audits (Reaper, yBOLD, Popcorn, Tokemak). Liquity V1 prepares you for the CDP/stablecoin audits (Gravita, Lybra, Tapioca, Raft).