Multicall

contracts/Multicall.sol:Multicall

Settings box in Multicall.sol

Oracle Address (ORACLE) - address

The address of the oracle contract. The multicall currently supports Chainlink and Pyth. Keep in mind that the oracle is only for showing prices on the UI and does not affect the protocol. Use the oracle that is available on your chain.

Feed ID (FEED_ID) - bytes32

The Feed ID is only for Pyth price feeds. If using chainlink do not upate the Feed ID. If using Pyth then the Feed ID can be obtained from Pyth's website, see the example below.

Chainlink only needs an oracle address so do not change the FEED_ID.

  1. Select the network:

Chains with Chainlink support
  1. Copy the oracle address for the base token USD price and set ORACLE to that address:

Chainlink price feeds on Polygon Mumbai
  1. The Multicall settings should look like this:

Chainlink oracle settings. ORACLE is set, FEED_ID is kept the same.

Pyth Example (Chain: Polygon zkEVM, BASE: MATIC)

The Pyth oracle requires both the oracle contract address and feed ID.

  1. Go to Pyth's price feeds, copy the contract address for your network and paste it in ORACLE: https://docs.pyth.network/documentation/pythnet-price-feeds/evm

Pyth Oracle contract addresses on EVMs.
  1. Go to the Pyth feed ID page and search for your BASE token paired with USD. Make sure you are set to Pyth EVM Mainnet: https://pyth.network/developers/price-feed-ids. Copy the Price Feed ID and paste it in FEED_ID.

Pyth Price Feed ID search.
  1. The Multicall settings should look like this:

Pyth oracle settings. ORACLE is set, FEED_ID is set.

Last updated