Home

Awesome

DEPRECATED

This repository is no longer maintained. An active fork can be found at https://github.com/mds1/multicall. Note that this is an external repository not maintained by any entity funded or directed by MakerDAO governance.

Multicall <img width="100" align="right" alt="Multicall" src="https://user-images.githubusercontent.com/304108/55666937-320cb180-5888-11e9-907b-48ba66150523.png" />

Multicall aggregates results from multiple contract constant function calls.

This reduces the number of separate JSON RPC requests that need to be sent (especially useful if using remote nodes like Infura), while also providing the guarantee that all values returned are from the same block (like an atomic read) and returning the block number the values are from (giving them important context so that results from old blocks can be ignored if they're from an out-of-date node).

This smart contract is intended to be used with Multicall.js in front-end dapps.

Multicall Contract Addresses

ChainAddress
Mainnet0xeefba1e63905ef1d7acba5a8513c70307c1ce441
Kovan0x2cc8688c5f75e365aaeeb4ea8d6a480405a48d2a
Rinkeby0x42ad527de7d4e9d9d011ac45b31d8551f8fe9821
Görli0x77dca2c955b15e9de4dbbcf1246b4b85b651e50e
Ropsten0x53c43764255c17bd724f74c4ef150724ac50a3ed
xDai0xb5b692a88bdfc81ca69dcb1d924f59f0413a602a
Polygon0x11ce4B23bD875D7F5C6a31084f55fDe1e9A87507
Mumbai0x08411ADd0b5AA8ee47563b146743C13b3556c9Cc

Multicall2 Contract Addresses

Multicall2 is the same as Multicall, but provides addition functions that allow calls within the batch to fail. Useful for situations where a call may fail depending on the state of the contract.

ChainAddress
Mainnet0x5ba1e12693dc8f9c48aad8770482f4739beed696
Kovan0x5ba1e12693dc8f9c48aad8770482f4739beed696
Rinkeby0x5ba1e12693dc8f9c48aad8770482f4739beed696
Görli0x5ba1e12693dc8f9c48aad8770482f4739beed696
Ropsten0x5ba1e12693dc8f9c48aad8770482f4739beed696

Third-Party Deployments

The following addresses have been submitted by external contributors and have not been vetted by Multicall maintainers.

ChainAddress
RSK Mainnet0x6c62bf5440de2cb157205b15c424bceb5c3368f5
RSK Testnet0x9e469e1fc7fb4c5d17897b68eaf1afc9df39f103
BSC Mainnet0x41263cba59eb80dc200f3e2544eda4ed6a90e76c
BSC Testnet0xae11C5B5f29A6a25e955F0CB8ddCc416f522AF5C