Choose a path
Start with the row that matches what you are building. Each path points to an explanation first and then to runnable code where one exists.
| Goal | Read first | Runnable examples |
|---|---|---|
| Connect to a node and make RPC calls | Getting started, then RPC providers | Providers |
| Read or write a smart contract | Contract interactions, then reading or writing | Contracts |
| Build, sign, and send a transaction | Transaction lifecycle, then transaction builder | Transactions |
| Subscribe to blocks, logs, or pending transactions | WebSocket provider | Subscriptions |
| Choose a signer or wallet | Signers vs. Ethereum wallet | Wallets and signers |
| Work with more than one chain or custom network types | Interacting with multiple networks | Any network |
| Add retries, rate limits, fallbacks, or observability | Transport layers | Layers |
| Test with mocks, Anvil, Geth, Reth, or a fork | Testing Alloy applications | Mock provider and node bindings |
| Decode ABI data, logs, or transaction input | Using sol! | sol! examples and transaction decoding |
| Select a smaller dependency set | Feature flags | Alloy features on docs.rs |
| Migrate from ethers-rs | Migration reference | Conversions |
When a guide does not cover the API
Use the documentation layers in this order:
- This site for concepts and supported workflows.
- The examples repository for complete programs.
- docs.rs for exact types, traits, methods, and feature gates.
- The Alloy source when behavior or version history matters.
The agent guide gives the same retrieval order in a compact form for coding agents.
