Network...
EVM Networks
Table of Contents

Updated 2024-07-18: Found and marked/fixed broken external links.

Supported networks

DipDup can index any EVM-compatible network as long as there's enough historical data. This page contains a list of supported networks and instructions on how to configure your indexer for them.

We aim to support all networks available in Subsquid Network, and several others in node-only mode.

If you want to share your test results or have found an error, please open an issue on GitHub.

Configuring datasources

If you've created a new project using dipdup new command and used one of the EVM templates, datasources section in your config file should look like this:

dipdup.yaml
datasources:
  subsquid:
    kind: evm.subsquid
    url: ${SUBSQUID_URL:-https://v2.archive.subsquid.io/network/ethereum-mainnet}
  etherscan:
    kind: abi.etherscan
    url: ${ETHERSCAN_URL:-https://api.etherscan.io/api}
    api_key: ${ETHERSCAN_API_KEY:-''}
  evm_node:
    kind: evm.node
    url: ${NODE_URL:-https://eth-mainnet.g.alchemy.com/v2}/${NODE_API_KEY:-''}
    ws_url: ${NODE_WS_URL:-wss://eth-mainnet.g.alchemy.com/v2}/${NODE_API_KEY:-''}

To configure datasources for other networks, you need to change URLs and API keys. You can do it in the config file directly, but it's better to use environment variables. Check the deploy/.env.default file in your project directory; it contains all the variables used in config.

evm.subsquid - Subsquid Network is the main source of historical data for EVM-compatible networks. It's free and available for many networks.

abi.etherscan - Etherscan is a source of contract ABIs, which are used to generate types for the indexer. Many explorers have Etherscan-like API which could be used to retrieve ABIs. Some of them require an API key, which you can get on their website. If there's no Etherscan-like API available, you need to obtain contract ABI JSON somewhere and put it to the abi/<typename>/abi.json path. Don't forget to run dipdup init after that to generate all necessary types.

evm.node - EVM node datasource can be used to fetch recent data not yet in Subsquid Network. API methods could vary a lot across different networks, but DipDup only uses a few of them, so most of the nodes will work. WebSocket URL can be specified to get real-time updates. This option can save you some requests to the node, but otherwise, it's not required. If Subsquid for your network is not available yet, you can use this datasource to fetch historical data, but it's significantly slower.

Help and tips -> Join our Discord
Ideas or suggestions -> Issue Tracker
GraphQL IDE -> Open Playground
Table of Contents