Foundry: Ethereum development toolkit in Rust
A modular toolkit for Ethereum application development that includes compilation, testing, and deployment tools.
Learn more about Foundry
Foundry is a comprehensive toolkit for Ethereum application development written in Rust. It consists of four main components: Forge for building and testing Solidity contracts, Cast for interacting with EVM smart contracts, Anvil for local Ethereum node simulation, and Chisel as a Solidity REPL. The toolkit leverages Rust's performance characteristics to provide compilation and testing capabilities with parallelized builds and incremental compilation. Foundry is commonly used by developers building decentralized applications, smart contract testing, and blockchain development workflows.
Rust Implementation
Built entirely in Rust, providing memory safety and performance advantages over JavaScript-based alternatives. The Rust foundation enables efficient compilation and testing operations.
Integrated Testing Suite
Includes native fuzz testing, invariant testing, and property-based testing capabilities within the Solidity environment. Tests are written directly in Solidity without requiring separate testing languages.
Modular Architecture
Composed of four distinct tools (Forge, Cast, Anvil, Chisel) that can be used independently or together. Each component serves a specific purpose in the development workflow.
// After installation, initialize a new Foundry project
// Run this in your terminal to create a new project structure
forge init my-project
cd my-project
// Your project will have this structure:
// src/ - Solidity contracts
// test/ - Solidity test files
// script/ - Deployment scripts
// foundry.toml - Configuration fileNightly (2026-01-27)
- –feat(forge): add browser wallet support for `forge script` (#12952) by @mablr
- –ci: use shared cache mounts for parallel builds (#13231) by @DaniPopes
- –fix(anvil): preserve withdrawals in SerializableBlock for state dump/load (#13227) by @echowandere
- –chore(deps): bump DeterminateSystems/determinate-nix-action from 3.15.1 to 3.15.2 (#13236) by @dependabot[bot]
- –chore(deps): bump taiki-e/install-action from 2.66.2 to 2.67.13 (#13235) by @dependabot[bot]
Nightly (2026-01-25)
- –feat(cast): add --flatten flag to cast interface (#13201) by @mattsse
Nightly (2026-01-26)
- –chore(deps): weekly `cargo update` (#13213) by @github-actions[bot]
- –chore(anvil): clean up remaining dead code after Odyssey sunset (#13211) by @mablr
- –fix(coverage): correct BRDA hit values for LCOV consistency (#13151) by @gakonst
Related Repositories
Discover similar tools and frameworks used by developers
Polkadot SDK
Complete development kit for building blockchains and parachains on the Polkadot network ecosystem.
Solmate
A collection of gas-optimized Solidity contracts including ERC token implementations and utility libraries.
Lotus
Go-based reference implementation of the Filecoin distributed storage network protocol.
Forge Std
Collection of contracts and libraries that provide testing utilities and cheatcode wrappers for Forge and Foundry.
Optimism
Layer 2 blockchain that scales Ethereum using optimistic rollup technology and the open-source OP Stack framework.