Previous ENV Variable Home Page
Previous home page for archival purposes.
This page is kept for archival purposes. Please See EVN variables and associated pages for updated info.
Previous ENV Page
The following are backend variables only.
You will find deprecated ENV vars on the Deprecated ENV Variables page.
Set ENV Variables with CLI
Use the export command to set variables. For example:
Example ENV Variables Set
The following variables are set for the Gnosis Chain Blockscout Instance. Note that some variables are not included as they contain private information which should not be exposed.
Full ENV Variables CSV file
Last updated 4 August, 2023.
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.
Available ENV Variables
This table is horizontally scrollable, version information is located in the last column. ENVs are listed by category:
General
Variable | Required | Description | Default | Version | Need recompile | Applications |
---|---|---|---|---|---|---|
| ✅ | Variable to define the Postgres Database endpoint. | (empty) | all | API, Indexer | |
| Variable to define the endpoint of the Postgres Database that is used during testing. Implemented in #9662. | (empty) | v6.6.0+ | API, Indexer | ||
| ✅ | Tells the application which RPC Client the node is using (i.e. | ganache | all | API, Indexer | |
| ✅ | The RPC endpoint used to fetch blocks, transactions, receipts, tokens. | localhost:8545 | all | API, Indexer | |
| ✅ | Variable to define the Postgres Database read-only replica endpoint. If it is provided, most of the read queries from API v2 and UI would go through this endpoint. | (empty) | all | API | |
| Variable to define the endpoint of the Postgres Database read-only replica that is used during testing. If it is provided, most of the read queries from API v2 and UI would go through this endpoint. Implemented in #9662. | (empty) | v6.6.0+ | API | ||
| Management of DB queue target. Implemented in #8991. | 50ms | v5.4.0+ | API, Indexer | ||
| The RPC endpoint specifically for the Erigon/Geth/Nethermind/Besu client used by trace_block and trace_replayTransaction. This can be used to designate a tracing node. | localhost:8545 | all | API, Indexer | ||
| The WebSockets RPC endpoint used to subscribe to the | ws://localhost:8546 | all | Indexer | ||
| Specifies the transport for Blockscout to connect to the Ethereum Node. Available transports are | http | v3.1.0+ | API, Indexer | ||
| If | (empty) | v5.0.0+ | API, Indexer | ||
| Timeout for ethereum json rpc http requests in seconds. Implemented in #7089 | 60 | v5.1.2+ | API, Indexer | ||
| User in basic auth for JSON RPC endpoint. Implemented in #6897 | (empty) | v5.1.2+ | API, Indexer | ||
| Password in basic auth for JSON RPC endpoint. Implemented in #6897 | (empty) | v5.1.2+ | API, Indexer | ||
| Custom headers for JSON RPC endpoint in form of json object, example: | (empty) | v5.2.1+ | API, Indexer | ||
| Fallback JSON RPC HTTP url. Implemented in #7246 | (empty) | v5.1.4+ | API, Indexer | ||
| Fallback JSON RPC trace url. Implemented in #7246 | (empty) | v5.1.4+ | API, Indexer | ||
| Fallback JSON RPC | (empty) | v6.3.0+ | API, Indexer | ||
| Wait time for each recent timeout from node. Implemented in #8292 | 20s | v5.2.3+ | API, Indexer | ||
| JSON RPC url for eth_call method. Implemented in #9112 | (empty) | v6.0.0+ | API, Indexer | ||
| Environment variable for the main EVM network such as Ethereum or POA. | POA | all | API | ||
| Environment variable for the subnetwork such as Core or Sokol Network. This will be displayed as selected in the chains list dropdown. | POA Sokol | all | API | ||
| Path to the IPC file of the running node if IPC transport is chosen. | (empty) | v2.1.1+ | API, Indexer | ||
| Used to set a network path other than what is displayed in the root directory. An example would be to add | / | all | API | ||
| Host for API endpoint examples. | localhost | v2.1.0+ | API | ||
| Url scheme for blockscout. | in prod env | v2.1.0+ | API | ||
| ✅ | The value is used to sign cookies. Use mix phx.gen.secret to generate a new Secret Key Base string to protect production assets. | (empty) | all | API | |
| Used to check the origin of requests when the origin header is present. It defaults to | false | all | API | ||
| Default port the application runs on is 4000. | 4000 | all | API | ||
| The coin here is checked via the CoinGecko API to obtain USD prices on graphs and other areas of the UI. | POA | all | API, Indexer | ||
| Displayed name of the coin. Also used for "Add chain to MetaMask" button and for Account functionality as native coin name in the email letters for watch list. | (empty) | v4.1.2+ | API | ||
| Should be set to |
| v2.0.4+ | API, Indexer | ||
| Chain specification path (absolute file system path or URL) to import block emission reward ranges and genesis account balances from. Geth- and OpenEthereum-style specs are supported. | (empty) | v2.0.4+ | API, Indexer | ||
| Precompiled contracts description path (absolute file system path or URL) to import ABI and source code of the precompiled contracts. | (empty) or | v6.5.0+ | API, Indexer | ||
| This environment variable is used by the RSK in order to tell the application how to calculate the total supply of the chain. Available values is | (empty) | all | API, Indexer | ||
| Variable to define the number of database connections allowed excluding read-only API endpoints requests. | 50 | all | API, Indexer | ||
| Variable to define the number of database connections allowed for read-only API endpoints requests. | 50 | v4.1.0+ | API | ||
| Production environment variable to use SSL on Ecto queries. | true | all | API, Indexer | ||
| Production environment variable to restart the application in the event of a crash. | 30 | all | API, Indexer | ||
| Production environment variable to restart the application in the event of a crash. | (empty) | all | API, Indexer | ||
| Elixir version to install on the node before Blockscout deploy. It is used in bash script in Terraform / Ansible deployment script | (empty) | all | API, Indexer | ||
| If |
| v2.0.3+ | ✅ | API, Indexer | |
| If |
| v5.1.5+ | ✅ | API | |
| If |
| v5.1.5+ | ✅ | API | |
| If |
| v6.6.0+ | API, Indexer | ||
| Link to web application instance, e.g. | (empty) | v2.0.3+ | API | ||
| Link to API instance, e.g. | (empty) | v2.0.3+ | API | ||
|
| v5.3.2+ | API | |||
| API key to protect some sensitive endpoints. Implemented in #7355 | (empty) | v5.1.5+ | API | ||
| If set to | true | v3.1.0+ | API | ||
| Defines checksum address function. 2 available values: | eth | v2.0.1+ | API | ||
| A comma-separated list of addresses to enable restricted access to them. | (empty) | v3.3.3+ | API | ||
| A key to access addresses listed in | (empty) | v3.3.3+ | API | ||
| Specifies the model of data, enables fetchers, specific to the chain. Available values are |
| v5.3.0+ | ✅ | API, Indexer | |
| Chain ID of the network. For instance, 100 in the case of xDai chain. | (empty) | v3.7.0+ | API, Indexer | ||
| JSON RPC endpoint of the chain for the WalletConnect integration. Implemented in #4931 | (empty) | v4.1.0+ | API, Indexer | ||
| New blocks indexed max delay in /health API endpoint. Time format. Implemented in #2294 | 5 m | v2.0.2+ | API, Indexer | ||
| Add public tag labels. More info in #6316 | (empty) | v5.0.0+ | API | ||
| Specify addresses for some label. More info in #6316 | (empty) | v5.0.0+ | API | ||
| Value of this env will be added to domain of session cookie. Implemented in #6544 | (empty) | v5.0.0+ | API | ||
| Allows to decode contract calls directed to addresses which are not contracts. Implemented in #6541 |
| v5.1.0+ | ✅ | API | |
| EIP-1559 elasticity multiplier. Implemented in #7253 | 2 | v5.1.3+ | API | ||
| EIP-1559 base fee max change denominator. Implemented in #9202 | 8 | v6.2.0+ | API | ||
| Concurrency of new fields backfiller implemented in #8386 | 5 | v5.3.0+ | API, Indexer | ||
| Batch size of new fields backfiller implemented in #8386 | 50 | v5.3.0+ | API, Indexer | ||
|
| v5.3.2+ | API, Indexer | |||
| Bottom block for token id migration. Implemented in #6391 | 0 | v5.0.0+ | API, Indexer | ||
| Number of workers performing the token id migration. Implemented in #6391 | 1 | v5.0.0+ | API, Indexer | ||
| Interval of token transfer block numbers processed by a token id migration worker at a time. Implemented in #6391 | 500 | v5.0.0+ | API, Indexer | ||
| TTL for cached tabs counters (works only for counters which are < 51, if counter >= 51, then ttl == :infinity). Implemented in #8512 |
| v5.3.0+ | API | ||
| In the case when the 1st tx in the chain already has internal transactions, If the number of blocks in pending_block_operations is less than the value in this env var, Blockscout will consider, that indexing of internal transactions finished, otherwise, it will consider, that indexing is still taking place and the indexing banner will appear at the top. Implemented in #7576. | 1000 | v5.2.0+ | API | ||
| Variable to define the Postgres Database endpoint that will be used by event listener process. Applicable for separate indexer and API setup. More info in related PR. Implemented in #10164. | (empty) | v6.7.0+ | API |
Indexer management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| Transformer for blocks: base or clique. | base | v1.3.4+ | Indexer | |
| If |
| v2.0.3+ | API, Indexer | |
| If |
| v5.1.5+ | API | |
| If |
| v4.1.2+ | Indexer | |
| If |
| v4.1.2+ | Indexer | |
| if |
| v4.1.3+ | Indexer | |
| If |
| v4.1.3+ | Indexer | |
| If |
| v4.1.3+ | Indexer | |
| Memory soft limit for the indexer. | 1Gb | v4.1.3+ | API, Indexer | |
| Batch size for empty block sanitizer (re-fetcher). | 100 | v4.1.3+ | Indexer | |
| Batch size for blocks catchup fetcher. Implemented in #6196. | 10 | v5.0.0+ | Indexer | |
| Concurrency for blocks catchup fetcher. Implemented in #6196. | 10 | v5.0.0+ | Indexer | |
| Empty blocks sanitizer is disabled if | false | v5.1.2+ | Indexer | |
| If |
| v4.1.6+ | Indexer | |
| The block number, where import of blocks by catchup fetcher begins from. | 0 | v1.3.8+ | API, Indexer | |
| The block number, where import of blocks by catchup fetcher stops. | (empty) | v2.0.3+ | Indexer | |
| The block number, where indexing of internal transactions begins from. | 0 | v4.1.0+ | API, Indexer | |
| The block number, where indexing of internal transactions stops. | (empty) | v4.1.0+ | API, Indexer | |
| Block ranges to import by catchup fetcher. Example: | v4.1.7+ | Indexer | ||
| Tells the application how to calculate block rewards, by fetching via json_rpc ( | trace_block | v4.1.4+ | Indexer | |
| IPFS gateway url for fetching token instances metadata from IPFS including token instance icon. | https://ipfs.io/ipfs | v5.3.0+ | Indexer | |
| The key of the parameter to add to IPFS gateway url. Implemented in #9898. | (empty)) | v6.5.0+ | Indexer | |
| The value of the parameter to add to IPFS gateway url. Implemented in #9898. | (empty)) | v6.5.0+ | Indexer | |
| Whether to add extra params: to query string or to the headers. Available values: query/header. Implemented in #9898. | (empty)) | v6.5.0+ | Indexer | |
| Timeout for | 5s | v4.1.3+ | Indexer | |
| If |
| v5.0.0+ | API, Indexer | |
| Defines which method will be used for fetching pending transactions: |
| v5.0.0+ | Indexer | |
| Batch size for internal transactions fetcher. Implemented in #6450. | 10 | v5.0.0+ | Indexer | |
| Concurrency for internal transactions fetcher. Implemented in #6450. | 4 | v5.0.0+ | Indexer | |
| Batch size for block reward fetcher. Implemented in #6952. | 10 | v5.1.2+ | Indexer | |
| Concurrency for block reward fetcher. Implemented in #6952. | 4 | v5.1.2+ | Indexer | |
| Batch size for transaction receipts fetcher. Implemented in #6454. | 250 | v5.0.0+ | Indexer | |
| Concurrency for transaction receipts fetcher. Implemented in #6454. | 10 | v5.0.0+ | Indexer | |
| Batch size for coin balances fetcher. Implemented in #6454. | 100 | v5.0.0+ | Indexer | |
| Concurrency for coin balances fetcher. Implemented in #6454. | 4 | v5.0.0+ | Indexer | |
| Concurrency for token fetcher. Implemented in #8167. | 10 | v5.2.2 | Indexer | |
| Batch size for token balances fetcher. Implemented in #7439. | 100 | v5.1.5+ | Indexer | |
| Concurrency for token balances fetcher. Implemented in #8167. | 10 | v5.2.2 | Indexer | |
| If | false | v5.1.0+ | Indexer | |
| Maximum number of items in an internal cache of tx actions indexing process (to limit memory consumption). Implemented in #6582. | 100000 | v5.1.0+ | Indexer | |
| The first block of a block range for historical indexing or reindexing of tx actions. Implemented in #6582. | (empty) | v5.1.0+ | Indexer | |
| The last block of a block range for historical indexing or reindexing of tx actions. Implemented in #6582. | (empty) | v5.1.0+ | Indexer | |
| Comma-separated names of protocols which should be indexed or reindexed on historical blocks defined by the range. Example: | (empty) | v5.1.0+ | Indexer | |
| Pool contract address for Aave v3 protocol. If not defined, Aave transaction actions are ignored by the indexer. Implemented in #7185. | (empty) | v5.1.3+ | Indexer | |
| UniswapV3Factory contract address. Implemented in #7312. | 0x1F98431c8aD98523631AE4a59f267346ea31F984 | v5.1.4+ | Indexer | |
| NonfungiblePositionManager contract address for Uniswap v3. Implemented in #7312. | 0xC36442b4a4522E871399CD717aBDD847Ab11FE88 | v5.1.4+ | Indexer | |
| Batch size for missing ranges collector. Implemented in #6583. | 100000 | v5.0.0+ | Indexer | |
| Batch size for min missing block number updater. Implemented in #6583. | 100000 | v5.0.0+ | API, Indexer | |
| Tracer type for |
| v5.1.0+ | Indexer | |
| Maximum interval between attempts to fetch token instance metadata. Time format. Implemented in #10027. |
| v6.7.0+ | Indexer | |
| Base to calculate exponential timeout. Implemented in #10027. |
| v6.7.0+ | Indexer | |
| Coefficient to calculate exponential timeout. Implemented in #10027. |
| v6.7.0+ | Indexer | |
| Concurrency for | 10 | v5.1.4+ | Indexer | |
| Concurrency for | 10 | v5.1.4+ | Indexer | |
| Concurrency for | 10 | v5.1.4+ | Indexer | |
| If |
| v5.1.4+ | Indexer | |
| If |
| v5.1.4+ | Indexer | |
| If |
| v6.6.0+ | Indexer | |
| Timeout for retry set by |
| v6.6.0+ | Indexer | |
| If |
| v5.1.4+ | Indexer | |
| If |
| v6.2.0+ | Indexer | |
| Max gap between consecutive | 1000 | v5.1.5+ | Indexer | |
| If |
| v5.1.5+ | Indexer | |
| The block number, where import of withdrawals by catchup fetcher begins from. Should be the block where withdrawals upgrade occured on the chain. Implemented in #6694. | (empty) | v5.1.5+ | Indexer | |
| Interval between blocks catchup fetcher tasks. Implemented in #7489. |
| v5.1.5+ | Indexer | |
| Limit for all fetchers init queries. Implemented in #7697. | 100 | v5.2.0+ | Indexer | |
| Batch size for | 10 | v5.2.3+ | Indexer | |
| Batch size for | 1 | v5.2.3+ | Indexer | |
| Batch size for | 10 | v5.2.3+ | Indexer | |
| Limit for token balance fetcher init queries. Implemented in #8459. | 100000 | v5.2.3+ | Indexer | |
| Limit for coin balance fetcher init queries. Implemented in #7996. | 2000 | v5.3.0+ | Indexer | |
| If |
| v5.3.0+ | Indexer | |
| Concurrency for legacy | 2 | v5.4.0+ | Indexer | |
| Batch size for legacy | 10 | v5.3.0+ | Indexer | |
| If |
| v6.2.0+ | Indexer | |
| If |
| v6.2.0+ | Indexer | |
| Concurrency for | 2 | v6.2.0+ | Indexer | |
| Concurrency for | 2 | v6.2.0+ | Indexer | |
| Batch size for | 10 | v6.2.0+ | Indexer | |
| Batch size for | 10 | v6.2.0+ | Indexer | |
| Interval for empty block sanitizer. Implemented in #8658 |
| v5.3.0+ | Indexer | |
| Max block number gap from latest for which balances requests can be processed when | 200 | v5.3.1+ | API, Indexer | |
| If |
| v5.3.2+ | Indexer | |
| Block ranges for traceable blocks. Example: | (empty) | v5.4.0+ | API, Indexer | |
| Enable tracing by block for geth variant. Implemented in #9072 |
| v6.1.0+ | Indexer | |
| Time that will be given to the block fetchers when stopping the application before they are killed. Implemented in #9729 |
| v6.5.0+ | Indexer | |
| Minimal blocks count until the next token balance request will be executed for tokens that doesn't implement | 100 | v6.7.0+ | Indexer | |
| Allow transactions to not have internal transactions. Implemented in #10200 |
| v6.7.0+ | Indexer |
Denormalization management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| Number of transactions to denormalize (add block timestamp and consensus) in the batch. | 500 | v6.0.0-beta | API, Indexer | |
| Number of parallel denormalization transaction batches processing. | 10 | v6.0.0-beta | API, Indexer | |
| Number of token transfers to denormalize (add token_type) in the batch. | 100 | v6.3.0+ | API, Indexer | |
| Number of parallel denormalization token transfer batches processing. | 1 | v6.3.0+ | API, Indexer | |
| Number of token transfers to sanitize in the batch. | 100 | v6.3.0+ | API, Indexer | |
| Number of parallel sanitizing token transfer batches processing. | 1 | v6.3.0+ | API, Indexer |
Sanitizers management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| Number of token transfers to sanitize in the batch. Implemented in #10134 | 100 | v6.7.0+ | API, Indexer | |
| Number of parallel sanitizing token transfer batches processing. Implemented in #10134 | 1 | v6.7.0+ | API, Indexer |
Ethereum Management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| The Beacon Chain RPC endpoint used to fetch blob sidecars. Required if | http://localhost:5052 | v6.2.0+ | Indexer | |
| If | false | v6.2.0+ | Indexer | |
| Slot duration in the Beacon Chain in seconds. Required if | 12 | v6.2.0+ | Indexer | |
| Any past finalized Beacon Chain slot number. Used as reference for blob inclusion slot calculations. Required if | 8000000 | v6.2.0+ | Indexer | |
| UTC timestamp of the Beacon Chain slot specified in | 1702824023 | v6.2.0+ | Indexer | |
| 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. | 19200000 | v6.2.0+ | Indexer | |
| Beacon Chain blob fetcher end block. On start-up, indexer will only look for missed blobs before this block number. If set to | 0 | v6.2.0+ | Indexer |
Polygon Edge Management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| The RPC endpoint for L1 used to fetch deposit or withdrawal events. Implemented in #8180. | (empty) | v5.3.0+ | Indexer | |
| The address of ExitHelper contract on L1 (root chain) used to fetch withdrawal exits. Required for withdrawal events indexing. Implemented in #8180. | (empty) | v5.3.0+ | 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. | (empty) | v5.3.0+ | Indexer | |
| The address of StateSender contract on L1 (root chain) used to fetch deposits. Required for deposit events indexing. Implemented in #8180. | (empty) | v5.3.0+ | 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. | (empty) | v5.3.0+ | Indexer | |
| The address of L2StateSender contract on L2 (child chain) used to fetch withdrawals. Required for withdrawal events indexing. Implemented in #8180. | (empty) | v5.3.0+ | 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. | (empty) | v5.3.0+ | Indexer | |
| The address of StateReceiver contract on L2 (child chain) used to fetch deposit executes. Required for deposit events indexing. Implemented in #8180. | (empty) | v5.3.0+ | 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. | (empty) | v5.3.0+ | Indexer | |
| Block range size for eth_getLogs request in Polygon Edge indexer modules. Implemented in #8180. | (empty) | v5.3.0+ | Indexer |
Rootstock management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| The address hash of remasc address on Rootstock chain. Implemented in #8542. | v5.3.0+ | API | ||
| The address hash of bridge address on Rootstock chain. Implemented in #8542. | v5.3.0+ | API | ||
| If | v5.3.2+ | Indexer | ||
| The interval between fetching the next | v5.3.2+ | 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. | v5.3.2+ | 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. | v5.3.2+ | Indexer | ||
| The number of blocks that are fetched from the database in one database query. Implemented in #8742. | v5.3.2+ | Indexer |
Shibarium Management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| The RPC endpoint for L1 used to fetch deposit or withdrawal events. Implemented in #8929. | (empty) | v6.1.0+ | 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. | (empty) | v6.1.0+ | Indexer | |
| The address of DepositManagerProxy contract on L1 used to fetch BONE token deposits. Required for L1 events indexing. Implemented in #8929. | (empty) | v6.1.0+ | Indexer | |
| The address of EtherPredicateProxy contract on L1 used to fetch ETH deposits and withdrawals. Required for L1 events indexing. Implemented in #8929. | (empty) | v6.1.0+ | Indexer | |
| The address of ERC20PredicateProxy contract on L1 used to fetch ERC20 token deposits and withdrawals. Required for L1 events indexing. Implemented in #8929. | (empty) | v6.1.0+ | Indexer | |
| The address of ERC721PredicateProxy contract on L1 used to fetch ERC721 token deposits and withdrawals. Optional for L1 events indexing. Implemented in #8929. | (empty) | v6.1.0+ | Indexer | |
| The address of ERC1155PredicateProxy contract on L1 used to fetch ERC1155 token deposits and withdrawals. Optional for L1 events indexing. Implemented in #8929. | (empty) | v6.1.0+ | Indexer | |
| The address of WithdrawManagerProxy contract on L1 used to fetch BONE token withdrawals. Required for L1 events indexing. Implemented in #8929. | (empty) | v6.1.0+ | 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. | (empty) | v6.1.0+ | Indexer | |
| The address of ChildChain contract on L2 used to fetch BONE token deposits. Required for L2 events indexing. Implemented in #8929. | (empty) | v6.1.0+ | Indexer | |
| The address of WETH contract on L2 used to fetch ETH deposits and withdrawals. Required for L2 events indexing. Implemented in #8929. | (empty) | v6.1.0+ | Indexer | |
| The address of a contract which emits | (empty) | v6.1.0+ | Indexer |
Polygon zkEVM Rollup management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| Enables Polygon zkEVM batches fetcher. Implemented in #7584. |
| v5.3.1+ | Indexer | |
| The number of Polygon zkEVM batches in one chunk when reading them from RPC. Implemented in #7584. | 20 | v5.3.1+ | Indexer | |
| The latest batch rechecking interval, seconds. Implemented in #7584. | 60 | v5.3.1+ | Indexer | |
| The RPC endpoint for L1 used to fetch Deposit or Withdrawal bridge events. Implemented in #9098. | v6.2.0+ | 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. | v6.2.0+ | Indexer | ||
| The address of PolygonZkEVMBridgeV2 contract on L1 used to fetch L1 bridge events. Required for L1 bridge events indexing. Implemented in #9098. | v6.2.0+ | Indexer | ||
| L1 Network ID in terms of Polygon zkEVM bridge (0 = Ethereum Mainnet, 1 = Polygon zkEVM, 2 = Astar zkEVM, etc.). Required if | v6.4.0+ | 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 | v6.4.0+ | 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. | ETH | v6.2.0+ | Indexer | |
| The number of decimals to correctly display an amount of native coins for some Deposit or Withdrawal bridge operations on UI. Implemented in #9098. | 18 | v6.2.0+ | Indexer | |
| 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. | v6.2.0+ | Indexer | ||
| The address of PolygonZkEVMBridgeV2 contract on L2 used to fetch L2 bridge events. Required for L2 bridge events indexing. Implemented in #9098. | v6.2.0+ | Indexer | ||
| L2 Network ID in terms of Polygon zkEVM bridge (1 = Polygon zkEVM, 2 = Astar zkEVM, etc.). Required if | v6.4.0+ | Indexer | ||
| L2 Rollup index in terms of Polygon zkEVM bridge (0 = Polygon zkEVM, 1 = Astar zkEVM, etc.). Required if | v6.4.0+ | Indexer |
Optimism Rollup Management
Please note that these Optimism-related variables are only supported together with setting CHAIN_TYPE=optimism
.
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| The RPC endpoint for L1 used to fetch transaction batches, output roots, deposits, or withdrawal events. Implemented in #6980. | (empty) | v6.3.0+ | Indexer | |
| The address of OptimismPortal contract on L1 used to fetch deposits and withdrawal events. Required for deposits and withdrawal events indexing. Implemented in #6980. | (empty) | v6.3.0+ | Indexer | |
| The number of start block on L1 to index transaction batches. If the table of batches is not empty, the process will continue indexing from the last indexed batch. Implemented in #6980. | (empty) | v6.3.0+ | Indexer | |
| The inbox address to index transaction batches on L1. Required if | (empty) | v6.3.0+ | Indexer | |
| The batch submitter address to index transaction batches on L1. Required if | (empty) | v6.3.0+ | Indexer | |
| Defines a URL to Blockscout Blobs API to retrieve L1 blobs from that. Example for Sepolia: | (empty) | v6.3.0+ | Indexer | |
| Blocks chunk size to send batch RPC requests. Implemented in #6980. | 4 | v6.3.0+ | Indexer | |
| L2 genesis block number for Optimism chain. Required if | (empty) | v6.3.0+ | Indexer | |
| The number of start block on L1 to index output roots. If the table of output roots is not empty, the process will continue indexing from the last indexed root. Implemented in #6980. | (empty) | v6.3.0+ | Indexer | |
| The address of OutputOracle contract on L1 used to fetch output roots. Required for output roots indexing when | (empty) | v6.3.0+ | Indexer | |
| The number of the L1 block from which deposits will be fetched. Implemented in #6993. | (empty) | v6.3.0+ | Indexer | |
| Number of blocks in a single | 500 | v6.3.0+ | Indexer | |
| The number of start block on L1 to index withdrawal events. If the table of withdrawal events is not empty, the process will continue indexing from the last indexed withdrawal event. Implemented in #6980. | (empty) | v6.3.0+ | Indexer | |
| 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. | (empty) | v6.3.0+ | Indexer | |
| The address of L2ToL1MessagePasser contract to index withdrawals. Required if | (empty) | v6.3.0+ | Indexer |
zkSync Rollup Management
Please note that these zkSync-related variables are only supported together with setting CHAIN_TYPE=zksync
.
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| Enables Polygon zkEVM batches fetcher. Implemented in #9080. |
| v6.3.0+ | Indexer | |
| The number of RPC calls in one request when reading data from RPC. Implemented in #9080. | 50 | v6.3.0+ | Indexer | |
| Maximum amount of batches requested if Blockscout does not have all batches synced. Implemented in #9080. | 50 | v6.3.0+ | Indexer | |
| The latest batch rechecking interval, seconds. Implemented in #9080. | 60 | v6.3.0+ | Indexer | |
| The RPC endpoint for L1 used to fetch status of batches. Implemented in #9080. | (empty) | v6.3.0+ | Indexer | |
| The batches status rechecking interval, seconds. Implemented in #9080. | 60 | v6.3.0+ | Indexer |
Arbitrum Rollup Management
Please note that these Arbitrum-related variables are only supported together with setting CHAIN_TYPE=arbitrum
.
Variable | Required | Description | Default | Version |
---|---|---|---|---|
| The address of ArbSys contract on the rollup. Implemented in #9312. |
| ||
| The RPC endpoint for L1 used to fetch transaction batches, block confirmations, and cross-chain messages. Implemented in #9312. | |||
| The number of RPC calls in one request when reading data from RPC. Implemented in #9312. | 20 | ||
| The block range size for the eth_getLogs request. Implemented in #9312. | 1000 | ||
| The Arbitrum Rollup contract address on L1. Implemented in #9312. | |||
| The block number where the Arbitrum rollup contract has been deployed. Implemented in #9312. | 1 | ||
| 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 | latest block | ||
| The number of RPC calls in one request when reading data from RPC. Implemented in #9312. | 20 | ||
| Enables monitoring on L1 of cross-chain messages directed to L2 and catchup on L2 of historical cross-chain messages. Implemented in #9312. | |||
| Interval to re-check on the rollup historical messages directed to and from the rollup, in seconds. Implemented in #9312. | 3600 | ||
| Amount of L2 blocks to revisit to identify historical L1-to-L2 messages in the messages catchup task by handling block transactions. Implemented in #9312. | 50 | ||
| Amount of L2 blocks to revisit to identify historical L2-to-L1 messages in the messages catchup task by handling logs in receipts. Implemented in #9312. | 1000 | ||
| Interval to re-check on L1 new messages directed to the rollup, in seconds. Implemented in #9312. | 20 | ||
| Enables monitoring of transaction batches, block confirmations, and L2-to-L1 messages executions. Implemented in #9312. | |||
| Interval to re-check on L1 new and historical batches, confirmations, and executions, in seconds. Implemented in #9312. | 20 | ||
| Whether L1 transactions related to batches, confirmations, and executions need to be monitored for finalization or not. Implemented in #9312. |
| ||
| Difference between the message count and actual rollup block numbers in the SequencerBatchDelivered event on L1. Applicable for ArbitrumOne only. Implemented in #9312. | 0 | ||
| Whether to choose |
| ||
| 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. | 10 |
Exchange rates management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| Disables or enables fetching of coin price from Coingecko API. | false | v3.1.2+ | API, Indexer | |
| This environment variable is used to set source for market cap fetching. Available values |
| v5.2.3+ | API, Indexer | |
| This environment variable is used to set source for TVL fetching. Available value is | (empty) | v5.3.0+ | API, Indexer | |
| This environment variable is used to set source for price fetching. Available values are also |
| v5.2.3+ | API, Indexer | |
| Explicitly set Mobula coin ID. | (empty) | v6.7.0+ | API, Indexer | |
| Explicitly set Mobula coin ID for secondary coin market chart. | (empty) | v6.7.0+ | API, Indexer | |
| Mobula API key. | (empty) | v6.7.0+ | API, Indexer | |
| Mobula chain id for which token prices are fetched, see full list in the | ethereum | v6.7.0+ | API, Indexer | |
| Explicitly set CoinGecko coin ID. | (empty) | v4.1.4+ | API, Indexer | |
| Explicitly set CoinGecko coin ID for secondary coin market chart. Implemented in #9483. | (empty) | v6.3.0+ | API, Indexer | |
| CoinGecko API key. | (empty) | v4.1.4+ | API, Indexer | |
| CoinMarketCap API key. Required, if | (empty) | v4.1.4+ | API, Indexer | |
| CoinMarketCap coin id. | (empty) | v5.2.1+ | API, Indexer | |
| CoinMarketCap coin id for secondary coin market chart. Implemented in #9483. | (empty) | v6.3.0+ | API, Indexer | |
| DefiLlama coin id. | (empty) | v5.3.0+ | API, Indexer | |
| if | (empty) | v4.1.5+ | API, Indexer | |
| CoinGecko platform id for which token prices are fetched, see full list in | ethereum | v5.1.2+ | API, Indexer | |
| Interval between batch requests of token prices. Can be decreased in order to fetch prices faster if you have pro rate limit. Time format. Implemented in #6925. | 5s | v5.1.2+ | API, Indexer | |
| Interval between refetching token prices, responsible for the relevance of prices. Time format. Implemented in #6925. | 1 hour | v5.1.2+ | API, Indexer | |
| Batch size of a single token price request. Implemented in #6925. | 150 | v5.1.2+ | API, Indexer | |
| If | true | v5.1.2+ | API, Indexer | |
| CryptoCompare coin symbol for secondary coin market chart. Implemented in #9483. | (empty) | v6.3.0+ | API, Indexer | |
| If set, overrides the Coingecko base URL. Implemented in #9679. | true | v6.4.0+ | API, Indexer | |
| If set, overrides the Coingecko Pro base URL. Implemented in #9679. | true | v6.4.0+ | API, Indexer | |
| If set, overrides the CoinMarketCap base URL (Free and Pro). Implemented in #9679. | true | v6.4.0+ | API, Indexer |
Cache management
Variable | Required | Description | Default | Version | Need recompile | Application |
---|---|---|---|---|---|---|
| Time interval to restart the task, which calculates the total txs count. Starting from release v6.7.0, if the value is not set, ttl value gradually increases until the default value with growth of the block numbers. Time format. | 2h | v4.1.3+ | API, Indexer | ||
| Time to live of addresses sum (except burn address) cache. Time format. Starting from release v6.7.0, if the value is not set, ttl value gradually increases until the default value with growth of the block numbers. Introduced in #2862. | 1h | v4.1.3+ | API, Indexer | ||
| Interval to restart the task, which calculates the total gas usage. Starting from release v6.7.0, if the value is not set, ttl value gradually increases until the default value with growth of the block numbers. Time format. | 2h | v4.1.3+ | API, Indexer | ||
| Time interval to restart the task, which calculates the total pending_block_operations count. Time format. | 20m | v5.2.0+ | API, Indexer | ||
| Interval to restart the task, which calculates gas usage at the address. Time format. | 30m | v4.1.3+ | API, Indexer | ||
| Interval to restart the task, which calculates holders count of the token. Time format. | 1h | v4.1.3+ | API, Indexer | ||
| Interval to restart the task, which calculates transfers count of the token. Time format. | 1h | v4.1.3+ | API, Indexer | ||
| Interval to restart the task, which calculates addresses with balances. Time format. | 30m | v4.1.3+ | ✅ | API, Indexer | |
| Interval to restart the task which updates token metadata. Time format. | 48h | v2.0.1+ | API, Indexer | ||
| Update of average block period cache. Time format. | 30m | v4.1.3+ | API, Indexer | ||
| Update of market history cache. Time format. | 6h | v4.1.3+ | API, Indexer | ||
| Time to live of address' transactions counter. Time format. Introduced in #3330. | 1h | v3.4.0+ | API, Indexer | ||
| Managing of cache invalidation period for the sum of USD value of tokens per tokens' holder address. Time format. | 1h | v3.5.0+ | API, Indexer | ||
| Value which is to tune the time to live of exchange rates. Time format. Implemented in #5671. | 10m | v4.1.5+ | ✅ | API, Indexer | |
| A threshold to invalidate token balance cache. Time format. | 1h | v5.1.2+ | API, Indexer | ||
| A threshold to invalidate coin balance cache. Time format. | 1h | v5.1.2+ | API, Indexer | ||
| An initial threshold (for exponential backoff) to fetch smart-contract bytecode on-demand. Time format. Implemented in #9708. | 5s | v6.4.0+ | API, Indexer | ||
| An initial threshold (for exponential backoff) to re-fetch token instance's metadata on-demand. Time format. Implemented in #10097. | 5s | v6.7.0+ | API, Indexer | ||
| Interval to restart the task, which calculates the number of token transfers at the address. Time format. Implemented in #4699. | 1h | v4.0.0+ | API, Indexer | ||
| Time to live of blocks with consensus count cache. Starting from release v6.7.0, if the value is not set, ttl value gradually increases until the default value with growth of the block numbers. Time format. Introduced in #1876. | 2h | v4.1.3+ | API, Indexer | ||
| if |
| v5.1.3+ | ✅ | API, Indexer | |
| Interval to update data for the last day in Market History table. Time format. Introduced in #9197. | 1h | v6.1.0+ | API, Indexer | ||
| Interval to update data for the last 24 hours transactions stats. Time format. Introduced in #9483. | 1h | v6.3.0+ | API, Indexer | ||
| Interval to update count of pending transactions that appeared less than half an hour ago. Time format. Introduced in #9483. | 5m | v6.3.0+ | API, Indexer | ||
| Interval to update data for the last output root size counter. Time format. Introduced in #9532. | 5m | v6.3.0+ | API, Indexer |
Gas price oracle management
Variable | Required | Description | Default | Version | Application |
---|---|---|---|---|---|
| Gas price oracle: number of blocks to calculate average gas price from | 200 | v4.1.4+ | API, Indexer | |
| Gas price oracle: safelow percentile | 35 |