Blazing fast, portable and modular toolkit for Ethereum application development, written in Rust.
- Forge — Build, test, fuzz, debug and deploy Solidity contracts.
- Cast — Swiss Army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
- Anvil — Fast local Ethereum development node.
- Chisel — Fast, utilitarian and verbose Solidity REPL.
curl -L https://foundry.paradigm.xyz | bash
foundryupSee the installation guide for more details.
To verify a downloaded release archive or container image, see Verifying Releases.
Initialize a new project, build and test:
forge init counter && cd counter
forge build
forge testInteract with a live network:
cast block-number --rpc-url https://eth.merkle.io
cast balance vitalik.eth --ether --rpc-url https://eth.merkle.ioFork mainnet locally:
anvil --fork-url https://eth.merkle.ioRead the Foundry Docs to learn more.
Configure your editor's Solidity language server command as forge lsp. The
server is embedded in Forge, so the standalone solar executable is not
required. Solar uses foundry.toml, workspace folders, remappings, and
evm_version from the project automatically.
Solar's default flycheck runs forge lint --json with the same Forge executable
that started the server. Solar's existing initializationOptions.forgePath
option overrides that executable.
forge lsp follows Forge's normal environment setup, global-option parsing, and
command dispatch. Project dotenv warnings use stderr, leaving stdout reserved
for the LSP transport.
Contributions are welcome and highly appreciated. To get started, check out the contributing guidelines.
Join our Telegram to chat about the development of Foundry.
Having trouble? Check the Foundry Docs, join the support Telegram, or open an issue.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

