Backend ENVs: Chain-Specific
ENVS for specific chains and rollups
Chain Specific ENVs
The following ENVs are specific to different types of chains and rollups. To use these specific variables you will also need to set the CHAIN_TYPE variable to the appropriate chain.
Variable | Description | Parameters |
---|---|---|
CHAIN_TYPE | Specifies the model of data and enables fetchers specific to the chain. Available values are | Needs Recompile: ☑️
Version: v5.3.0+
Default: |
Time format
Can be set in format 1h
for 1 hour, 1m
for 1 minute, 1s
or 1
for 1 second, 1ms
for 1 millisecond
Note: Before release 5.1.2, all environment variables of time format supported only integers in seconds (without dimensions) as values.
Ethereum Management
Variable | Description | Parameters |
---|---|---|
| Beacon Chain RPC endpoint used to fetch blob sidecars. Required if | Version: v6.2.0+
Default: |
| If | Version: v6.2.0+
Default: |
| Slot duration in the Beacon Chain in seconds. Required if | Version: v6.2.0+
Default: |
| Any past finalized Beacon Chain slot number. Used as reference for blob inclusion slot calculations. Required if | Version: v6.2.0+
Default: |
| UTC timestamp of the Beacon Chain slot specified in | Version: v6.2.0+
Default: |
| Beacon Chain blob fetcher start block. On start-up, indexer will only look for missed blobs beyond this block number. It's recommended to set this block to the first block after the Dencun hardfork. Implemented in #9168. | Version: v6.2.0+
Default: |
| Beacon Chain blob fetcher end block. On start-up, indexer will only look for missed blobs before this block number. If set to | Version: v6.2.0+
Default: |
Polygon Edge Management
Polygon edge is no longer supported by the Polygon team in favor of the Polygon CDK - more info
Variable | Description | Parameters |
---|---|---|
| The RPC endpoint for L1 used to fetch deposit or withdrawal events. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| The address of ExitHelper contract on L1 (root chain) used to fetch withdrawal exits. Required for withdrawal events indexing. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| The number of start block on L1 (root chain) to index withdrawal exits. If the table of withdrawal exits is not empty, the process will continue indexing from the last indexed message. If empty or not defined, the withdrawal exits are not indexed. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| The address of StateSender contract on L1 (root chain) used to fetch deposits. Required for deposit events indexing. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| The number of start block on L1 (root chain) to index deposits. If the table of deposits is not empty, the process will continue indexing from the last indexed message. If empty or not defined, the deposits are not indexed. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| The address of L2StateSender contract on L2 (child chain) used to fetch withdrawals. Required for withdrawal events indexing. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| The number of start block on L2 (child chain) to index withdrawals. If the table of withdrawals is not empty, the process will fill gaps and then continue indexing from the last indexed message. If empty or not defined, the withdrawals are not indexed. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| The address of StateReceiver contract on L2 (child chain) used to fetch deposit executes. Required for deposit events indexing. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| The number of start block on L2 (child chain) to index deposit executes. If the table of deposit executes is not empty, the process will fill gaps and then continue indexing from the last indexed message. If empty or not defined, the deposit executes are not indexed. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
| Block range size for eth_getLogs request in Polygon Edge indexer modules. Implemented in #8180. | Version: v5.3.0+ Default: (empty) Applications: Indexer |
Rootstock Management
Variable | Description | Parameters |
---|---|---|
| The address hash of remasc address on Rootstock chain. Implemented in #8542. | Version: v5.3.0+ Default: (empty) Applications: API |
| The address hash of bridge address on Rootstock chain. Implemented in #8542. | Version: v5.3.0+ Default: (empty) Applications: API |
| If | Version: v5.3.2+ Default: (empty) Applications: Indexer |
| The interval between fetching the next | Version: v5.3.2+ Default: (empty) Applications: Indexer |
| The number of requests in one JSON-RPC batch request, used to configure the load or RPS on JSON-RPC node. Implemented in #8742. | Version: v5.3.2+ Default: (empty) Applications: Indexer |
| The number of simultaneous requests to the JSON-RPC node, used to configure the load or RPS on JOSN-RPC node. Implemented in #8742. | Version: v5.3.2+ Default: (empty) Applications: Indexer |
| The number of blocks fetched from the database in one database query. Implemented in #8742. | Version: v5.3.2+ Default: (empty) Applications: Indexer |
Scroll management
Variable | Description | Parameters |
---|---|---|
| The RPC endpoint for L1 used to fetch Deposit and Withdrawal messages. Implemented in #10484. | Version: v6.9.0+ Default: (empty) Applications: Indexer |
| The address of ScrollChain contract on L1. Used to fetch batch and bundle events. Implemented in #10819. | Version: v6.9.0+ Default: (empty) Applications: Indexer |
| The number of a start block on L1 to index L1 batches and bundles. If the table of batches is not empty, the process will continue indexing from the last indexed batch. Implemented in #10819. | Version: v6.9.0+ Default: (empty) Applications: Indexer |
| The address of L1 Scroll Messenger contract on L1 used to fetch Deposit and Withdrawal messages. Implemented in #10484. | Version: v6.9.0+ Default: (empty) Applications: Indexer |
| The number of a start block on L1 to index L1 bridge messages. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L1 message. Implemented in #10484. | Version: v6.9.0+ Default: (empty) Applications: Indexer |
| The address of L2 Scroll Messenger contract on L2 used to fetch Deposit and Withdrawal messages. Implemented in #10484. | Version: v6.9.0+ Default: (empty) Applications: Indexer |
| The number of a start block on L2 to index L2 bridge messages. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L2 message. Implemented in #10484. | Version: v6.9.0+
Default: |
| The address of L1 Gas Oracle contract on L2. Implemented in #10484. | Version: v6.9.0+ Default: (empty) Applications: Indexer |
| Block range size for eth_getLogs request in Scroll indexer modules for Layer 1. Implemented in #10484. | Version: v6.9.0+
Default: |
| Block range size for eth_getLogs request in Scroll indexer modules for Layer 2. Implemented in #10484. | Version: v6.9.0+
Default: |
| L2 block number of the Curie upgrade. Implemented in #10484. | Version: v6.9.0+
Default: |
| Initial value for | Version: v6.9.0+
Default: |
| Initial value for | Version: v6.9.0+
Default: |
| Initial value for | Version: v6.9.0+
Default: |
| Initial value for | Version: v6.9.0+
Default: |
| Initial value for | Version: v6.9.0+
Default: |
| Initial value for | Version: v6.9.0+
Default: |
Shibarium Management
Variable | Description | Parameters |
---|---|---|
| The RPC endpoint for L1 used to fetch deposit or withdrawal events. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The number of start block on L1 to index L1 events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L1 event. If empty or not defined, the L1 events are not handled. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of DepositManagerProxy contract on L1 used to fetch BONE token deposits. Required for L1 events indexing. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of EtherPredicateProxy contract on L1 used to fetch ETH deposits and withdrawals. Required for L1 events indexing. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of ERC20PredicateProxy contract on L1 used to fetch ERC20 token deposits and withdrawals. Required for L1 events indexing. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of ERC721PredicateProxy contract on L1 used to fetch ERC721 token deposits and withdrawals. Optional for L1 events indexing. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of ERC1155PredicateProxy contract on L1 used to fetch ERC1155 token deposits and withdrawals. Optional for L1 events indexing. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of WithdrawManagerProxy contract on L1 used to fetch BONE token withdrawals. Required for L1 events indexing. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The number of start block on L2 to index L2 events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L2 event. If empty or not defined, the L2 events are not handled. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of ChildChain contract on L2 used to fetch BONE token deposits. Required for L2 events indexing. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of WETH contract on L2 used to fetch ETH deposits and withdrawals. Required for L2 events indexing. Implemented in #8929. | Version: v6.1.0+ Default: (empty) Applications: Indexer |
| The address of a contract which emits | Version: v6.1.0+ Default: (empty) Applications: Indexer |
Polygon zkEVM Rollup Management
Variable | Description | Parameters |
---|---|---|
| Enables Polygon zkEVM batches fetcher. Implemented in #7584. | Version: v5.3.1+
Default: |
| The number of Polygon zkEVM batches in one chunk when reading them from RPC. Implemented in #7584. | Version: v5.3.1+
Default: |
| The latest batch rechecking interval, seconds. Implemented in #7584. | Version: v5.3.1+
Default: |
| The RPC endpoint for L1 used to fetch Deposit or Withdrawal bridge events. Implemented in #9098. | Version: v6.2.0+ Default: (empty) Applications: Indexer |
| The number of a start block on L1 to index L1 bridge events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L1 event. If empty or not defined, the L1 events are not handled. Implemented in #9098. | Version: v6.2.0+ Default: (empty) Applications: Indexer |
| The address of PolygonZkEVMBridgeV2 contract on L1 used to fetch L1 bridge events. Required for L1 bridge events indexing. Implemented in #9098. | Version: v6.2.0+ Default: (empty) Applications: Indexer |
| L1 Network ID in terms of Polygon zkEVM bridge (0 = Ethereum Mainnet, 1 = Polygon zkEVM, 2 = Astar zkEVM, etc.). Required if | Version: v6.4.0+ Default: (empty) Applications: Indexer |
| L1 Rollup index in terms of Polygon zkEVM bridge (0 = Polygon zkEVM, 1 = Astar zkEVM, etc.). Not defined if L1 is Ethereum Mainnet. Required if L1 is not Ethereum Mainnet and | Version: v6.4.0+ Default: (empty) Applications: Indexer |
| The symbol of the native coin on L1 to display it in the table of the bridge Deposits and Withdrawals on UI. Implemented in #9098. | Version: v6.2.0+
Default: |
| The number of decimals to correctly display an amount of native coins for some Deposit or Withdrawal bridge operations on UI. Implemented in #9098. | Version: v6.2.0+
Default: |
| The number of a start block on L2 to index L2 bridge events. If the table of bridge operations is not empty, the process will continue indexing from the last indexed L2 event. If empty or not defined, the L2 events are not handled. Implemented in #9098. | Version: v6.2.0+ Default: (empty) Applications: Indexer |
| The address of PolygonZkEVMBridgeV2 contract on L2 used to fetch L2 bridge events. Required for L2 bridge events indexing. Implemented in #9098. | Version: v6.2.0+ Default: (empty) Applications: Indexer |
| L2 Network ID in terms of Polygon zkEVM bridge (1 = Polygon zkEVM, 2 = Astar zkEVM, etc.). Required if | Version: v6.4.0+ Default: (empty) Applications: Indexer |
| L2 Rollup index in terms of Polygon zkEVM bridge (0 = Polygon zkEVM, 1 = Astar zkEVM, etc.). Required if | Version: v6.4.0+ Default: (empty) Applications: Indexer |
Optimism Rollup Management
Supported together with ENV setting CHAIN_TYPE=optimism
Variable | Description | Parameters |
---|---|---|
| The RPC endpoint for L1 used to fetch transaction batches, dispute games, output roots, deposits, or withdrawal events. Implemented in #6980. | Version: v6.3.0+ Default: (empty) Applications: Indexer |
| The address of | Version: v6.8.0+ Default: (empty) Applications: Indexer |
| Defines a URL to Blockscout Blobs API to retrieve L1 blobs from that. Example for Sepolia: | Version: v6.3.0+ Default: (empty) Applications: Indexer |
| Defines a URL to Celestia blobs indexer to retrieve L1 blobs from that. Example: | Version: v6.8.0+ Default: (empty) Applications: Indexer |
| Blocks chunk size to send batch RPC requests. Implemented in #6980. | Version: v6.3.0+
Default: |
| L2 genesis block number. This is the first block of Optimism BedRock upgrade. Equals to 0 if the new chain starts being already upgraded. The block number can be found at superchain registry. Example. Implemented in #9260. | Version: v6.3.0+ Default: (empty) Applications: Indexer |
| The address of | Version: v6.3.0+ Default: (empty) Applications: Indexer |
| Number of blocks in a single | Version: v6.3.0+
Default: |
| Defines OP Deposit transaction type (numeric value) which is needed for correct L2 transaction hash calculation by the Deposits indexing module. Implemented in #10674. | Version: v6.9.0+
Default: |
| The number of start block on L2 to index withdrawals. If the table of withdrawals is not empty, the process will continue indexing from the last indexed withdrawal. Implemented in #6980. | Version: v6.3.0+
Default: |
| The address of | Version: v6.3.0+
Default: |
zkSync Rollup Management
Supported together with setting CHAIN_TYPE=zksync
Variable | Description | Parameters |
---|---|---|
| Enables Polygon zkEVM batches fetcher. Implemented in #9080. | Version: v6.3.0+
Default: |
| The number of RPC calls in one request when reading data from RPC. Implemented in #9080. | Version: v6.3.0+
Default: |
| Maximum amount of batches requested if Blockscout does not have all batches synced. Implemented in #9080. | Version: v6.3.0+
Default: |
| The latest batch rechecking interval, seconds. Implemented in #9080. | Version: v6.3.0+
Default: |
| The RPC endpoint for L1 used to fetch status of batches. Implemented in #9080. | Version: v6.3.0+ Default: (empty) Applications: Indexer |
| The batches status rechecking interval, seconds. Implemented in #9080. | Version: v6.3.0+
Default: |
Arbitrum Management
Supported together with setting CHAIN_TYPE=arbitrum
Variable | Description | Parameters |
---|---|---|
| The address of ArbSys contract on the rollup. Implemented in #9312. | Version: v6.7.0+
Default: |
| The address of NodeInterface contract on the rollup. Implemented in #9312. | Version: v6.8.0+
Default: |
| The RPC endpoint for L1 used to fetch transaction batches, block confirmations, and cross-chain messages. Implemented in #9312. | Version: v6.7.0+ Default: empty Applications: Indexer |
| The number of RPC calls in one request when reading data from RPC. Implemented in #9312. | Version: v6.7.0+
Default: |
| The block range size for the eth_getLogs request. Implemented in #9312. | Version: v6.7.0+
Default: |
| The Arbitrum Rollup contract address on L1. Implemented in #9312. | Version: v6.7.0+ Default: empty Applications: Indexer |
| The block number where the Arbitrum rollup contract has been deployed. Implemented in #9312. | Version: v6.7.0+
Default: |
| The block number at which synchronization will commence. It will proceed in both directions: discovering new batches up to the chain head, and historical batches until | Version: v6.7.0+
Default: |
| The number of blocks below the blockchain head that are considered not yet finalized in environments where the settlement layer is another rollup, or when the L1 node does not support safe block retrieval. Implemented in #10482. | Version: v6.8.0+
Default: |
| The number of RPC calls in one request when reading data from RPC. Implemented in #9312. | Version: v6.7.0+
Default: |
| Enables monitoring on L1 of cross-chain messages directed to L2 and catchup on L2 of historical cross-chain messages. Implemented in #9312. | Version: v6.7.0+ Default: (empty) Applications: Indexer |
| Interval to re-check on the rollup historical messages directed to and from the rollup, in seconds. Implemented in #9312. | Version: v6.7.0+
Default: |
| Amount of L2 blocks to revisit to identify historical cross-chain messages in the messages catchup task. Implemented in #10374. | Version: v6.8.0+
Default: |
| Interval to re-check on L1 new messages directed to the rollup, in seconds. Implemented in #9312. | Version: v6.7.0+
Default: |
| Enables monitoring of transaction batches, block confirmations, and L2-to-L1 messages executions. Implemented in #9312. | Version: v6.7.0+ Default: (empty) Applications: Indexer |
| Interval to re-check on L1 new and historical batches, confirmations, and executions, in seconds. Implemented in #9312. | Version: v6.7.0+
Default: |
| Whether L1 transactions related to batches, confirmations, and executions need to be monitored for finalization or not. Implemented in #9312. | Version: v6.7.0+
Default: |
| Difference between the message count and actual rollup block numbers in the SequencerBatchDelivered event on L1. Applicable for ArbitrumOne only. Implemented in #9312. | Version: v6.7.0+
Default: |
| Size of each batch range which will be inspected for the missing batches. Since it is not expected that batches are missed often, it is OK to have this value relatevly large. Implemented in #10466. | Version: v6.8.0+
Default: |
| Whether to choose | Version: v6.7.0+
Default: |
| The number of batches to be handled and imported at once. This is applicable for cases when dozens of batches are found in one discovery iteration, and it is necessary to import them in chunks to avoid the entire process being aborted if any errors occur. Implemented in #9312. | Version: v6.7.0+
Default: |
Celo Management
Supported together with setting CHAIN_TYPE=celo
Variable | Description | Parameters |
---|---|---|
| JSON dictionary containing the addresses and metadata of core CELO network contracts. Read detailed description down below. Implemented in #9713. | Version: v6.8.0+ Default: (empty) Applications: API, Indexer |
| If set to | Version: v6.8.0+
Default: |
| If set to | Version: v6.9.0+
Default: |
| Specifies the block range size for the | Version: v6.8.0+
Default: |
Filecoin Management
Supported together with setting CHAIN_TYPE=filecoin
Variable | Description | Parameters |
---|---|---|
| Specifies the expected network prefix for Filecoin addresses. For more details, refer to the Filecoin Spec. Available values: | Version: v6.9.0+
Default: |
| Required: ✅ Version: v6.9.0+ Default: (empty) Applications: Indexer | |
| Version: v6.9.0+
Default: | |
| When set to | Version: v6.9.0+
Default: |
| Sets the maximum number of concurrent requests made to fetch Filecoin native addressing information. Implemented in #10468. | Version: v6.9.0+
Default: |
| Specifies the number of address records processed per batch during the backfill of pending address fetch operations. Implemented in #10468. | Version: v6.9.0+
Default: |
| Specifies the number of concurrent processes used during the backfill of pending address fetch operations. Implemented in #10468. | Version: v6.9.0+
Default: |
Blackfort Management
Supported together with setting CHAIN_TYPE=blackfort
Variable | Description | Parameters |
---|---|---|
| Variable to define the URL of the Blackfort Validator API. Implemented in #10744. | Version: v6.9.0+ Default: (empty) Applications: API, Indexer |
Last updated