1000+ Solidity Exercises

Learn by practicing with interactive exercises, security challenges, guided projects and a built-in IDE. From complete beginner to audit expert.

Explore our exercise categories

Solidity Fundamentals

Beginner

Master the basics through 7 progressive courses: variables, functions, data structures, inheritance and design patterns.

Variables & TypesFunctionsMappingsStructsEventsModifiersInheritance
~200 exercises
Start this exercise

Security & Smart Contract Audit

Intermediate

60 security challenges to identify and fix vulnerabilities: reentrancy, overflow, access control, front-running, and more.

ReentrancyInteger OverflowAccess ControlFront-RunningDelegatecallDoS
60 challenges
Start this exercise

Gas Optimization

Expert

Advanced gas optimization techniques: storage packing, short-circuiting, unchecked math, assembly, and more.

Storage PackingUnchecked MathAssemblyMemory vs StorageCalldataCustom Errors
~80 exercises (3 levels)
Start this exercise

Reverse Engineering

Expert

Decode EVM bytecode, analyze unverified contracts, understand ABI encoding and master static analysis.

Bytecode AnalysisABI EncodingEVM OpcodesDecompilationStorage Layout
~60 exercises (3 levels)
Start this exercise

Unit Testing & Fuzzing

Intermediate

Learn to test smart contracts with Foundry and Hardhat. Coverage, fuzzing, integration tests, and mocking.

Foundry TestsFuzzingInvariant TestingMockingCoverageHardhat
~70 exercises (3 levels)
Start this exercise

Guided Projects

All levels

Build real projects from scratch: ERC-20, NFT Collection, DEX, DAO, DeFi Vault, Multisig Wallet.

ERC-20 TokenNFT CollectionSimple DEXGovernance DAODeFi VaultMultisig
14 projects (9 standard + 5 Pro)
Start this exercise

Timed Challenges

All levels

Test your speed and accuracy with timed challenges. 3 levels: Beginner (30min), Intermediate (20min), Expert (15min).

Speed CodingQuick DebuggingGas OptimizationLeaderboard
~50 challenges (3 levels)
Start this exercise

Start your Solidity journey today

Join developers learning by practicing

Start for free