MultiCall v3
Batch multiple contract calls into a single transaction for improved gas efficiency.
MultiCall v3 is a utility contract that allows you to batch multiple contract calls into a single transaction, significantly reducing gas costs and improving efficiency for applications that need to make multiple reads or writes.
Contract Details
Contract Address: 0xcA11bde05977b3631167028862bE2a173976CA11
Source Code: GitHub Repository
Network: Nexera Testnet (and 70+ other chains)
Key Features
- Gas Optimization: Batch multiple calls to reduce transaction overhead
- Flexible Execution: Support for both successful and failed call handling
- Value Transfers: Execute calls with ETH value transfers
- Backwards Compatibility: Compatible with Multicall and Multicall2
Usage Example
Here's a basic example of how to use MultiCall v3 to batch multiple contract reads:
Security Considerations
⚠️ Important Security Notes:
- Never leave funds in the contract - Any ETH or tokens held by MultiCall3 can be stolen by anyone
- Don't approve token spending - Never approve MultiCall3 to spend your tokens
- Understand call behavior - Be aware of CALL vs DELEGATECALL implications
- This contract is unaudited - Use with appropriate caution
Available Methods
aggregate3(Call3[] calls)
- Batch calls with individual failure handlingaggregate3Value(Call3Value[] calls)
- Batch calls with ETH value transfersblockAndAggregate(Call3[] calls)
- Batch calls with block informationgetBasefee()
- Get current base feegetBlockHash(uint256 blockNumber)
- Get block hashgetCurrentBlockDifficulty()
- Get block difficultygetEthBalance(address addr)
- Get ETH balance
For complete documentation and deployment addresses across all supported chains, visit multicall3.com.