# alloy - [Installation](/introduction/installation): Install Alloy with cargo and configure the necessary feature flags for your blockchain development needs - [Why Alloy?](/introduction/why-alloy) - [Getting Started](/introduction/getting-started): Get started with Alloy, the high-performance Rust toolkit for Ethereum and EVM-based blockchains - [Prompting](/introduction/prompting) - [Build a fast MEV bot with Alloy's Primitive Types](/guides/speed-up-using-u256): Achieve up to 2x faster calculations by using Alloy's optimized U256 primitive types in MEV bots - [Performant Static and Dynamic ABI Encoding](/guides/static-dynamic-abi-in-alloy): Leverage high-performance static and dynamic ABI encoding with up to 10x speed improvements over ethers-rs - [Multicall and Multicall Batching layer](/guides/multicall): Optimize RPC usage by batching multiple smart contract calls using Multicall Builder and Layer - [Interacting with multiple networks](/guides/interacting-with-multiple-networks): Use the Network trait to seamlessly interact with different blockchain networks and handle varying RPC types - [Signers vs Ethereum Wallet](/guides/signers-vs-ethereum-wallet): Manage different signer types within a single EthereumWallet for flexible transaction signing strategies - [RPC Provider Abstractions](/guides/rpc-provider-abstraction): Abstract provider implementations to work seamlessly across different transport layers and connection types - [Building a High-Priority Transaction Queue with Alloy Fillers](/guides/fillers): Build transaction preprocessing pipelines using fillers to automatically fill missing transaction properties - [Customizing RPC Communication with Alloy's Layers](/guides/layers): Customize HTTP-related aspects of RPC communication using Tower-based layers and services - [RPC Provider](/rpc-providers/introduction): Connect to Ethereum networks using the Provider - [HTTP Provider](/rpc-providers/http-provider): Connect to Ethereum RPC endpoints using HTTP transport for synchronous and asynchronous operations - [WS Provider](/rpc-providers/ws-provider): Establish real-time WebSocket connections to Ethereum nodes for live updates and event subscriptions - [IPC Provider](/rpc-providers/ipc-provider): Connect to local Ethereum nodes using Inter-Process Communication for optimal performance - [Understanding Fillers](/rpc-providers/understanding-fillers): Learn how fillers automatically populate transaction fields like nonce, gas price, and chain ID - [Crafting Transactions](/transactions/introduction): Craft and build different types of Ethereum transactions using the TransactionBuilder interface - [The transaction lifecycle](/transactions/transaction-lifecycle): Understand how transactions flow through Alloy's filler system from creation to network dispatch - [Using the TransactionBuilder](/transactions/using-the-transaction-builder): Use the TransactionBuilder to construct transactions with a fluent builder pattern interface - [Sending a legacy transaction](/transactions/sending-a-legacy-transaction): Send legacy transactions with gas price for compatibility with older Ethereum networks - [Sending an EIP-1559 transaction](/transactions/sending-an-EIP-1559-transaction): Send EIP-1559 transactions with dynamic fees using max fee per gas and priority fee settings - [Sending an EIP-4844 transaction](/transactions/sending-an-EIP-4844-transaction): Send EIP-4844 blob transactions with blob sidecars for data availability on Ethereum - [Sending an EIP-7702 transaction](/transactions/sending-an-EIP-7702-transaction): Send EIP-7702 transactions with authorization lists for account abstraction features - [Using access lists](/transactions/using-access-lists): Send EIP-2930 access list transactions - [Using the sol! macro](/contract-interactions/using-sol!): Generate type-safe Rust bindings from Solidity code using the powerful sol! procedural macro - [Reading a contract](/contract-interactions/read-contract): Call view functions on smart contracts using the sol! macro's CallBuilder for read operations - [Writing to a contract](/contract-interactions/write-contract): Send transactions to smart contracts using the sol! macro's CallBuilder for seamless write operations - [Querying Contracts](/contract-interactions/queries): Query contract storage, deployed bytecode, and event logs from the blockchain - [Primitives](/using-primitive-types/introduction): Work with performant EVM primitive types including Address, U256, and FixedBytes in your applications - [Basic hash and address types](/using-primitive-types/hash-and-address-types) - [Initializing Big Numbers](/using-primitive-types/big-numbers) - [Using big numbers](/using-primitive-types/using-big-numbers) - [Common conversions](/using-primitive-types/common-conversions) - [Comparisons and equivalence](/using-primitive-types/comparisons-and-equivalence) - [Example: any_network](/examples/advanced/any_network) - [Example: decoding_json_abi](/examples/advanced/decoding_json_abi) - [Example: encoding_dyn_abi](/examples/advanced/encoding_dyn_abi) - [Example: encoding_sol_static](/examples/advanced/encoding_sol_static) - [Example: foundry_fork_db](/examples/advanced/foundry_fork_db) - [Example: uniswap_u256_alloy_profit](/examples/advanced/uniswap_u256_alloy_profit) - [Example: uniswap_u256_ethers_profit](/examples/advanced/uniswap_u256_ethers_profit) - [Example: uniswap_u256_alloy_simulation](/examples/advanced/uniswap_u256_alloy_simulation) - [Example: comparison_equivalence](/examples/big-numbers/comparison_equivalence) - [Example: conversion](/examples/big-numbers/conversion) - [Example: create_instances](/examples/big-numbers/create_instances) - [Example: math_operations](/examples/big-numbers/math_operations) - [Example: math_utilities](/examples/big-numbers/math_utilities) - [Example: compare_new_heads](/examples/comparison/compare_new_heads) - [Example: compare_pending_txs](/examples/comparison/compare_pending_txs) - [Example: deploy_from_artifact](/examples/contracts/deploy_from_artifact) - [Example: deploy_from_bytecode](/examples/contracts/deploy_from_bytecode) - [Example: deploy_from_contract](/examples/contracts/deploy_from_contract) - [Example: deploy_and_link_library](/examples/contracts/deploy_and_link_library) - [Example: interact_with_abi](/examples/contracts/interact_with_abi) - [Example: interact_with_contract_instance](/examples/contracts/interact_with_contract_instance) - [Example: jsonrpc_error_decoding](/examples/contracts/jsonrpc_error_decoding) - [Example: revert_decoding](/examples/contracts/revert_decoding) - [Example: unknown_return_types](/examples/contracts/unknown_return_types) - [Example: arb_profit_calc](/examples/contracts/arb_profit_calc) - [Example: simulation_uni_v2](/examples/contracts/simulation_uni_v2) - [Example: address_lookup](/examples/ens/address_lookup) - [Example: name_resolution](/examples/ens/name_resolution) - [Example: gas_filler](/examples/fillers/gas_filler) - [Example: nonce_filler](/examples/fillers/nonce_filler) - [Example: recommended_fillers](/examples/fillers/recommended_fillers) - [Example: wallet_filler](/examples/fillers/wallet_filler) - [Example: urgent_filler](/examples/fillers/urgent_filler) - [Example: hyper_http_layer](/examples/layers/hyper_http_layer) - [Example: logging_layer](/examples/layers/logging_layer) - [Example: retry_layer](/examples/layers/retry_layer) - [Example: fallback_layer](/examples/layers/fallback_layer) - [Example: delay_layer](/examples/layers/delay_layer) - [Example: anvil_deploy_contract](/examples/node-bindings/anvil_deploy_contract) - [Example: anvil_fork_instance](/examples/node-bindings/anvil_fork_instance) - [Example: anvil_fork_provider](/examples/node-bindings/anvil_fork_provider) - [Example: anvil_local_instance](/examples/node-bindings/anvil_local_instance) - [Example: anvil_local_provider](/examples/node-bindings/anvil_local_provider) - [Example: geth_local_instance](/examples/node-bindings/geth_local_instance) - [Example: reth_local_instance](/examples/node-bindings/reth_local_instance) - [Example: anvil_set_storage_at](/examples/node-bindings/anvil_set_storage_at) - [Example: bytes_and_address_types](/examples/primitives/bytes_and_address_types) - [Example: hashing_functions](/examples/primitives/hashing_functions) - [Example: builder](/examples/providers/builder) - [Example: builtin](/examples/providers/builtin) - [Example: http_with_auth](/examples/providers/http_with_auth) - [Example: http](/examples/providers/http) - [Example: ipc](/examples/providers/ipc) - [Example: mocking](/examples/providers/mocking) - [Example: wrapped_provider](/examples/providers/wrapped_provider) - [Example: dyn_provider](/examples/providers/dyn_provider) - [Example: multicall_batching](/examples/providers/multicall_batching) - [Example: multicall](/examples/providers/multicall) - [Example: ws](/examples/providers/ws) - [Example: ws_with_auth](/examples/providers/ws_with_auth) - [Example: batch_rpc](/examples/providers/batch_rpc) - [Example: embed_consensus_rpc](/examples/providers/embed_consensus_rpc) - [Example: basic_provider](/examples/providers/basic_provider) - [Example: query_contract_storage](/examples/queries/query_contract_storage) - [Example: query_deployed_bytecode](/examples/queries/query_deployed_bytecode) - [Example: query_logs](/examples/queries/query_logs) - [Example: events_errors](/examples/sol-macro/events_errors) - [Example: decode_returns](/examples/sol-macro/decode_returns) - [Example: structs_enums](/examples/sol-macro/structs_enums) - [Example: user_defined_types](/examples/sol-macro/user_defined_types) - [Example: all_derives](/examples/sol-macro/all_derives) - [Example: extra_derives](/examples/sol-macro/extra_derives) - [Example: subscribe_blocks](/examples/subscriptions/subscribe_blocks) - [Example: poll_logs](/examples/subscriptions/poll_logs) - [Example: subscribe_logs](/examples/subscriptions/subscribe_logs) - [Example: subscribe_all_logs](/examples/subscriptions/subscribe_all_logs) - [Example: subscribe_pending_transactions](/examples/subscriptions/subscribe_pending_transactions) - [Example: event_multiplexer](/examples/subscriptions/event_multiplexer) - [Example: decode_input](/examples/transactions/decode_input) - [Example: encode_decode_eip1559](/examples/transactions/encode_decode_eip1559) - [Example: gas_price_usd](/examples/transactions/gas_price_usd) - [Example: debug_trace_call_many](/examples/transactions/debug_trace_call_many) - [Example: trace_call_many](/examples/transactions/trace_call_many) - [Example: trace_call](/examples/transactions/trace_call) - [Example: trace_transaction](/examples/transactions/trace_transaction) - [Example: transfer_erc20](/examples/transactions/transfer_erc20) - [Example: permit2_signature_transfer](/examples/transactions/permit2_signature_transfer) - [Example: transfer_eth](/examples/transactions/transfer_eth) - [Example: send_raw_transaction](/examples/transactions/send_raw_transaction) - [Example: send_legacy_transaction](/examples/transactions/send_legacy_transaction) - [Example: send_eip1559_transaction](/examples/transactions/send_eip1559_transaction) - [Example: send_eip4844_transaction](/examples/transactions/send_eip4844_transaction) - [Example: send_eip7594_transaction](/examples/transactions/send_eip7594_transaction) - [Example: send_eip7702_transaction](/examples/transactions/send_eip7702_transaction) - [Example: send_private_transaction](/examples/transactions/send_private_transaction) - [Example: with_access_list](/examples/transactions/with_access_list) - [Example: aws_signer](/examples/wallets/aws_signer) - [Example: gcp_signer](/examples/wallets/gcp_signer) - [Example: ledger_signer](/examples/wallets/ledger_signer) - [Example: private_key_signer](/examples/wallets/private_key_signer) - [Example: mnemonic_signer](/examples/wallets/mnemonic_signer) - [Example: ethereum_wallet](/examples/wallets/ethereum_wallet) - [Example: sign_message](/examples/wallets/sign_message) - [Example: verify_message](/examples/wallets/verify_message) - [Example: sign_permit_hash](/examples/wallets/sign_permit_hash) - [Example: trezor_signer](/examples/wallets/trezor_signer) - [Example: yubi_signer](/examples/wallets/yubi_signer) - [Example: keystore_signer](/examples/wallets/keystore_signer) - [Example: create_keystore](/examples/wallets/create_keystore) - [v1.0 Changes](/migrating-to-core-v1): Understand breaking changes in Alloy core v1.0 including sol! macro improvements and ABI encoding updates - [Removing the T transport generic](/migrating-to-core-v1/sol!-changes/removing-T-generic): Removal of the transport generic T from contract and RPC codegen - [Improving function call return types](/migrating-to-core-v1/sol!-changes/improving-function-return-types): Improvements to function return types by removing the need for _0 field access in Alloy 1.0 - [Changes to function call bindings](/migrating-to-core-v1/sol!-changes/changes-to-function-call-bindings): Changes to function call bindings from named fields to tuple struct format in alloy 1.0 - [Changes to event bindings](/migrating-to-core-v1/sol!-changes/changes-to-event-bindings): Changes to event bindings in Alloy v1.0 - [Changes to error bindings](/migrating-to-core-v1/sol!-changes/changes-to-error-bindings): Changes to error bindings and how error handling is updated in Alloy v1.0 - [Encoding return structs](/migrating-to-core-v1/encoding-decoding-changes/encoding-return-structs): Learn about changes to ABI encoding for function return structs in alloy 1.0 - [Removing the validate: bool from the abi_decode methods](/migrating-to-core-v1/encoding-decoding-changes/removing-validate-bool): Removal of the validate boolean parameter from abi_decode methods in alloy 1.0 - [Other breaking changes](/migrating-to-core-v1/other-breaking-changes): Learn about other breaking changes in Alloy core v1.0 beyond sol! macro updates - [Reference](/migrating-from-ethers/reference): Complete reference guide for migrating from ethers-rs to Alloy with crate and type mappings - [Conversions](/migrating-from-ethers/conversions): Use conversion traits to seamlessly convert between ethers-rs and Alloy primitive types - [alloy ยท Rust Interface for Ethereum](/index): Alloy is a collection of blazing fast and intuitive APIs used to interact with blockchains. - [Example: helpers](/examples/contracts/helpers) - [Example: deploy_from_contract](/examples/sol-macro/contract) - [Example: decode_receipt_log](/examples/transactions/decode_receipt_log) - [Simply ABI encoding and decoding](/migrating-to-core-v1/encoding-decoding-changes/README): Overview of ABI encoding and decoding changes in Alloy v1.0 - [sol! changes](/migrating-to-core-v1/sol!-changes/README): Overview of changes to the sol! macro bindings in Alloy v1.0 - [Advanced](/templates/advanced/README) - [Big numbers](/templates/big-numbers/README) - [Comparison](/templates/comparison/README) - [Contracts](/templates/contracts/README) - [ENS](/templates/ens/README) - [Fillers](/templates/fillers/README) - [Layers](/templates/layers/README) - [Node bindings](/templates/node-bindings/README) - [Primitives](/templates/primitives/README) - [Providers](/templates/providers/README) - [Queries](/templates/queries/README) - [The sol! macro](/templates/sol-macro/README) - [Subscriptions](/templates/subscriptions/README) - [Transactions](/templates/transactions/README) - [Wallets](/templates/wallets/README)