# Speedrun Ethereum > Learn how to build on Ethereum — the superpowers and the gotchas. Speedrun Ethereum is a free, hands-on curriculum where you learn Solidity and full-stack Ethereum development by completing real build challenges with Scaffold-ETH 2. Built and maintained by BuidlGuidl. Each challenge ships a working dapp; the guides explain the concepts behind them. ## Start here - [Speedrun Ethereum](https://speedrunethereum.com/): Learn Solidity development by building real dapps through interactive challenges. - [Get started](https://speedrunethereum.com/start): Set up your environment and begin the first challenge. - [Learn Solidity](https://speedrunethereum.com/learn-solidity): Free Web3 developer course covering Solidity fundamentals. ## Challenges (curriculum order) - [Simple NFT (Tokenization)](https://speedrunethereum.com/challenge/tokenization): Build, mint, and deploy your first NFT smart contract in Solidity. - [Crowdfunding](https://speedrunethereum.com/challenge/crowdfunding): Build a decentralized crowdfunding dApp in Solidity using payable functions and events. - [Token Vendor](https://speedrunethereum.com/challenge/token-vendor): Create an ERC20 token and a decentralized vending-machine contract in Solidity. - [Dice Game (Security)](https://speedrunethereum.com/challenge/dice-game): Learn smart contract security by exploiting randomness in a Solidity dice game. - [Decentralized Exchange (DEX)](https://speedrunethereum.com/challenge/dex): Build a DEX in Solidity with liquidity pools, token swaps, and automated market making. - [Oracles](https://speedrunethereum.com/challenge/oracles): Build three oracle architectures (whitelist, staking, optimistic) and their security trade-offs. - [Over-Collateralized Lending](https://speedrunethereum.com/challenge/over-collateralized-lending): Build an over-collateralized lending and borrowing platform in Solidity. - [Stablecoins](https://speedrunethereum.com/challenge/stablecoins): Build a stablecoin in Solidity and learn the mechanisms that keep it pegged. - [Prediction Markets](https://speedrunethereum.com/challenge/prediction-markets): Build a decentralized prediction market in Solidity with betting and resolution. - [ZK Voting](https://speedrunethereum.com/challenge/zk-voting): Build a privacy-preserving voting dApp using zero-knowledge proofs. ## Build prompts - [Build prompts](https://speedrunethereum.com/build-prompts): Full project specs for AI coding agents. Pick a build, copy the prompt into your favorite AI coding agent, and tweak the parameters to scaffold a working dApp. ## Guides - [Solidity Tutorials and Guides](https://speedrunethereum.com/guides): Index of all Speedrun Ethereum developer guides. - [How to Create an ERC20 Token: Complete Solidity Tutorial](https://speedrunethereum.com/guides/how-to-create-erc20): Create and deploy your own ERC20 token in Solidity, step by step. - [Sustainable ERC20 Supply Models: Tokenomics Best Practices for Devs](https://speedrunethereum.com/guides/sustainable-erc20-supply-models): Design sustainable ERC20 tokenomics — inflation, deflation, and capped-supply models. - [ERC20 Approve Pattern: Secure Token Allowances Guide](https://speedrunethereum.com/guides/erc20-approve-pattern): How the ERC20 approve/allowance pattern works and how to use it safely. - [Mastering ERC721: Developer Guide to NFT Metadata & Best Practices](https://speedrunethereum.com/guides/mastering-erc721): Build production-ready ERC721 NFTs in Solidity — metadata, tokenURI, and best practices. - [ERC721 vs. ERC1155: Key Differences, Use Cases & How to Choose](https://speedrunethereum.com/guides/erc721-vs-erc1155): Choose between the ERC721 and ERC1155 NFT standards for your use case. - [Solidity NFT Security: 10 Best Practices to Protect Your Collectibles](https://speedrunethereum.com/guides/solidity-nft-security): 10 security best practices for NFT smart contracts in Solidity. - [NFTs in Web3: Understanding Use Cases Beyond Digital Art](https://speedrunethereum.com/guides/nft-use-cases): Real-world NFT use cases beyond art — gaming, ticketing, identity, and loyalty. - [Automated Market Makers (AMMs): Math, Risks & Solidity Code](https://speedrunethereum.com/guides/automated-market-makers-math): How AMMs work in Solidity — the constant-product formula (x*y=k), price impact, and impermanent loss. - [Impermanent Loss Explained: The Math Behind DeFi's Hidden Risk](https://speedrunethereum.com/guides/impermanent-loss-math-explained): The math behind impermanent loss in DeFi liquidity pools, with examples. - [Solidity Bonding Curves & Dynamic Token Pricing Explained](https://speedrunethereum.com/guides/solidity-bonding-curves-token-pricing): How bonding curves work in Solidity for dynamic token pricing. - [Flash Loan Exploits: A Developer's Guide to Securing Your DEX](https://speedrunethereum.com/guides/flash-loan-exploits): How flash-loan attacks work and defensive Solidity patterns to secure your DEX. - [Front-Running & MEV Mitigation: A DEX Developer's Guide](https://speedrunethereum.com/guides/front-running-mev-mitigation): Mitigate front-running and MEV on your DEX with practical Solidity techniques. - [ERC4626 Vaults: Secure Design, Risks & Best Practices](https://speedrunethereum.com/guides/erc-4626-vaults): Build secure ERC4626 tokenized vaults in Solidity and avoid inflation, reentrancy, and oracle risks. - [A Developer's Guide to Liquid Staking Tokens (LSTs)](https://speedrunethereum.com/guides/liquid-staking-tokens): How liquid staking tokens (stETH, rETH) work and how to use them in DeFi. - [Scalable Solidity Staking: O(1) Reward Distribution](https://speedrunethereum.com/guides/scalable-gas-solidity-staking): Gas-efficient staking in Solidity with O(1) reward distribution. - [Time-Weighted Staking Rewards & Dynamic APY in Solidity](https://speedrunethereum.com/guides/time-weighted-staking-rewards): Implement time-weighted staking rewards and dynamic APY in Solidity. - [Beyond APY: Sustainable Tokenomics for Your Staking Protocol](https://speedrunethereum.com/guides/sustainable-tokenomics-staking-protocols): Engineer sustainable staking tokenomics that go beyond high APYs. - [Secure Randomness in Solidity: Beyond Block Variables](https://speedrunethereum.com/guides/blockchain-randomness-solidity): Why block.timestamp and blockhash are unsafe for randomness, and how to use Chainlink VRF and commit-reveal. - [Chainlink VRF Implementation: Provably Fair Randomness for Smart Contracts](https://speedrunethereum.com/guides/chainlink-vrf-solidity-games): Implement Chainlink VRF v2 in Solidity for provably fair on-chain randomness. - [Commit-Reveal Scheme in Solidity](https://speedrunethereum.com/guides/commit-reveal-scheme): Implement a commit-reveal scheme in Solidity to prevent front-running. - [Blockchain Game Security: Vulnerability Defense Tutorial](https://speedrunethereum.com/guides/blockchain-games-vulnerabilities): Common smart contract vulnerabilities in blockchain games and how to defend against them. - [Solidity Contract-to-Contract Interactions Guide](https://speedrunethereum.com/guides/solidity-contract-to-contract-interactions): How Solidity contracts call each other, handle errors, and pass data safely. - [How to Register an ENS Address and Set Your ENS Avatar](https://speedrunethereum.com/guides/register-ens-domain-set-avatar): Register an ENS name (.eth) and set an ENS avatar for your Web3 identity. - [How to Build an Ethereum dApp with AI: The 2026 Workflow](https://speedrunethereum.com/guides/how-to-build-dapp-ethereum-ai-workflow): A 2026 workflow for building Ethereum dApps with AI and Scaffold-ETH 2, from spec to launch.