Skip to main content

Multicall

Multicall3 lets you batch multiple read calls into a single RPC round trip. This greatly reduces latency for dashboards, portfolio pages, and any view that needs data from multiple contracts at once. Multicall3 is deployed at 0xcA11bde05977b3631167028862bE2a173976CA11 on Sei Mainnet and Sei Testnet. This is the same address as on Ethereum.

Try it live

Multicall3 is a normal contract, so you can call it with a single eth_call and no SDK. These snippets run its two zero-argument helpers on Sei Mainnet. Below each response, the widget decodes the hex result to decimal.

Batching ERC-20 reads with viem

viem’s multicall action wraps Multicall3 automatically:

Allowing individual call failures

By default, a single failed call causes the entire batch to revert. To get partial results instead, use allowFailure: true (the default in viem):

Batching with ethers

ethers does not have a built-in multicall action, but you can call the Multicall3 contract directly:

wagmi

In React dApps, useReadContracts handles batching automatically: