Skill — Copyable reference implementation. Use as-is or customize. See Skills Philosophy.
Multicall
Batch multiple contract read calls into a single RPC request using the Multicall3 contract.What is Multicall3?
Multicall3 is a smart contract deployed on 70+ EVM chains that aggregates multiple contract calls into a singleeth_call. Instead of making N separate RPC requests, you make 1 request that returns all results atomically at the same block.
Benefits:
- Performance: Reduce RPC calls from N to 1
- Consistency: All reads execute at the same block
- Cost: No gas for read operations (uses
eth_call) - Reliability: Per-call failure handling
Quick Start
Multiple Contract Reads
Read from multiple contracts in a single call:Error Handling
With allowFailure: true (default)
Each result includes status and error information:With allowFailure: false
Throws on first failure, returns raw values:Block Consistency
Query at a specific block for consistent reads:Batching Control
Control how calls are batched for large multicalls:Custom Multicall Address
Use a custom Multicall3 deployment:Deployless Mode
For chains without Multicall3, deploy inline:Create Bound Function
Create a multicall function with default options:Performance Comparison
For 10 contract reads:
- Sequential: 10 round trips, ~500ms at 50ms latency
- Promise.all: 10 parallel, ~50ms
- Multicall: 1 call, ~50ms + atomic consistency
Supported Chains
Multicall3 is deployed at0xcA11bde05977b3631167028862bE2a173976CA11 on:
Check availability:

