Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust. Install Foundry here.
A curated list of awesome Foundry resources, tutorials, tools and libraries. Inspired by awesome-go.
Please take a quick view at the contribution guidelines first.
If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!
Frameworks, plugins and utilities for Foundry.
- Blacksmith - Blacksmith generates a simple frontend for interacting with smart contracts.
- Chisel - Chisel is a fast, utilitarian, and verbose solidity REPL. It is heavily inspired by the incredible work done in soli and solidity-shell!
- Foundryup - Update or revert to a specific Foundry branch with ease.
- Foundry Hardhat - Hardhat plugins to use foundry tools in hardhat environments.
- Foundry Hardhat TypeScript Template - A fully-fledged Hardhat project template based on TypeScript that includes the Foundry toolkit.
- Foundry Template - A template for a Foundry project.
- Forge Template - A template for quickly getting started with forge.
- Forge Standard Library - Collection of helpful contracts for use with forge and foundry.
- Forge GHA - Simple Github Actions workflow to run forge test.
- Forge Replit - Run Forge in the browser, vanilla setup.
- Forge Snippets - VS Code Snippets for Forge.
- Foundrydeploy - Limited scripting (declarative?) language to implement a basic deployment pipeline using foundry.
- Foundry Docgen - A basic tool for generating markdown docs for a Foundry project using existing NatSpec comments in the contracts.
- Foundry Gas Diff Reporter Github Action to easily compare gas reports generated by Foundry automatically on each of your Pull Requests.
- Foundry Hardhat Template - Template repository for getting started quickly with Hardhat and Foundry in one project.
- Foundry Vyper - A Foundry template to compile and test Vyper contracts.
- Foundry Starter Kit - Foundry Starter Kit is a repo that shows developers how to quickly build, test, and deploy smart contracts with one of the fastest frameworks out there.
- Femplate - Robust Template for Foundry Projects.
- Foundry Canary - A minimal foundry repo setup for examples and finding bugs.
- Paradigm CTF Template - Template for efficient paradigm ctf testing & scripts.
- Quick POC - easy POC template generation from the command line.
- Solplot - A Foundry plugin that enables you to plot charts within solidity.
Solidity libraries, templates or utilities that use Foundry.
- Solidify - solidify is a golang + solidity library aimed to make storing arbitrary data on EVM blockchains as easy and efficient as possible.
- Solmate - Modern, opinionated, and gas optimized building blocks for smart contract development.
- Chain Claim - Solidity lib and helper scripts for providing claim code generation and on chain verification of a claim.
- Playpen - Set of modern, gas optimized staking pool contracts.
- TokenMigrator - A simple contract for migrating from an old ERC20 token to a new ERC20 token.
- VestedERC20 - A wrapper ERC20 token that linearly vests an underlying ERC20 token to its holders.
- forge-gas-snapshot - A flexible gas snapshotting library for forge tests.
- lil web3 - Small, focused, utility-based smart contracts.
- RollCall - Rollup Governance Libraries.
- Forge Optimism - Forge Optimism is a collection of helpful contracts for use with forge and foundry on Optimism.
- Yearn Strategy Foundry Mix - Basic Solidity Smart Contract for creating your own Yearn Strategy.
- Foundry-Hardhat-Diamonds- Sleek EIP2535 Diamond deployments on the go with foundry
- Foundry Lens Protocol - Lens Protocol fork that supports Foundry.
- XChain - Cross chain call library for Solidity & Foundry.
- Solenv - A dotenv parser for Solidity & Foundry.
- surl - HTTP library for Foundry tests in Solidity based on curl.
- unix - A lightweight, extensible Foundry library for shell scripting.
- Chainlink Brownie Contracts - This repository is a slimmed down version of Chainlink's official repo. It clones only the Chainlink contracts folder and the repo automatically updates every time there is a new NPM release.
- Upgradeable Contracts With OpenZeppelin and Foundry - A minimal set of contracts showing how to implement UUPS and Transparent Upgradeable Proxy contracts using foundry, along with testing and deployment with Forge Script.
- Foundry Upgrades - Helper smart contracts to deploy and manage upgradeable contracts on Ethereum.
- PRBMath - Solidity library for advanced fixed-point math that operates with signed 59.18-decimal fixed-point and unsigned 60.18-decimal fixed-point numbers.
- Foundry <> Python Differential Fuzz Testing template - A lot of financial quant work gets modelled in Python and sometimes these models needs to be implemented in Solidity to be used in a protocol.
- Getting Started by Crisgarner - Short intro tutorial for getting started.
- Getting Started by Wilson - Extended tutorial with information about testings and logging.
- Getting Started by What The Func? - Video tutorial.
- How to Foundry with Brock Elmore - YouTube live code tutorial on how to get started with Foundry.
- Foundry Book - A book on all things Foundry.
- Mainnet Forking - This article teaches how to run a locally simulate a swap on Uniswap.
- Ethernaut x Foundry - Ethernaut puzzles solved & tested with foundry.
- Damn Vulnerable Defi - Foundry Version - The Damn Vulnerable Defi CTF using Foundry.
- Getting Started (Chinese) - Getting started tutorial on Chinese.
- Foundry vs Hardhat - Differences in performance and developer experience.
- Smart Contract Development with Foundry - Extended video tutorial on Foundry covering tests, deployments, cast usage, deploying to a live network.
- DeFiHackLabs - Reproduce DeFi hack incidents using Foundry.
- DeFiVulnLabs - To learn common smart contract vulnerabilities using Foundry.
- How to test a contract function a million times - Tutorial about testing a function of OpenZeppelin Contracts library using foundry fuzzing.
- forge inspect $CONTRACT Tweetstorm by @w1nt3r_eth - Twitter thread about how to use forge inspect $CONTRACT ir-optimized.
- - Fork testing with Foundry against a specific block number? by @PaulRBerg.
- Using Foundry to Explore Upgradeable Contracts (Part 1) - Using Foundry tests to illustrate the various techniques used to make contracts upgradeable.
- Art Gobblers - Contracts for Art Gobblers, the self-sustaining art factory, with custom ERC721 implementation with VRGDAs, GOO integration and differential fuzzing.
- OpenSea Seaport - Seaport is a new marketplace protocol for safely and efficiently buying and selling NFTs.
- Optimism Contracts Bedrock - This package contains the smart contracts that compose the on-chain component of Optimism's upcoming Bedrock upgrade.
- MapleLoan - Set of contracts to facilitate on-chain Loans between Maple Finance Pools and institutional borrowers.
- Cryptex Finance - Index token that tracks the total cryptocurrency market capitalization. (Optimism version uses Foundry tests).
- Gov of Venice - Governance of Venice is a new paradigm in DAO governance, attempting to standardise the existence of functional groups within DAOs (Guilds) in terms of how they participate in the Governance process of different DAOs.
- Beefy Finance - Official repo for strategies and vaults from the Beefy yield optimizer.
- DeFi Hacks Reproduce - Foundry - Reproduce DeFi hack incidents using Foundry.
- Tokenlon - Tokenlon is a decentralized exchange and payment settlement protocol.
- Uniswap V3 Development Book - Development book about Uniswap V3 built using Foundry.
- Uniswap Permit - Permit2 introduces a low-overhead, next generation token approval/meta-tx system to make token approvals easier, more secure, and more consistent across applications.