Skip to content

Latest commit

 

History

History
590 lines (538 loc) · 294 KB

File metadata and controls

590 lines (538 loc) · 294 KB

Backend ENVs: Common

Categories

#general-management#indexer-management#db-migrations-and-sanitizer-management
#market#cache-management#gas-price-oracle
#main-page-dashboard#header-and-footer#contract-management
#bridged-tokens#miscellaneous-ui#csv-export
#recaptcha#api-rate-limits#general-application-rate-limits
#graphql-api#account-related#specific-smart-contracts
#cdn#addresses-blacklist-managementbackend-envs-chain-specific.mdbackend-envs-integrations.md

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

{% hint style="warning" %} Note: Before release 5.1.2, all environment variables of time format supported only integers in seconds (without dimensions) as values. {% endhint %}

General Management

Variable Description Parameters
APPLICATION_MODE Defines the current application mode. Available values are: all, indexer, api. Implemented in #10631.

Version: v6.8.0+
Default: all
Applications: API, Indexer

DATABASE_URL Defines the Postgres Database endpoint.

Required: ✅
Version: All
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_VARIANT Tells the application which RPC Client the node is using (i.e. erigon, geth, nethermind, besu, filecoin, or anvil) (See Client Settings for more info)

Required: ✅
Version: All
Default: geth
Applications: API, Indexer

ETHEREUM_JSONRPC_HTTP_URL The RPC endpoint used to fetch blocks, transactions, receipts, tokens.

Required: ✅
Version: All
Default: localhost:8545
Applications: API, Indexer

ETHEREUM_JSONRPC_FALLBACK_HTTP_URL Fallback JSON RPC HTTP url. Implemented in #7246

Version: v5.1.4+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_HTTP_URLS Analogue of ETHEREUM_JSONRPC_HTTP_URL for multiple values. Implemented in #10934

Version: v6.10.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_FALLBACK_HTTP_URLS Analogue of ETHEREUM_JSONRPC_FALLBACK_HTTP_URL for multiple values. Implemented in #10934

Version: v6.10.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_TRACE_URL 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.

Version: All
Default: localhost:8545
Applications: API, Indexer

ETHEREUM_JSONRPC_FALLBACK_TRACE_URL Fallback JSON RPC trace url. Implemented in #7246

Version: v5.1.4+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_TRACE_URLS Analogue of ETHEREUM_JSONRPC_TRACE_URL for multiple values. Implemented in #10934

Version: v6.10.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_FALLBACK_TRACE_URLS Analogue of ETHEREUM_JSONRPC_FALLBACK_TRACE_URL for multiple values. Implemented in #10934

Version: v6.10.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_ETH_CALL_URL JSON RPC url for eth_call method. Implemented in #9112

Version: v6.0.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_FALLBACK_ETH_CALL_URL Fallback JSON RPC eth_call url. Implemented in #9511

Version: v6.3.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_ETH_CALL_URLS Analogue of ETHEREUM_JSONRPC_ETH_CALL_URL for multiple values. Implemented in #10934

Version: v6.10.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_FALLBACK_ETH_CALL_URLS Analogue of ETHEREUM_JSONRPC_FALLBACK_ETH_CALL_URL for multiple values. Implemented in #10934

Version: v6.10.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_WS_URL The WebSockets RPC endpoint used to subscribe to the newHeads subscription alerting the indexer to fetch new blocks.

Version: All
Default: ws://localhost:8546
Applications: Indexer

ETHEREUM_JSONRPC_FALLBACK_WS_URL The fallback WebSockets RPC endpoint used to subscribe to the newHeads subscription alerting the indexer to fetch new blocks. Implemented in #10407.

Version: v6.8.0+
Default: (empty)
Applications: Indexer

ETHEREUM_JSONRPC_WS_RETRY_INTERVAL The interval between retries of connecting to WebSocket RPC endpoint after the previous attempt is failed. Implemented in #10407.

Version: v6.8.0+
Default: 1m
Applications: Indexer

ETHEREUM_JSONRPC_TRANSPORT Specifies the transport for Blockscout to connect to the Ethereum Node. Available transports are http and ipc. If ipc is selected, also set IPC_PATH variable.

Version: v3.1.0+
Default: http
Applications: API, Indexer

ETHEREUM_JSONRPC_HTTP_INSECURE If true is set, allows insecure HTTP connections to the archive node. For instance, it allows to bypass expired SSL certificate at the archive node endpoint. Implemented in #6573

Version: v5.0.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_HTTP_TIMEOUT Timeout for ethereum json rpc http requests in seconds. Implemented in #7089

Version: v5.1.2+
Default: 60
Applications: API, Indexer

ETHEREUM_JSONRPC_USER User in basic auth for JSON RPC endpoint. Implemented in #6897

Version: v5.1.2+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_PASSWORD Password in basic auth for JSON RPC endpoint. Implemented in #6897

Version: v5.1.2+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_HTTP_HEADERS Custom headers for JSON RPC endpoint in form of json object, example: {"x-api-key": "nbvkhadvnbkdfav", "x-id": "ndjkfvndfkjv"}. Implemented in #7898

Version: v5.2.1+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_WAIT_PER_TIMEOUT Wait time for each recent timeout from node. Implemented in #8292

Version: v5.2.3+
Default: 20s
Applications: API, Indexer

ETHEREUM_JSONRPC_HTTP_GZIP_ENABLED If true, then send gzip encoding header and expect encoding in response. Implemented in #11292.

Version: v6.10.0+
Default: false
Applications: API, Indexer

TEST_DATABASE_URL Defines the endpoint of the Postgres Database that is used during testing. Implemented in #9662.

Version: v6.6.0+
Default: (empty)
Applications: API, Indexer

DATABASE_READ_ONLY_API_URL Defines the Postgres Database read-only replica endpoint. If provided, most of the read queries from API v2 and UI go through this endpoint.

Required: ✅
Version: All
Default: (empty)
Applications: API

TEST_DATABASE_READ_ONLY_API_URL Defines the endpoint of the Postgres Database read-only replica used during testing. If provided, most read queries from API v2 and UI go through this endpoint. Implemented in #9662.

Version: v6.6.0+
Default: (empty)
Applications: API

REPLICA_MAX_LAG Defines the max lag for read-only replica. If the actual lag is higher than this, replica is considered unavailable and all requests to it are redirected to main DB. Implemented in #11020

Version: v6.10.0+
Default: 5m
Applications: API

SECRET_KEY_BASE The value used to sign cookies. Use mix phx.gen.secret to generate a new Secret Key Base string to protect production assets.

Required: ✅
Version: All
Default: (empty)
Applications: API

DATABASE_QUEUE_TARGET Management of DB queue target. Implemented in #8991.

Version: v5.4.0+
Default: 50ms
Applications: API, Indexer

NETWORK Environment variable for the main EVM network such as Ethereum or POA.

Version: All
Default: POA
Applications: API

SUBNETWORK Environment variable for the subnetwork such as Core or Sokol Network. This will be displayed as selected in the chains list dropdown.

Version: All
Default: POA Sokol
Applications: API

IPC_PATH Path to the IPC file of the running node if IPC transport is chosen.

Version: v2.1.1+
Default: (empty)
Applications: API, Indexer

NETWORK_PATH Used to set a network path other than what is displayed in the root directory. An example would be to add /eth/mainnet/ to the root directory.

Version: All
Default: /
Applications: API

BLOCKSCOUT_HOST Host for API endpoint examples.

Version: v2.1.0+
Default: localhost
Applications: API

BLOCKSCOUT_PROTOCOL Url scheme for blockscout.

Version: v2.1.0+
Default: prod env https, dev env http
Applications: API

CHECK_ORIGIN Used to check the origin of requests when the origin header is present. It defaults to false. In case of true, it will check against the host value.

Version: All
Default: false
Applications: API

PORT Default port the application runs on is 4000.

Version: All
Default: 4000
Applications: API

COIN Coin is checked via the CoinGecko API to obtain USD prices on graphs and other areas of the UI.

Version: All
Default: POA
Applications: API, Indexer

COIN_NAME 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.

Version: v4.1.2+
Default: (empty)
Applications: API

EMISSION_FORMAT Should be set to POA if you have block emission identical to POA Network. This env var is used only if CHAIN_SPEC_PATH is set.

Version: v2.0.4+
Default: DEFAULT
Applications: API, Indexer

CHAIN_SPEC_PATH 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.

Version: v2.0.4+
Default: (empty)
Applications: API, Indexer

CHAIN_SPEC_PROCESSING_DELAY Chain specification path processing delay. Time format. Implemented in #11874.

Version: v7.0.0+
Default: 15s
Applications: API, Indexer

PRECOMPILED_CONTRACTS_CONFIG_PATH Precompiled contracts description path (absolute file system path or URL) to import ABI and source code of the precompiled contracts.

Version: v6.5.0+
Default: (empty) or /app/config/assets/precompiles-arbitrum.json for arbitrum chaintype
Applications: API, Indexer

SUPPLY_MODULE Used by RSK in order to tell the application how to calculate the total supply of the chain. Available value is RSK

Version: All
Default: (empty)
Applications: API, Indexer

POOL_SIZE Defines the number of database connections allowed excluding read-only API endpoints requests.

Version: All
Default: 50
Applications: API, Indexer

POOL_SIZE_API Defines the number of database connections allowed for read-only API endpoints requests.

Version: v4.1.0+
Default: 50
Applications: API

ECTO_USE_SSL Production environment variable to use SSL on Ecto queries.

Version: All
Default: TRUE
Applications: API, Indexer

HEART_BEAT_TIMEOUT Production environment variable to restart the application in the event of a crash.

Version: All
Default: 30
Applications: API, Indexer

HEART_COMMAND Production environment variable to restart the application in the event of a crash.

Version: All
Default: (empty)
Applications: API, Indexer

ELIXIR_VERSION Elixir version to install on the node before Blockscout deploy. It is used in bash script in Terraform / Ansible deployment script

Version: All
Default: (empty)
Applications: API, Indexer

DISABLE_WEBAPP If true endpoints to webapp are hidden. Also, enabling it makes notifications go through db_notify

Needs Recompile: ☑️
Version: v2.0.3+
Default: false
Applications: API, Indexer

API_V1_READ_METHODS_DISABLED If true, read-only endpoints to API v1 are hidden.

Needs Recompile: ☑️
Version: v5.1.5+
Default: false
Applications: API

API_V1_WRITE_METHODS_DISABLED If true, write endpoints to API v1 are hidden.

Needs Recompile: ☑️
Version: v5.1.5+
Default: false
Applications: API

DISABLE_API If true, endpoint is not started. Set this if you want to use an indexer-only setup. Implemented in #10032

Version: v6.6.0+
Default: false
Applications: API, Indexer

WEBAPP_URL Link to web application instance, e.g. protocol://host/path

Version: v2.0.3+
Default: (empty)
Applications: API

API_URL Link to API instance, e.g. protocol://host/path

Version: v2.0.3+
Default: (empty)
Applications: API

API_V2_ENABLED Enable API V2. Implemented in #6361 (v5.0.0+), default true since #8802

Version: v5.3.2+
Default: true
Applications: API

API_SENSITIVE_ENDPOINTS_KEY API key to protect some sensitive endpoints. Implemented in #7355

Version: v5.1.5+
Default: (empty)
Applications: API

CHECKSUM_ADDRESS_HASHES If set to true, redirects to checksummed version of address hashes.

Version: v3.1.0+
Default: true
Applications: API

CHECKSUM_FUNCTION Defines checksum address function. 2 available values: rsk, eth

Version: v2.0.1+
Default: eth
Applications: API

RESTRICTED_LIST A comma-separated list of addresses to enable restricted access to them.

Version: v3.3.3+
Default: (empty)
Applications: API

RESTRICTED_LIST_KEY A key to access addresses listed inRESTRICTED_LIST variable. Can be passed via query param to the page's URL: ?key=...

Version: v3.3.3+
Default: (empty)
Applications: API

CHAIN_TYPE Specifies the blockchain architecture and enables chain-specific data models and fetchers.

Runtime configurable (v8.0.0+): neon, stability, blackfort, shibarium, polygon_edge

Needs recompilation: ethereum, optimism, arbitrum, celo, polygon_zkevm, rsk, suave, zetachain, filecoin, zilliqa, and other values prior to v8.0.0

Version: v5.3.0+
Default: default
Applications: API, Indexer

CHAIN_ID Chain ID of the network. For instance, 100 in the case of xDai chain.

Version: v3.7.0+
Default: (empty)
Applications: API, Indexer

JSON_RPC JSON RPC endpoint of the chain for the WalletConnect integration. Implemented in #4931

Version: v4.1.0+
Default: (empty)
Applications: API, Indexer

HEALTH_MONITOR_CHECK_INTERVAL Interval between health stats collection. Time format. Implemented in #11888

Version: v8.0.0+
Default: 1m
Applications: API, Indexer

HEALTH_MONITOR_BLOCKS_PERIOD New blocks indexed max delay in /health API endpoint. Time format. Implemented in #11888

Version: v8.0.0+
Default: 5m
Applications: API, Indexer

HEALTH_MONITOR_BATCHES_PERIOD New batches indexed max delay in /health API endpoint. Time format. Implemented in #11888

Version: v8.0.0+
Default: 4h
Applications: API, Indexer

NEW_TAGS Add public tag labels. More info in #6316

Version: v5.0.0+
Default: (empty)
Applications: API

CUSTOM_CONTRACT_ADDRESSES_${tag_name} Specify addresses for some label. More info in #6316

Version: v5.0.0+
Default: (empty)
Applications: API

SESSION_COOKIE_DOMAIN Value of this env will be added to domain of session cookie. Implemented in #6544

Needs Recompile: ☑️
Version: v5.0.0+
Default: (empty)
Applications: API

DECODE_NOT_A_CONTRACT_CALLS Allows decoding of contract calls directed to addresses which are not contracts. Implemented in #6541

Needs Recompile: ☑️
Version: v5.1.0+
Default: false
Applications: API

EIP_1559_ELASTICITY_MULTIPLIER EIP-1559 elasticity multiplier. See also INDEXER_OPTIMISM_L2_HOLOCENE_TIMESTAMP. Implemented in #7253

Version: v5.1.3+
Default: 2
Applications: API

EIP_1559_BASE_FEE_MAX_CHANGE_DENOMINATOR EIP-1559 base fee max change denominator. See also INDEXER_OPTIMISM_L2_HOLOCENE_TIMESTAMP. Implemented in #9202

Version: v6.2.0+
Default: 8
Applications: API

EIP_1559_BASE_FEE_LOWER_BOUND_WEI Minimum boundary for base fee calculation in wei. Implemented in #12370.

Version: v8.1.0+
Default: 0
Applications: API

ADDRESSES_TABS_COUNTERS_TTL TTL for cached tabs counters (works only for counters which are < 51, if counter >= 51, then ttl == :infinity). Implemented in #8512

Version: v5.3.0+
Default: 10m
Applications: API

API_INTERNAL_TRANSACTIONS_INDEXING_FINISHED_THRESHOLD 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 is finished, otherwise, it will consider that indexing is still taking place and the indexing banner will appear at the top. Implemented in #7576.

Version: v5.2.0+
Default: 1000
Applications: API

DATABASE_EVENT_URL 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.

Version: v6.8.0+
Default: (empty)
Applications: API

PUBLIC_METRICS_ENABLED Variable to enable running queries at /public-metrics endpoint. Implemented in #10469.

Version: v6.8.0+
Default: false
Applications: API

PUBLIC_METRICS_UPDATE_PERIOD_HOURS Public metrics update period in hours at /public-metrics endpoint. Implemented in #10469.

Version: v6.8.0+
Default: 24
Applications: API

SHRINK_INTERNAL_TRANSACTIONS_ENABLED Variable to enable internal transactions shrinking logic. Implemented in #10567.

Version: v6.8.0+
Default: false
Applications: API, Indexer

HACKNEY_DEFAULT_POOL_SIZE Size of default hackney pool. Implemented in #12406.

Version: v8.1.0+
Default: 1000
Applications: API, Indexer

UNIVERSAL_PROXY_CONFIG_URL Config URL for universal proxy. Implemented in #12442.

Version: v8.1.0+
Default: https://raw.githubusercontent.com/blockscout/backend-configs/refs/heads/main/universal-proxy-config.json
Applications: API

Indexer Management

Variable Description Parameters
BLOCK_TRANSFORMER Transformer for blocks: base or clique.

Version: v1.3.4+
Default: base
Applications: Indexer

DISABLE_INDEXER If true, indexer application doesn't run.

Version: v2.0.3+
Default: false
Applications: API, Indexer

INDEXER_HIDE_INDEXING_PROGRESS_ALERT If true, indexer progress alert will be disabled even if initial catchup indexing is still in place. Implemented in #7360.

Version: v5.1.5+
Default: false
Applications: API

INDEXER_PENDING_TRANSACTIONS_SANITIZER_INTERVAL Interval between pending transactions sanitizing. Implemented in #11601.

Version: v6.10.1
Default: 1h
Applications: Indexer

INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER If true, pending transactions fetcher is disabled.

Version: v4.1.2+
Default: false
Applications: Indexer

INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER If true, internal transactions fetcher is disabled.

Version: v4.1.2+
Default: false
Applications: Indexer

INDEXER_DISABLE_BLOCK_REWARD_FETCHER if true, block rewards fetcher is disabled.

Version: v4.1.3+
Default: false
Applications: Indexer

INDEXER_DISABLE_ADDRESS_COIN_BALANCE_FETCHER If true, coin balances fetcher is disabled.

Version: v4.1.3+
Default: false
Applications: Indexer

INDEXER_DISABLE_CATALOGED_TOKEN_UPDATER_FETCHER If true, cataloged tokens metadata fetcher is disabled.

Version: v4.1.3+
Default: false
Applications: Indexer

INDEXER_MEMORY_LIMIT Memory soft limit for the indexer.

Version: v4.1.3+
Default: 1Gb
Applications: Indexer

INDEXER_SYSTEM_MEMORY_PERCENTAGE Percentage of total memory available to the VM that an application can use if INDEXER_MEMORY_LIMIT is not set. Implemented in #10697.

Version: v6.9.0+
Default: 60
Applications: Indexer

INDEXER_EMPTY_BLOCKS_SANITIZER_BATCH_SIZE Batch size for empty block sanitizer (re-fetcher). Default value changed from 100 to 10 in the release v6.10.1 (#11555)

Version: v4.1.3+
Default: 10
Applications: Indexer

INDEXER_CATCHUP_BLOCKS_BATCH_SIZE Batch size for blocks catchup fetcher. Implemented in #6196.

Version: v5.0.0+
Default: 10
Applications: Indexer

INDEXER_CATCHUP_BLOCKS_CONCURRENCY Concurrency for blocks catchup fetcher. Implemented in #6196.

Version: v5.0.0+
Default: 10
Applications: Indexer

INDEXER_DISABLE_EMPTY_BLOCKS_SANITIZER Empty blocks sanitizer is disabled if true

Version: v5.1.2+
Default: false
Applications: Indexer

DISABLE_REALTIME_INDEXER If true, realtime fetcher doesn't run.

Version: v4.1.6+
Default: false
Applications: Indexer

FIRST_BLOCK The block number, where import of blocks by catchup fetcher begins from.

Version: v1.3.8+
Default: 0
Applications: API, Indexer

LAST_BLOCK The block number, where import of blocks by catchup fetcher stops.

Version: v2.0.3+
Default: (empty)
Applications: Indexer

TRACE_FIRST_BLOCK The block number, where indexing of internal transactions begins from.

Version: v4.1.0+
Default: 0
Applications: API, Indexer

TRACE_LAST_BLOCK The block number, where indexing of internal transactions stops.

Version: v4.1.0+
Default: (empty)
Applications: API, Indexer

BLOCK_RANGES Block ranges to import by catchup fetcher. Example: BLOCK_RANGES="1..3,123..500,30..50,500..latest". Implemented in #5783

Version: v4.1.7+
Default: (empty)
Applications: Indexer

FETCH_REWARDS_WAY Tells the application how to calculate block rewards, by fetching via json_rpc (trace_block) or manual by block params (manual).

Version: v4.1.4+
Default: trace_block
Applications: Indexer

IPFS_GATEWAY_URL IPFS gateway url for fetching token instance metadata from IPFS including token instance icon.

Version: v5.3.0+
Default: https://ipfs.io/ipfs
Applications: Indexer

IPFS_GATEWAY_URL_PARAM_KEY The key of the parameter to add to IPFS gateway url. Implemented in #9898.

Version: v6.5.0+
Default: (empty)
Applications: Indexer

IPFS_GATEWAY_URL_PARAM_VALUE The value of the parameter to add to IPFS gateway url. Implemented in #9898.

Version: v6.5.0+
Default: (empty)
Applications: Indexer

IPFS_GATEWAY_URL_PARAM_LOCATION Whether to add extra params: to query string or to the headers. Available values: query/header. Implemented in #9898.

Version: v6.5.0+
Default: (empty)
Applications: Indexer

IPFS_PUBLIC_GATEWAY_URL IPFS public gateway url which is used by frontend to display IPFS resources such as token instance image.

Version: v6.8.0+
Default: https://ipfs.io/ipfs
Applications: API

ETHEREUM_JSONRPC_DEBUG_TRACE_TRANSACTION_TIMEOUT Timeout for debug_traceTransaction/debug_traceBlockByNumber JSON RPC method requests in case of geth archive node. Supported time formats: https://pkg.go.dev/time#ParseDuration. Introduced in #5505

Version: v4.1.3+
Default: 5s
Applications: Indexer

ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES If true, all the requests with the method eth_getBalance with any block as parameter but latest are ignored. Implemented in #6001

Version: v5.0.0+
Default: false
Applications: API, Indexer

ETHEREUM_JSONRPC_PENDING_TRANSACTIONS_TYPE Defines which method will be used for fetching pending transactions: default - default method for fetching internal transactions for current ETHEREUM_JSONRPC_VARIANT, geth - txpool_content method will be used, parity - parity_pendingTransactions will be used. Implemented in #6001

Version: v5.0.0+
Default: default
Applications: Indexer

INDEXER_INTERNAL_TRANSACTIONS_BATCH_SIZE Batch size for internal transactions fetcher. Implemented in #6450.

Version: v5.0.0+
Default: 10
Applications: Indexer

INDEXER_INTERNAL_TRANSACTIONS_CONCURRENCY Concurrency for internal transactions fetcher. Implemented in #6450.

Version: v5.0.0+
Default: 4
Applications: Indexer

INDEXER_BLOCK_REWARD_BATCH_SIZE Batch size for block reward fetcher. Implemented in #6952.

Version: v5.1.2+
Default: 10
Applications: Indexer

INDEXER_BLOCK_REWARD_CONCURRENCY Concurrency for block reward fetcher. Implemented in #6952.

Version: v5.1.2+
Default: 4
Applications: Indexer

INDEXER_RECEIPTS_BATCH_SIZE Batch size for transaction receipts fetcher. Implemented in #6454.

Version: v5.0.0+
Default: 250
Applications: Indexer

INDEXER_RECEIPTS_CONCURRENCY Concurrency for transaction receipts fetcher. Implemented in #6454.

Version: v5.0.0+
Default: 10
Applications: Indexer

INDEXER_COIN_BALANCES_BATCH_SIZE Batch size for coin balances fetcher. Implemented in #6454.

Version: v5.0.0+
Default: 100
Applications: Indexer

INDEXER_COIN_BALANCES_CONCURRENCY Concurrency for coin balances fetcher. Implemented in #6454.

Version: v5.0.0+
Default: 4
Applications: Indexer

INDEXER_TOKEN_CONCURRENCY Concurrency for token fetcher. Implemented in #8167.

Version: v5.2.2+
Default: 10
Applications: Indexer

INDEXER_TOKEN_BALANCES_BATCH_SIZE Batch size for token balances fetcher. Implemented in #7439.

Version: v5.1.5+
Default: 100
Applications: Indexer

INDEXER_TOKEN_BALANCES_CONCURRENCY Concurrency for token balances fetcher. Implemented in #8167.

Version: v5.2.2+
Default: 10
Applications: Indexer

INDEXER_TOKEN_BALANCES_MAX_REFETCH_INTERVAL Maximum interval between attempts to fetch address token balance. Time format. Implemented in #10694.

Version: v6.8.1+
Default: 168h
Applications: Indexer

INDEXER_TOKEN_BALANCES_EXPONENTIAL_TIMEOUT_COEFF Coefficient to calculate exponential timeout. Implemented in #10694.

Version: v6.9.0+
Default: 100
Applications: Indexer

INDEXER_TX_ACTIONS_ENABLE If true, transaction action indexer is active. Implemented in #6582.

Version: v5.1.0+
Default: false
Applications: Indexer

INDEXER_TX_ACTIONS_MAX_TOKEN_CACHE_SIZE Maximum number of items in an internal cache of tx actions indexing process (to limit memory consumption). Implemented in #6582.

Version: v5.1.0+
Default: 100000
Applications: Indexer

INDEXER_TX_ACTIONS_REINDEX_FIRST_BLOCK The first block of a block range for historical indexing or reindexing of tx actions. Implemented in #6582.

Version: v5.1.0+
Default: (empty)
Applications: Indexer

INDEXER_TX_ACTIONS_REINDEX_LAST_BLOCK The last block of a block range for historical indexing or reindexing of tx actions. Implemented in #6582.

Version: v5.1.0+
Default: (empty)
Applications: Indexer

INDEXER_TX_ACTIONS_REINDEX_PROTOCOLS Comma-separated names of protocols which should be indexed or reindexed on historical blocks defined by the range. Example: uniswap_v3,zkbob - only these protocols will be indexed or reindexed for the defined block range. If the value is an empty string (or not defined), all supported protocols will be indexed/reindexed. This option is not applicable to realtime and catchup fetchers (it always indexes all supported protocols). Implemented in #6582.

Version: v5.1.0+
Default: (empty)
Applications: Indexer

INDEXER_TX_ACTIONS_AAVE_V3_POOL_CONTRACT Pool contract address for Aave v3 protocol. If not defined, Aave transaction actions are ignored by the indexer. Implemented in #7185.

Version: v5.1.3+
Default: (empty)
Applications: Indexer

INDEXER_TX_ACTIONS_UNISWAP_V3_FACTORY_CONTRACT UniswapV3Factory contract address. Implemented in #7312.

Version: v5.1.4+
Default: 0x1F98431c8aD98523631AE4a59f267346ea31F984
Applications: Indexer

INDEXER_TX_ACTIONS_UNISWAP_V3_NFT_POSITION_MANAGER_CONTRACT NonfungiblePositionManager contract address for Uniswap v3. Implemented in #7312.

Version: v5.1.4+
Default: 0xC36442b4a4522E871399CD717aBDD847Ab11FE88
Applications: Indexer

INDEXER_CATCHUP_MISSING_RANGES_BATCH_SIZE Batch size for missing ranges collector. Implemented in #6583.

Version: v5.0.0+
Default: 100000
Applications: Indexer

MIN_MISSING_BLOCK_NUMBER_BATCH_SIZE Batch size for min missing block number updater. Implemented in #6583.

Version: v5.0.0+
Default: 100000
Applications: API, Indexer

INDEXER_INTERNAL_TRANSACTIONS_TRACER_TYPE Tracer type for debug_traceTransaction/debug_traceBlockByNumber requests for geth-like nodes. Possible values are: js to use custom Blockscout js tracer, call_tracer to use built-in callTracer geth tracer, opcode to use built-in Struct/opcode logger geth tracer, polygon_edge to work with Polygon edge nodes. Implemented in #6721, #7513

Version: v5.1.0+
Default: call_tracer
Applications: Indexer

INDEXER_TOKEN_INSTANCE_RETRY_MAX_REFETCH_INTERVAL Maximum interval between attempts to fetch token instance metadata. Time format. Implemented in #10027.

Version: v6.8.0+
Default: 168h
Applications: Indexer

INDEXER_TOKEN_INSTANCE_RETRY_EXPONENTIAL_TIMEOUT_BASE Base to calculate exponential timeout. Implemented in #10027.

Version: v6.8.0+
Default: 2
Applications: Indexer

INDEXER_TOKEN_INSTANCE_RETRY_EXPONENTIAL_TIMEOUT_COEFF Coefficient to calculate exponential timeout. Implemented in #10027.

Version: v6.8.0+
Default: 100
Applications: Indexer

INDEXER_TOKEN_INSTANCE_RETRY_CONCURRENCY Concurrency for retry token instance fetcher. Implemented in #7286.

Version: v5.1.4+
Default: 10
Applications: Indexer

INDEXER_TOKEN_INSTANCE_REALTIME_CONCURRENCY Concurrency for realtime token instance fetcher. Implemented in #7286.

Version: v5.1.4+
Default: 10
Applications: Indexer

INDEXER_TOKEN_INSTANCE_SANITIZE_CONCURRENCY Concurrency for sanitize token instance fetcher. Implemented in #7286.

Version: v5.1.4+
Default: 10
Applications: Indexer

INDEXER_TOKEN_INSTANCE_REFETCH_CONCURRENCY Concurrency for the Token instance fetcher, which re-fetches NFT collections marked to refetch. Implemented in #10263.

Version: v5.1.4+
Default: 10
Applications: Indexer

INDEXER_DISABLE_TOKEN_INSTANCE_RETRY_FETCHER If true, retry token instance fetcher doesn't run.

Version: v5.1.4+
Default: false
Applications: Indexer

INDEXER_DISABLE_TOKEN_INSTANCE_REALTIME_FETCHER If true, realtime token instance fetcher doesn't run.

Version: v5.1.4+
Default: false
Applications: Indexer

INDEXER_TOKEN_INSTANCE_REALTIME_RETRY_ENABLED If true, realtime token instance fetcher will retry once on 404 and 500 error. Implemented in #10036.

Version: v6.6.0+
Default: false
Applications: Indexer

INDEXER_TOKEN_INSTANCE_REALTIME_RETRY_TIMEOUT Timeout for retry set by INDEXER_TOKEN_INSTANCE_REALTIME_RETRY_ENABLED. Time format. Implemented in #10036.

Version: v6.6.0+
Default: 5s
Applications: Indexer

INDEXER_DISABLE_TOKEN_INSTANCE_SANITIZE_FETCHER If true, sanitize token instance fetcher doesn't run

Version: v5.1.4+
Default: false
Applications: Indexer

INDEXER_DISABLE_TOKEN_INSTANCE_REFETCH_FETCHER If true, the Token instance fetcher, which re-fetches NFT collections marked to refetch, doesn't run. Implemented in #10263.

Version: v7.0.0+
Default: false
Applications: Indexer

INDEXER_TOKEN_INSTANCE_USE_BASE_URI_RETRY If true, and request to tokenURI(tokenId) failed with VM execution error, Blockscout will make request to baseURI and try to request metadata from baseURI + tokenId

Version: v6.2.0+
Default: false
Applications: Indexer

INDEXER_TOKEN_INSTANCE_CIDR_BLACKLIST List of IP addresses in CIDR format to block when fetching token instance metadata. Example: "0.0.0.0/32,192.168.0.0/16". Implemented in #12102.

Version: v8.0.0+
Default: (empty)
Applications: Indexer

INDEXER_TOKEN_INSTANCE_HOST_FILTERING_ENABLED If false, the URL from which metadata is fetched will not be resolved to an IP address, and the IP address will not be checked against the blacklist. Implemented in #12102.

Version: v8.0.0+
Default: true
Applications: Indexer

INDEXER_TOKEN_INSTANCE_ALLOWED_URI_PROTOCOLS List of allowed URI protocols (schemes) for requests when fetching token instance metadata. Implemented in #12102.

Version: v8.0.0+
Default: http,https
Applications: Indexer

INDEXER_REALTIME_FETCHER_MAX_GAP Max gap between consecutive latest blocks that will be filled by realtime fetcher. Implemented in #7393

Version: v5.1.5+
Default: 1000
Applications: Indexer

INDEXER_REALTIME_FETCHER_POLLING_PERIOD Period between polling the latest block in realtime fetcher. Time format. Implemented in #11783

Version: v7.0.0+
Default: (empty)
Applications: Indexer

INDEXER_DISABLE_WITHDRAWALS_FETCHER If true, withdrawals fetcher is disabled. Implemented in #6694.

Version: v5.1.5+
Default: true
Applications: Indexer

WITHDRAWALS_FIRST_BLOCK The block number, where import of withdrawals by catchup fetcher begins from. Should be the block where withdrawals upgrade occurred on the chain. Implemented in #6694.

Version: v5.1.5+
Default: (empty)
Applications: Indexer

INDEXER_CATCHUP_BLOCK_INTERVAL Interval between blocks catchup fetcher tasks. Implemented in #7489.

Version: v5.1.5+
Default: 0s
Applications: Indexer

INDEXER_FETCHER_INIT_QUERY_LIMIT Limit for all fetchers init queries. Implemented in #7697.

Version: v5.2.0+
Default: 100
Applications: Indexer

INDEXER_TOKEN_INSTANCE_RETRY_BATCH_SIZE Batch size for retry token instance fetcher. Implemented in #8313

Version: v5.2.3+
Default: 10
Applications: Indexer

INDEXER_TOKEN_INSTANCE_REALTIME_BATCH_SIZE Batch size for realtime token instance fetcher. Implemented in #8313.

Version: v5.2.3+
Default: 1
Applications: Indexer

INDEXER_TOKEN_INSTANCE_SANITIZE_BATCH_SIZE Batch size for sanitize token instance fetcher. Implemented in #8313.

Version: v5.2.3+
Default: 10
Applications: Indexer

INDEXER_TOKEN_INSTANCE_REFETCH_BATCH_SIZE Batch size for the Token instance fetcher, which re-fetches NFT collections marked to refetch. Implemented in #8313.

Version: v5.2.3+
Default: 10
Applications: Indexer

INDEXER_TOKEN_BALANCES_FETCHER_INIT_QUERY_LIMIT Limit for token balance fetcher init queries. Implemented in #8459.

Version: v5.2.3+
Default: 100000
Applications: Indexer

INDEXER_COIN_BALANCES_FETCHER_INIT_QUERY_LIMIT Limit for coin balance fetcher init queries. Implemented in #7996.

Version: v5.3.0+
Default: 2000
Applications: Indexer

INDEXER_DISABLE_TOKEN_INSTANCE_ERC_1155_SANITIZE_FETCHER If true, erc-1155-sanitize token instance fetcher doesn't run. Implemented in #9226.

Version: v6.2.0+
Default: false
Applications: Indexer

INDEXER_DISABLE_TOKEN_INSTANCE_ERC_721_SANITIZE_FETCHER If true, erc-721-sanitize token instance fetcher doesn't run. Implemented in #9226.

Version: v6.2.0+
Default: false
Applications: Indexer

INDEXER_EMPTY_BLOCKS_SANITIZER_INTERVAL Interval for empty block sanitizer. Implemented in #8658

Version: v5.3.0+
Default: 5m
Applications: Indexer

ETHEREUM_JSONRPC_ARCHIVE_BALANCES_WINDOW Max block number gap from latest for which balances requests can be processed when ETHEREUM_JSONRPC_DISABLE_ARCHIVE_BALANCES env var is set to true. Implemented in #8673

Version: v5.3.1+
Default: 200
Applications: API, Indexer

DISABLE_CATCHUP_INDEXER If true, catchup fetcher doesn't run.

Version: v5.3.2+
Default: false
Applications: Indexer

TRACE_BLOCK_RANGES Block ranges for traceable blocks. Example: TRACE_BLOCK_RANGES="1..3,123..500,30..50,500..latest". Implemented in #8960

Version: v5.4.0+
Default: (empty)
Applications: API, Indexer

ETHEREUM_JSONRPC_GETH_TRACE_BY_BLOCK Enable tracing by block for geth variant. Implemented in #9072

Version: v6.1.0+
Default: false
Applications: Indexer

INDEXER_GRACEFUL_SHUTDOWN_PERIOD Time that will be given to the block fetchers when stopping the application before they are killed. Implemented in #9729

Version: v6.5.0+
Default: 5m
Applications: Indexer

MISSING_BALANCE_OF_TOKENS_WINDOW_SIZE Minimal blocks count until the next token balance request will be executed for tokens that doesn't implement balanceOf function. Implemented in #10142

Version: v6.8.0+
Default: 100
Applications: Indexer

ETHEREUM_JSONRPC_GETH_ALLOW_EMPTY_TRACES Allow transactions to not have internal transactions. Implemented in #10200

Version: v6.8.0+
Default: false
Applications: Indexer

INDEXER_DISABLE_REPLACED_TRANSACTION_FETCHER If true, Indexer.Fetcher.ReplacedTransaction fetcher doesn't run.

Version: v6.8.0+
Default: false
Applications: Indexer

INDEXER_INTERNAL_TRANSACTIONS_FETCH_ORDER Order of fetching internal transactions from node. Possible values: asc, desc. Implemented in #10912

Version: v6.9.0+
Default: asc
Applications: Indexer

INDEXER_DB_EVENT_NOTIFICATIONS_CLEANUP_ENABLED If true, Indexer.Utils.EventNotificationsCleaner process starts. Implemented in #12738

Version: v9.0.0+
Default: true
Applications: Indexer

INDEXER_DB_EVENT_NOTIFICATIONS_CLEANUP_INTERVAL Interval between DB event notifications cleanup. Time format. Implemented in #12738

Version: v9.0.0+
Default: 2m
Applications: Indexer

INDEXER_DB_EVENT_NOTIFICATIONS_CLEANUP_MAX_AGE Max age of DB event notifications before they are cleaned up. Time format. Implemented in #12738

Version: v9.0.0+
Default: 5m
Applications: Indexer

INDEXER_SIGNED_AUTHORIZATION_STATUS_BATCH_SIZE Batch size (number of blocks) for EIP7702 authorizations status fetcher. Implemented in #12451.

Version: v9.0.0+
Default: 10
Applications: Indexer

DB Migrations & Sanitizer Management

Variable Description Parameters
MIGRATION_SHRINK_INTERNAL_TRANSACTIONS_BATCH_SIZE Batch size of the shrink internal transactions migration. Note: before release "v6.8.0", the default value was 1000. Implemented in #10567, changed default value in #10689. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_SHRINK_INTERNAL_TRANSACTIONS_CONCURRENCY Concurrency of the shrink internal transactions migration. Implemented in #10567. Renamed in #11798.

Version: v7.0.0+
Default: 10
Applications: API, Indexer

MIGRATION_TOKEN_INSTANCE_OWNER_CONCURRENCY Concurrency of new fields backfiller implemented in #8386. Renamed in #11798.

Version: v7.0.0+
Default: 5
Applications: API, Indexer

MIGRATION_TOKEN_INSTANCE_OWNER_BATCH_SIZE Batch size of new fields backfiller implemented in #8386. Renamed in #11798.

Version: v7.0.0+
Default: 50
Applications: API, Indexer

MIGRATION_TOKEN_INSTANCE_OWNER_ENABLED Enable of backfiller from #8386 implemented in #8752. Renamed in #11798.

Version: v7.0.0+
Default: false
Applications: API, Indexer

MIGRATION_TRANSACTIONS_TABLE_DENORMALIZATION_BATCH_SIZE Number of transactions to denormalize (add block timestamp and consensus) in the batch. Renamed in #11798.

Version: v7.0.0+
Default: 500
Applications: API, Indexer

MIGRATION_TRANSACTIONS_TABLE_DENORMALIZATION_CONCURRENCY Number of parallel denormalization transaction batches processing. Renamed in #11798.

Version: v7.0.0+
Default: 10
Applications: API, Indexer

MIGRATION_TOKEN_TRANSFER_TOKEN_TYPE_BATCH_SIZE Number of token transfers to denormalize (add token_type) in the batch. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_TOKEN_TRANSFER_TOKEN_TYPE_CONCURRENCY Number of parallel denormalization token transfer batches processing. Renamed in #11798.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_NFT_BATCH_SIZE Number of token transfers to sanitize in the batch. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_NFT_CONCURRENCY Number of parallel sanitizing token transfer batches processing. Renamed in #11798.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_NFT_TIMEOUT Timeout between sanitizing token transfer batches processing. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 0
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_WETH_BATCH_SIZE Number of token transfers to sanitize in the batch. Implemented in #10134. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_WETH_CONCURRENCY Number of parallel sanitizing token transfer batches processing. Implemented in #10134. Renamed in #11798.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_SANITIZE_INCORRECT_WETH_TIMEOUT Timeout between sanitizing token transfer batches processing. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 0
Applications: API, Indexer

MIGRATION_REINDEX_INTERNAL_TRANSACTIONS_STATUS_BATCH_SIZE Number of internal transactions to reindex in the batch. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 100
Applications: API, Indexer

MIGRATION_REINDEX_INTERNAL_TRANSACTIONS_STATUS_CONCURRENCY Number of parallel reindexing internal transaction batches processing. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_REINDEX_INTERNAL_TRANSACTIONS_STATUS_TIMEOUT Timeout between reindexing internal transaction batches processing. Implemented in #11358. Renamed in #11798.

Version: v7.0.0+
Default: 0
Applications: API, Indexer

MIGRATION_REINDEX_DUPLICATED_INTERNAL_TRANSACTIONS_BATCH_SIZE Number of internal transactions to reindex in the batch. Implemented in #12394.

Version: v8.1.0+
Default: 100
Applications: Indexer

MIGRATION_REINDEX_DUPLICATED_INTERNAL_TRANSACTIONS_CONCURRENCY Number of parallel reindexing internal transaction batches processing. Implemented in #12394.

Version: v8.1.0+
Default: 1
Applications: Indexer

MIGRATION_REINDEX_DUPLICATED_INTERNAL_TRANSACTIONS_TIMEOUT Timeout between reindexing internal transaction batches processing. Implemented in #12394.

Version: v8.1.0+
Default: 0
Applications: Indexer

MIGRATION_REINDEX_BLOCKS_WITH_MISSING_TRANSACTIONS_BATCH_SIZE Number of blocks to reindex in the batch. Implemented in #12559.

Version: v9.0.0+
Default: 10
Applications: Indexer

MIGRATION_REINDEX_BLOCKS_WITH_MISSING_TRANSACTIONS_CONCURRENCY Number of parallel reindexing block batches processing. Implemented in #12559.

Version: v9.0.0+
Default: 1
Applications: Indexer

MIGRATION_REINDEX_BLOCKS_WITH_MISSING_TRANSACTIONS_TIMEOUT Timeout between reindexing block batches processing. Implemented in #12559.

Version: v9.0.0+
Default: 0
Applications: Indexer

MIGRATION_REINDEX_BLOCKS_WITH_MISSING_TRANSACTIONS_ENABLED Enable reindex blocks with missing transactions migration. Implemented in #12559.

Version: v9.0.0+
Default: false
Applications: Indexer

MIGRATION_RESTORE_OMITTED_WETH_TOKEN_TRANSFERS_BATCH_SIZE Number of logs to process in the batch. Implemented in #10466

Version: v6.8.0+
Default: 50
Applications: API, Indexer

MIGRATION_RESTORE_OMITTED_WETH_TOKEN_TRANSFERS_CONCURRENCY Number of parallel logs batches processing. Implemented in #10466

Version: v6.8.0+
Default: 5
Applications: API, Indexer

MIGRATION_RESTORE_OMITTED_WETH_TOKEN_TRANSFERS_TIMEOUT Time interval between checks if queue is not empty. The same timeout multiplied by 2 used between checks if queue is not full. Implemented in #10466

Version: v6.8.0+
Default: 250ms
Applications: API, Indexer

MIGRATION_SANITIZE_DUPLICATED_LOG_INDEX_LOGS_BATCH_SIZE Number of logs to process in the batch. Implemented in #11055

Version: v6.9.0+
Default: 500
Applications: API, Indexer

MIGRATION_SANITIZE_DUPLICATED_LOG_INDEX_LOGS_CONCURRENCY Number of parallel logs batches processing. Implemented in #11055

Version: v6.9.0+
Default: 10
Applications: API, Indexer

MIGRATION_REFETCH_CONTRACT_CODES_BATCH_SIZE Number of addresses to process in the batch. Implemented in #11055

Version: v6.9.0+
Default: 100
Applications: API, Indexer

MIGRATION_REFETCH_CONTRACT_CODES_CONCURRENCY Number of parallel addresses batches processing. Implemented in #11055

Version: v6.9.0+
Default: 5
Applications: API, Indexer

MIGRATION_SANITIZE_VERIFIED_ADDRESSES_DISABLED Controls whether the migration that sanitizes verified addresses is disabled. If set to true, the migration will not run; if set to false, the migration will proceed. Implemented in #11727.

Version: v7.0.0+
Default: false
Applications: API, Indexer

MIGRATION_SANITIZE_VERIFIED_ADDRESSES_BATCH_SIZE Specifies the number of addresses to process in each batch during the sanitize verified addresses migration. Implemented in #11727.

Version: v7.0.0+
Default: 500
Applications: API, Indexer

MIGRATION_SANITIZE_VERIFIED_ADDRESSES_CONCURRENCY Determines how many concurrent processes will be used during the sanitize verified addresses migration. Implemented in #11727.

Version: v7.0.0+
Default: 1
Applications: API, Indexer

MIGRATION_SANITIZE_VERIFIED_ADDRESSES_TIMEOUT Defines the timeout before processing each batch in the sanitize verified addresses migration. Follows the time format. Implemented in #11727.

Version: v7.0.0+
Default: 0s
Applications: API, Indexer

MIGRATION_HEAVY_INDEX_OPERATIONS_CHECK_INTERVAL Interval between status checks of heavy db operation like index creation or dropping. Time format. Implemented in #11604

Version: v7.0.0+
Default: 10m
Applications: API, Indexer

MIGRATION_TOKEN_INSTANCE_ERC_1155_SANITIZE_CONCURRENCY Concurrency for erc-1155-sanitize token instance fetcher. Implemented in #9226. Default value and name changed in #11543

Version: v7.0.0+
Default: 1
Applications: Indexer

MIGRATION_TOKEN_INSTANCE_ERC_721_SANITIZE_CONCURRENCY Concurrency for erc-721-sanitize token instance fetcher. Implemented in #9226. Name changed in #11543

Version: v7.0.0+
Default: 2
Applications: Indexer

MIGRATION_TOKEN_INSTANCE_ERC_1155_SANITIZE_BATCH_SIZE Batch size for erc-1155-sanitize token instance fetcher. Implemented in #9226. Default value and name changed in #11543

Version: v7.0.0+
Default: 500
Applications: Indexer

MIGRATION_TOKEN_INSTANCE_ERC_721_SANITIZE_BATCH_SIZE Batch size for erc-721-sanitize token instance fetcher. Implemented in #9226. Default value and name changed in #11543

Version: v7.0.0+
Default: 50
Applications: Indexer

MIGRATION_TOKEN_INSTANCE_ERC_721_SANITIZE_TOKENS_BATCH_SIZE Tokens batch size for erc-721-sanitize token instance fetcher. Implemented in #9226. Name changed in #11543

Version: v7.0.0+
Default: 100
Applications: Indexer

MIGRATION_SMART_CONTRACT_LANGUAGE_DISABLED If set to true, the migration to the language field in the smart_contracts table will not start. If set to false, the migration proceeds as normal. Implemented in #11813.

Version: v8.0.0+
Default: false
Applications: Indexer

MIGRATION_SMART_CONTRACT_LANGUAGE_BATCH_SIZE Defines the number of records to be processed in each batch when migrating the language field in the smart_contracts table. Implemented in #11813.

Version: v8.0.0+
Default: 100
Applications: Indexer

MIGRATION_SMART_CONTRACT_LANGUAGE_CONCURRENCY Specifies how many concurrent processes can handle the language field migration. Implemented in #11813.

Version: v8.0.0+
Default: 1
Applications: Indexer

MIGRATION_BACKFILL_METADATA_URL_DISABLED If set to true, the backfiller of metadata_url field in the token_instances table will not start. If set to false, the migration proceeds as normal. Implemented in #12102.

Version: v8.0.0+
Default: false
Applications: Indexer

MIGRATION_BACKFILL_METADATA_URL_BATCH_SIZE Defines the number of records to be processed in each batch when backfilling the metadata_url field in the token_instances table. Implemented in #12102.

Version: v8.0.0+
Default: 100
Applications: Indexer

MIGRATION_BACKFILL_METADATA_URL_CONCURRENCY Specifies how many concurrent processes can handle the metadata_url field backfilling. Implemented in #12102.

Version: v8.0.0+
Default: 5
Applications: Indexer

MIGRATION_RECOVERY_WETH_TOKEN_TRANSFERS_CONCURRENCY Specifies how many concurrent processes can handle the recovery WETH token transfers migration. Implemented in #12065.

Version: v8.0.0+
Default: 5
Applications: Indexer

MIGRATION_RECOVERY_WETH_TOKEN_TRANSFERS_BATCH_SIZE Defines the number of records to be processed in each batch when recovery WETH token transfers. Implemented in #12065.

Version: v8.0.0+
Default: 50
Applications: Indexer

MIGRATION_RECOVERY_WETH_TOKEN_TRANSFERS_TIMEOUT Defines the timeout between processing each batch (batch_size * concurrency) in the recovery WETH token transfers migration. Follows the time format. Implemented in #12065.

Version: v8.0.0+
Default: 0s
Applications: Indexer

MIGRATION_RECOVERY_WETH_TOKEN_TRANSFERS_BLOCKS_BATCH_SIZE Specifies the block range size selected for the recovery of WETH token transfer migration. Implemented in #12065.

Version: v8.0.0+
Default: 100000
Applications: Indexer

MIGRATION_RECOVERY_WETH_TOKEN_TRANSFERS_HIGH_VERBOSITY If set to true, enables high verbosity logging (logs each transaction hash, where missed transfers were restored) during the recovery of WETH token transfer migration. Implemented in #12065.

Version: v8.0.0+
Default: true
Applications: Indexer

MIGRATION_MERGE_ADJACENT_MISSING_BLOCK_RANGES_BATCH_SIZE Specifies the missing block range batch size selected for the merge migration. Implemented in #12778.

Version: v9.0.0+
Default: 100
Applications: Indexer

Market

Variable Description Parameters
DISABLE_MARKET Disables all fetchers and any market data displaying. Setting this to true will disable all market-related functionality. Implemented in #11844.

Version: v8.0.0+
Default: false
Applications: API, Indexer

MARKET_NATIVE_COIN_SOURCE Source for realtime native coin price fetching. Possible values are: coin_gecko, coin_market_cap, crypto_rank, or mobula. Useful when multiple coin IDs are configured and you want to explicitly select the source. Implemented in #11844.

Version: v8.0.0+
Default: coin_gecko
Applications: API

MARKET_SECONDARY_COIN_SOURCE Source for realtime secondary coin fetching. Possible values are: coin_gecko, coin_market_cap, crypto_rank, or mobula. Useful when multiple secondary coin IDs are configured. Implemented in #11844.

Version: v8.0.0+
Default: coin_gecko
Applications: API

MARKET_TOKENS_SOURCE Sets the source for tokens price fetching. Available values are coin_gecko, crypto_rank, mobula. Implemented in #11844.

Version: v8.0.0+
Default: coin_gecko
Applications: Indexer

MARKET_NATIVE_COIN_HISTORY_SOURCE Sets the source for price history fetching. Available values are crypto_compare, coin_gecko, mobula, coin_market_cap and crypto_rank. Implemented in #11844.

Version: v8.0.0+
Default: crypto_compare
Applications: Indexer

MARKET_SECONDARY_COIN_HISTORY_SOURCE Sets the source for secondary coin price history fetching. Available values are crypto_compare, coin_gecko, mobula, coin_market_cap and crypto_rank. Implemented in #11844.

Version: v8.0.0+
Default: crypto_compare
Applications: Indexer

MARKET_MARKET_CAP_HISTORY_SOURCE Sets the source for market cap history fetching. Available values are coin_gecko and coin_market_cap. Implemented in #11844.

Version: v8.0.0+
Default: coin_gecko
Applications: Indexer

MARKET_TVL_HISTORY_SOURCE Sets the source for TVL history fetching. Available value is defillama. Implemented in #11844.

Version: v8.0.0+
Default: defillama
Applications: Indexer

MARKET_COINGECKO_PLATFORM_ID CoinGecko platform id for which token prices are fetched, see full list in /asset_platforms endpoint. Examples: "ethereum", "optimistic-ethereum". Implemented in #11844.

Version: v8.0.0+
Default: ethereum
Applications: Indexer

MARKET_COINGECKO_BASE_URL If set, overrides the Coingecko base URL. Implemented in #11844.

Version: v8.0.0+
Default: https://api.coingecko.com/api/v3
Applications: API, Indexer

MARKET_COINGECKO_BASE_PRO_URL If set, overrides the Coingecko Pro base URL. Implemented in #11844.

Version: v8.0.0+
Default: https://pro-api.coingecko.com/api/v3
Applications: API, Indexer

MARKET_COINGECKO_API_KEY CoinGecko API key. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_COINGECKO_COIN_ID Sets CoinGecko coin ID. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_COINGECKO_SECONDARY_COIN_ID Sets CoinGecko coin ID for secondary coin market chart. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_COINMARKETCAP_BASE_URL If set, overrides the CoinMarketCap base URL (Free and Pro). Implemented in #11844.

Version: v8.0.0+
Default: https://pro-api.coinmarketcap.com/v2
Applications: API, Indexer

MARKET_COINMARKETCAP_API_KEY CoinMarketCap API key. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_COINMARKETCAP_COIN_ID CoinMarketCap coin id. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_COINMARKETCAP_SECONDARY_COIN_ID CoinMarketCap coin id for secondary coin. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_CRYPTOCOMPARE_BASE_URL If set, overrides the CryptoCompare base URL. Implemented in #11844.

Version: v8.0.0+
Default: https://min-api.cryptocompare.com
Applications: API, Indexer

MARKET_CRYPTOCOMPARE_COIN_SYMBOL CryptoCompare coin symbol for native coin (e.g., "OP" for Optimism). CryptoCompare uses symbols instead of IDs. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: Indexer

MARKET_CRYPTOCOMPARE_SECONDARY_COIN_SYMBOL CryptoCompare coin symbol for secondary coin market chart. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: Indexer

MARKET_CRYPTORANK_PLATFORM_ID Sets Cryptorank platform ID. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: Indexer

MARKET_CRYPTORANK_BASE_URL If set, overrides the Cryptorank API url. Implemented in #11844.

Version: v8.0.0+
Default: https://api.cryptorank.io/v1/
Applications: API, Indexer

MARKET_CRYPTORANK_API_KEY Cryptorank API key. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_CRYPTORANK_COIN_ID Sets Cryptorank coin ID. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_CRYPTORANK_SECONDARY_COIN_ID Sets Cryptorank coin ID for secondary coin. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_DEFILLAMA_COIN_ID DefiLlama coin id. Use the name field from the /v2/chains endpoint response (e.g., "OP Mainnet" for Optimism). Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: Indexer

MARKET_MOBULA_PLATFORM_ID Mobula platform ID. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: Indexer

MARKET_MOBULA_BASE_URL If set, overrides the Mobula API base URL. Implemented in #11844.

Version: v8.0.0+
Default: https://api.mobula.io/api/1
Applications: API, Indexer

MARKET_MOBULA_API_KEY Mobula API key. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_MOBULA_COIN_ID Set Mobula coin ID. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_MOBULA_SECONDARY_COIN_ID Set Mobula coin ID for secondary coin. Implemented in #11844.

Version: v8.0.0+
Default: (empty)
Applications: API, Indexer

MARKET_COIN_FETCHER_ENABLED If false disables fetching of realtime native coin price. Implemented in #11844.

Version: v8.0.0+
Default: true
Applications: API

MARKET_COIN_CACHE_PERIOD Cache period for coin exchange rates. Implemented in #11844.

Version: v8.0.0+
Default: 10m
Applications: API

MARKET_TOKENS_FETCHER_ENABLED If false disables fetching of token prices. Implemented in #11844.

Version: v8.0.0+
Default: true
Applications: Indexer

MARKET_TOKENS_INTERVAL 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 #11844.

Version: v8.0.0+
Default: 10s
Applications: Indexer

MARKET_TOKENS_REFETCH_INTERVAL Interval between refetching token prices, responsible for the relevance of prices. Time format. Implemented in #11844.

Version: v8.0.0+
Default: 1h
Applications: Indexer

MARKET_TOKENS_MAX_BATCH_SIZE Batch size of a single token price request. Implemented in #11844.

Version: v8.0.0+
Default: 500
Applications: Indexer

MARKET_HISTORY_FETCHER_ENABLED If false disables fetching of marked data history. Implemented in #11844.

Version: v8.0.0+
Default: true
Applications: Indexer

MARKET_HISTORY_FETCH_INTERVAL Interval to update data for the last day in the market history table. Introduced in #9197.

Version: v6.1.0+
Default: 1h
Applications: API, Indexer

MARKET_HISTORY_FIRST_FETCH_DAY_COUNT Initial number of days to fetch for market history. Implemented in #11844.

Version: v8.0.0+
Default: 365
Applications: Indexer

Cache Management

{% hint style="info" %} See the Time format section for more information on variable formatting. {% endhint %}

Variable Description Parameters
CACHE_TXS_COUNT_PERIOD Time interval to restart the task that calculates the total txs count. Starting from release v6.8.0+, if the value is not set, ttl value gradually increases until the default value with growth of the block numbers.

Version: v4.1.3+
Default: 2h
Applications: API, Indexer

CACHE_ADDRESS_COUNT_PERIOD Interval for restarting the task that calculates the total number of addresses.

Version: v8.0.0+
Default: 30m
Applications: API, Indexer

CACHE_ADDRESS_SUM_PERIOD Time to live of addresses sum (except burn address) cache. Time format. Starting from release v6.8.0+, if the value is not set, ttl value gradually increases until the default value with growth of the block numbers. Introduced in #2862.

Version: v4.1.3+
Default: 1h
Applications: API, Indexer

CACHE_TOTAL_GAS_USAGE_PERIOD Interval to restart the task which calculates the total gas usage. Starting from release v6.8.0+, if the value is not set, ttl value gradually increases until the default value with growth of the block numbers.

Version: v4.1.3+
Default: 2h
Applications: API, Indexer

CACHE_PBO_COUNT_PERIOD Time interval to restart the task which calculates the total pending_block_operations count.

Version: v5.2.0+
Default: 20m
Applications: API, Indexer

CACHE_ADDRESS_TRANSACTIONS_GAS_USAGE_COUNTER_PERIOD Interval to restart the task which calculates gas usage at the address.

Version: v4.1.3+
Default: 30m
Applications: API, Indexer

CACHE_TOKEN_HOLDERS_COUNTER_PERIOD Interval to restart the task which calculates holders count of the token.

Version: v4.1.3+
Default: 1h
Applications: API, Indexer

CACHE_TOKEN_TRANSFERS_COUNTER_PERIOD Interval to restart the task which calculates transfers count of the token.

Version: v4.1.3+
Default: 1h
Applications: API, Indexer

TOKEN_METADATA_UPDATE_INTERVAL Interval to restart the task which updates token metadata.

Version: v2.0.1+
Default: 48h
Applications: API, Indexer

CACHE_AVERAGE_BLOCK_PERIOD Time to initiate first calculation and caching of average block period after start/re-start of the application.

Version: v4.1.3+
Default: 30m
Applications: API, Indexer

CACHE_MARKET_HISTORY_PERIOD Update of market history cache.

Version: v4.1.3+
Default: 6h
Applications: API, Indexer

CACHE_ADDRESS_TRANSACTIONS_COUNTER_PERIOD Time to live of address' transaction counter. Time format. Introduced in #3330.

Version: v3.4.0+
Default: 1h
Applications: API, Indexer

CACHE_ADDRESS_TOKENS_USD_SUM_PERIOD Managing of cache invalidation period for the sum of USD value of tokens per tokens' holder address.

Version: v3.5.0+
Default: 1h
Applications: API, Indexer

TOKEN_BALANCE_ON_DEMAND_FETCHER_THRESHOLD A threshold to invalidate token balance cache.

Version: v5.1.2+
Default: 1h
Applications: API, Indexer

COIN_BALANCE_ON_DEMAND_FETCHER_THRESHOLD A threshold to invalidate coin balance cache.

Version: v5.1.2+
Default: 1h
Applications: API, Indexer

CONTRACT_CODE_ON_DEMAND_FETCHER_THRESHOLD An initial threshold (for exponential backoff) to fetch smart-contract bytecode on-demand. Implemented in #9708.

Version: v6.4.0+
Default: 5s
Applications: API, Indexer

CACHE_ADDRESS_TOKEN_TRANSFERS_COUNTER_PERIOD Interval to restart the task, which calculates the number of token transfers at the address. Implemented in #4699.

Version: v4.0.0+
Default: 1h
Applications: API, Indexer

CACHE_BLOCK_COUNT_PERIOD Time to live of blocks with consensus count cache. Starting from release v6.8.0+, if the value is not set, ttl value gradually increases until the default value with growth of the block numbers. Introduced in #1876.

Version: v4.1.3+
Default: 2h
Applications: API, Indexer

CACHE_TOTAL_GAS_USAGE_COUNTER_ENABLED if true, enables cache for total gas usage counter.

Version: v5.1.3+
Default: false
Applications: API, Indexer

CACHE_TRANSACTIONS_24H_STATS_PERIOD Interval to update data for the last 24 hours transactions stats. Introduced in #9483.

Version: v6.3.0+
Default: 1h
Applications: API, Indexer

CACHE_FRESH_PENDING_TRANSACTIONS_COUNTER_PERIOD Interval to update count of pending transactions that appeared less than half an hour ago. Introduced in #9483.

Version: v6.3.0+
Default: 5m
Applications: API, Indexer

CACHE_OPTIMISM_LAST_OUTPUT_ROOT_SIZE_COUNTER_PERIOD Interval to update data for the last output root size counter. Introduced in #9532.

Version: v6.3.0+
Default: 5m
Applications: API, Indexer

Gas Price Oracle

Variable Description Parameters
GAS_PRICE_ORACLE_NUM_OF_BLOCKS Gas price oracle: number of blocks to calculate average gas price from

Version: v4.1.4+
Default: 200
Applications: API, Indexer

GAS_PRICE_ORACLE_SAFELOW_PERCENTILE Gas price oracle: safelow percentile

Version: v4.1.4+
Default: 35
Applications: API, Indexer

GAS_PRICE_ORACLE_AVERAGE_PERCENTILE Gas price oracle: average percentile

Version: v4.1.4+
Default: 60
Applications: API, Indexer

GAS_PRICE_ORACLE_FAST_PERCENTILE Gas price oracle: fast percentile

Version: v4.1.4+
Default: 90
Applications: API, Indexer

GAS_PRICE_ORACLE_CACHE_PERIOD Gas price oracle: period of gas prices update.

Version: v4.1.4+
Default: 30s
Applications: API, Indexer

GAS_PRICE_ORACLE_SIMPLE_TRANSACTION_GAS Gas price oracle: amount of gas for a simple coin transfer. Introduced in #9044.

Version: v6.0.0+
Default: 21000
Applications: API, Indexer

GAS_PRICE_ORACLE_SAFELOW_TIME_COEFFICIENT Average block time multiplied by this coefficient for safelow gas price when time from pending transactions is not available. Floats may be used. Introduced in #9582.

Version: v6.3.0+
Default: 5
Applications: API, Indexer

GAS_PRICE_ORACLE_AVERAGE_TIME_COEFFICIENT Average block time multiplied by this coefficient for average gas price when time from pending transactions is not available. Floats may be used. Introduced in #9582.

Version: v6.3.0+
Default: 3
Applications: API, Indexer

GAS_PRICE_ORACLE_FAST_TIME_COEFFICIENT Average block time multiplied by this coefficient for fast gas price when time from pending transactions is not available. Floats may be used. Introduced in #9582.

Version: v6.3.0+
Default: 1
Applications: API, Indexer

Main Page Dashboard

Variable Description Parameters
GAS_PRICE Gas price in Gwei. If the variable is present, gas price displays on the main page.

Version: v3.3.2+
Default: (empty)
Applications: API

TXS_STATS_ENABLED Disables or enables txs per day stats gathering.

Version: v5.1.3+
Default: true
Applications: API

SHOW_PRICE_CHART Disables or enables price and market cap of coin charts on the main page.

Version: v3.1.2+
Default: false
Applications: API

SHOW_PRICE_CHART_LEGEND Showa price and market cap values under the chart even if price chart is not enabled via SHOW_PRICE_CHART env variable.

Version: v5.1.4+
Default: false
Applications: API

SHOW_TXS_CHART Disables or enables txs count per day chart on the main page.

Version: v3.1.2+
Default: true
Applications: API

TXS_HISTORIAN_INIT_LAG The initial delay in txs count history fetching in order to display txs count per day history chart on the main page. Time format.

Version: v3.1.2+
Default: 0
Applications: API

TXS_STATS_DAYS_TO_COMPILE_AT_INIT Number of days for fetching of history of txs count per day in order to display it in txs count per day history chart on the main page.

Version: v3.1.2+
Default: 40
Applications: API

Header and Footer

Header

Variable Description Parameters
LOGO Environment variable for the header logo image location. The logo files names for different chains can be found here.

Version: all
Default: /images/blockscout_logo.svg
Applications: API

SHOW_TESTNET_LABEL Enables testnet label right after logo in the navigation panel. Implemented in #5732

Version: v4.1.6+
Default: (empty)
Applications: API

TESTNET_LABEL_TEXT The text inside the test label. Implemented in #5732

Version: v4.1.6+
Default: Testnet
Applications: API

SUPPORTED_CHAINS An array of supported chains displayed in the chains dropdown. This var was introduced in this PR #1900 and looks like an array of JSON objects.

Version: v2.0.0+
Default: [ { title: POA", url: "https://blockscout.com/poa/core" }, { title: "Sokol", url: "https://blockscout.com/poa/sokol", test_net?: true }, { title: "Gnosis Chain", url: "https://gnosis.blockscout.com/" }, { title: "Ethereum Classic", url: "https://etc.blockscout.com", other?: true }, { title: "RSK", url: "https://rootstock.blockscout.com", other?: true } ]
Applications: API

APPS_MENU true/false. If true, the Apps navigation menu item appears.

Version: v3.3.1+
Default: false
Applications: API

APPS An array of embedded/external apps to display in Apps menu item. This var was introduced in this PR #3184 and looks like an array of JSON objects. An example of an embedded link is described here #

Version: v5.0.0+
Default: (empty)
Applications: API

Footer

Variable Description Parameters
FOOTER_LOGO Environment variable for the footer logo image location. The logo files names for different chains can be found here.

Version: all
Default: /images/blockscout_logo.svg
Applications: API

RELEASE_LINK The link to Blockscout release notes in the footer.

Version: v1.3.5+
Default: https: //github.com/poanetwork/ blockscout/releases/ tag/${BLOCKSCOUT_VERSION}
Applications: API

BLOCKSCOUT_VERSION Added to the footer to signify the current BlockScout version.

Version: v1.3.4+
Default: (empty)
Applications: API

FOOTER_CHAT_LINK Link to Chat menu item in the footer. Implemented in #5719.

Version: v4.1.6+
Default: https://discord.gg/3CtNAqVMRV
Applications: API

FOOTER_FORUM_LINK_ENABLED Enable forum menu item in the footer.

Version: v5.1.3+
Default: false
Applications: API

FOOTER_FORUM_LINK Link in Forum menu item in the footer. Implemented in #5719

Version: v4.1.6+
Default: https://forum.poa.network/c/blockscout
Applications: API

FOOTER_TELEGRAM_LINK_ENABLED Enable Telegram menu item in the footer. Implemented in #7345.

Version: v5.1.4+
Default: false
Applications: API

FOOTER_TELEGRAM_LINK Link in Telegram menu item in the footer. Implemented in #7345.

Version: v5.1.4+
Default: (empty)
Applications: API

FOOTER_GITHUB_LINK Github repository. Implemented in #5719.

Version: v4.1.6+
Default: https://github.com/blockscout/blockscout
Applications: API

FOOTER_LINK_TO_OTHER_EXPLORERS true/false. If true, links to other explorers are added in the footer.

Version: v5.1.3+
Default: (empty)
Applications: API

FOOTER_OTHER_EXPLORERS The list of alternative explorers.

Version: v5.1.3+
Default: (empty)
Applications: API

Contract Management

Variable Description Parameters
CONTRACT_VERIFICATION_ALLOWED_SOLIDITY_EVM_VERSIONS Comma-separated list of allowed EVM versions for Solidity contract verification. This var was introduced in #1964, updated in #7614.

Version: v5.2.0+
Default: homestead,tangerineWhistle,spuriousDragon,byzantium,constantinople,petersburg,istanbul,berlin,london,paris,shanghai,cancun,prague,default
Applications: API

CONTRACT_VERIFICATION_ALLOWED_VYPER_EVM_VERSIONS Comma-separated list of allowed EVM versions for Vyper contract verification. This var was introduced in #7614.

Version: v5.2.0+
Default: byzantium,constantinople,petersburg,istanbul,berlin,paris,shanghai,default
Applications: API

CONTRACT_VERIFICATION_MAX_LIBRARIES Max amount of libraries to consider in smart-contract verification from flat/multi-part file(s). Implemented in #6204.

Version: v5.0.0+
Default: (empty)
Applications: API

CONTRACT_MAX_STRING_LENGTH_WITHOUT_TRIMMING Hide long contract method data. For more details: #4667

Version: v4.0.0+
Default: 2040
Applications: API

CONTRACT_DISABLE_INTERACTION If true, contract interactions via "Write contract" or "Write proxy contract" tabs are disabled. Introduced in #7088."

Version: v5.1.2+
Default: (empty)
Applications: API

CONTRACT_PROXY_IMPLEMENTATION_TTL_VIA_AVG_BLOCK_TIME If false, proxy contract implementation will be re-fetched immediately once someone opens proxy page bypassing average block time calculation. Implemented in #9155.

Version: v6.1.0+
Default: true
Applications: API

CONTRACT_AUDIT_REPORTS_AIRTABLE_URL URL of Airtable to store audit reports from users. Implemented in #9120

Version: v6.1.0+
Default: (empty)
Applications: API

CONTRACT_AUDIT_REPORTS_AIRTABLE_API_KEY Access token for CONTRACT_AUDIT_REPORTS_AIRTABLE_URL. Implemented in #9120

Version: v6.1.0+
Default: (empty)
Applications: API

CONTRACT_CERTIFIED_LIST Comma-separated list of smart-contract address hashes, to which "certified" flag should be applied. Implemented in #9910"

Version: v6.5.0+
Default: (empty)
Applications: API

WHITELISTED_WETH_CONTRACTS Comma-separated list of smart-contract address hashes of WETH-like tokens which deposit and withdrawal events you'd like to index. Implemented in #10134

Version: v6.8.0+
Default: (empty)
Applications: API, Indexer

WETH_TOKEN_TRANSFERS_FILTERING_ENABLED Toggle for WETH token transfers filtering which was introduced in #10134. Implemented in #10208

Version: v6.1.0+
Default: false
Applications: API, Indexer

CONTRACT_ENABLE_PARTIAL_REVERIFICATION Toggle for enabling re-verification from partial to partial match. Implemented in #11737

Version: v7.0.0+
Default: false
Applications: API

Bridged Tokens

Variable Description Parameters
BRIDGED_TOKENS_ENABLED Variable to enable bridged tokens functionality. Introduced in #9169

Needs Recompile: ☑️
Version: v6.1.0+
Default: (empty)
Applications: API, Indexer

BRIDGED_TOKENS_ETH_OMNI_BRIDGE_MEDIATOR OMNI bridge mediator for ETH tokens. Introduced in #9169

Version: v6.1.0+
Default: (empty)
Applications: API, Indexer

BRIDGED_TOKENS_BSC_OMNI_BRIDGE_MEDIATOR OMNI bridge mediator for BSC tokens. Introduced in #9169

Version: v6.1.0+
Default: (empty)
Applications: API, Indexer

BRIDGED_TOKENS_POA_OMNI_BRIDGE_MEDIATOR OMNI bridge mediator for POA tokens. Introduced in #9169

Version: v6.1.0+
Default: (empty)
Applications: API, Indexer

BRIDGED_TOKENS_AMB_BRIDGE_MEDIATORS AMB bridge mediator. Introduced in #9169

Version: v6.1.0+
Default: (empty)
Applications: API, Indexer

BRIDGED_TOKENS_FOREIGN_JSON_RPC Ethereum mainnet JSON RPC. Introduced in #9169

Version: v6.1.0+
Default: (empty)
Applications: API, Indexer

Miscellaneous UI

Variable Description Parameters
SHOW_ADDRESS_MARKETCAP_PERCENTAGE Configures market cap percentage column on the top accounts page.

Version: v2.1.1+
Default: true
Applications: API

SHOW_MAINTENANCE_ALERT Disables/enables announcement at the top of the explorer.

Version: v3.6.0+
Default: false
Applications: API

MAINTENANCE_ALERT_MESSAGE Message text of the announcement at the top of the explorer.

Version: v3.6.0+
Default: (empty)
Applications: API

HIDE_BLOCK_MINER Hides miner/validator/sequencer on block page and tiles if the value is true. Implemented in #4611

Version: v4.0.0+
Default: (empty)
Applications: API

HIDE_SCAM_ADDRESSES Hides address of EOA/smart-contract/token from search results if the value is true and "scam" badge is assigned to that address. Implemented in #10763

Version: v6.9.0+
Default: (empty)
Applications: API

DISPLAY_TOKEN_ICONS Displays token icons from Trust Wallet assets repository if true. Implemented in #4596

Version: v4.0.0+
Default: (empty)
Applications: API

UNCLES_IN_AVERAGE_BLOCK_TIME Include or exclude non-consensus blocks in avg block time calculation. Exclude if false.

Version: v2.0.1+
Default: false
Applications: API

COIN_BALANCE_HISTORY_DAYS Number of days to consider for coin balance history chart.

Version: v3.1.3+
Default: 10
Applications: API

ADMIN_PANEL_ENABLED if true admin/* routes are available. Implemented in #5208. NOTE: Only Available for Hosted Clients.

Needs Recompile: ☑️
Version: v4.1.2+
Default: (empty)
Applications: API

DISABLE_ADD_TO_MM_BUTTON If true, "Add chain to MM" button doesn't appear. Implemented in #6843"

Version: v5.1.0+
Default: (empty)
Applications: API

PERMANENT_DARK_MODE_ENABLED If true, permanent dark mode is enabled. Dark mode switcher is hidden in this case. Implemented in #6763

Version: v5.1.0+
Default: (empty)
Applications: API

PERMANENT_LIGHT_MODE_ENABLED If true, permanent light mode is enabled. Dark mode switcher is hidden. Implemented in #6838

Version: v5.1.0+
Default: (empty)
Applications: API

CSV Export

Variable Description Parameters
CSV_EXPORT_LIMIT Changes max number of rows in CSV export. Implemented in #10497

Version: v6.8.0+
Default: 10000
Applications: API

reCAPTCHA

{% hint style="info" %} Use Invisible reCAPTCHA v2 for the latest versions. If using a previous version only choose v2 or v3, do not use both (we recommend v2). reCAPTCHA v3 support may be discontinued in future updates. More info on reCAPTCHA settings available here. {% endhint %}

Variable Description Parameters
RE_CAPTCHA_SECRET_KEY Google reCAPTCHA v2 secret key. Used by advanced CSV export. Implemented in #4747

Version: v4.0.0+
Default: (empty)
Applications: API

RE_CAPTCHA_CLIENT_KEY Google reCAPTCHA v2 client key. Used by advanced CSV export in the embedded old UI. You don't need to set it for the new UI. Implemented in #4747

Version: v4.0.0+
Default: (empty)
Applications: API

RE_CAPTCHA_V3_SECRET_KEY Only compatible with frontend version v1.36.x. For later versions, use Invisible reCAPTCHA v2. Google reCAPTCHA v3 secret key. Used by advanced CSV export. Implemented in #7273

Version: v5.1.4+
Default: (empty)
Applications: API

RE_CAPTCHA_V3_CLIENT_KEY Only compatible with frontend version v1.36.x. For later versions, use Invisible reCAPTCHA v2. Google reCAPTCHA v3 client key. Used by advanced CSV export. Implemented in #7273

Version: v5.1.4+
Default: (empty)
Applications: API

RE_CAPTCHA_DISABLED Disable reCAPTCHA. Implemented in #7416

Version: v5.1.5+
Default: false
Applications: API

RE_CAPTCHA_CHECK_HOSTNAME Disable reCAPTCHA hostname check. More details on reCaptcha docs. Implemented in #10706

Version: v6.9.0+
Default: true
Applications: API

RE_CAPTCHA_SCORE_THRESHOLD Changes reCAPTCHA score threshold. Implemented in #11182

Version: v6.9.1+
Default: 0.5
Applications: API

RE_CAPTCHA_BYPASS_TOKEN Bypass token that allows to skip reCAPTCHA check. Implemented in #11682

Version: v6.10.2+
Default: (empty)
Applications: API

RE_CAPTCHA_TOKEN_INSTANCE_REFETCH_METADATA_SCOPED_BYPASS_TOKEN API key that allows to skip reCAPTCHA check for requests to /api/v2/tokens/{token_hash}/instances/{token_id}/refetch-metadata endpoint. Implemented in #12147

Version: v8.0.0+
Default: (empty)
Applications: API

API Rate Limits

Variable Description Parameters
API_RATE_LIMIT A global API rate limit: number or requests per second for all users. Implemented in #5030

Version: v4.1.1+
Default: 10 req/sec
Applications: API

API_RATE_LIMIT_BY_KEY A dedicated API rate limit per key for every type of API key (static or generated from Account module). Implemented in #5080

Version: v4.1.1+
Default: 10 req/sec
Applications: API

API_RATE_LIMIT_WHITELISTED_IPS Comma-separated whitelisted IPs list with dedicated rate limit. Implemented in #5090

Version: v4.1.1+
Default: (empty)
Applications: API

API_RATE_LIMIT_STATIC_API_KEY Static API key with dedicated API rate limit. Implemented in #5080

Version: v4.1.1+
Default: (empty)
Applications: API

API_NO_RATE_LIMIT_API_KEY API key with no rate limit. Implemented in #10515

Version: v6.8.0+
Default: (empty)
Applications: API

API_RATE_LIMIT_DISABLED If true, any type of rate limit is ignored. Implemented in #6908

Version: v5.1.0+
Default: (empty)
Applications: API

API_RATE_LIMIT_IS_BLOCKSCOUT_BEHIND_PROXY If true, then IP address of a client will be derived from proxy's headers (like X-Forwarded-For) using RemoteIp library. Implemented in #7148

Version: v5.1.3+
Default: false
Applications: API

API_RATE_LIMIT_BY_WHITELISTED_IP A dedicated API rate limit for whitelisted IPs. Implemented in #5090

Version: v5.1.3+
Default: 50 req/sec
Applications: API

API_RATE_LIMIT_BY_IP Global rate limit for an IP address for API v2 requests sent from UI. #7148

Version: v5.1.3+
Default: 3000
Applications: API

API_RATE_LIMIT_HAMMER_REDIS_URL Redis DB URL for Hammer rate limit library. Implemented in #7148

Version: v5.1.3+
Default: (empty)
Applications: API

API_RATE_LIMIT_UI_V2_WITH_TOKEN Rate limit after submitting correct CAPTCHA. Implemented in #7148

Version: v5.1.3+
Default: 5
Applications: API

API_RATE_LIMIT_BY_IP_TIME_INTERVAL Time interval of rate limit set by API_RATE_LIMIT_BY_IP. Implemented in #7148

Version: v5.1.3+
Default: 5m
Applications: API

API_RATE_LIMIT_UI_V2_TOKEN_TTL_IN_SECONDS TTL for token issued after submitting correct CAPTCHA for an API v2 requests from UI. In seconds. Implemented in #7148

Version: v5.1.3+
Default: 1800
Applications: API

ETH_JSON_RPC_MAX_BATCH_SIZE Max batch size for Eth JSON RPC requests. Implemented in #9409

Version: v6.3.0+
Default: 5
Applications: API

API_RATE_LIMIT_CONFIG_URL URL to fetch API rate limit configuration from external source. Implemented in #12386

Version: v9.0.0+
Default: (empty)
Applications: API

API_RATE_LIMIT_BY_KEY_TIME_INTERVAL Time interval for API rate limit by key. Time format. Implemented in #12386

Version: v9.0.0+
Default: 1s
Applications: API

API_RATE_LIMIT_BY_WHITELISTED_IP_TIME_INTERVAL Time interval for API rate limit by whitelisted IP. Time format. Implemented in #12386

Version: v9.0.0+
Default: 1s
Applications: API

API_RATE_LIMIT_UI_V2_WITH_TOKEN_TIME_INTERVAL Time interval for API rate limit for UI v2 with token. Time format. Implemented in #12386

Version: v9.0.0+
Default: 1s
Applications: API

API_RATE_LIMIT_BY_ACCOUNT_API_KEY_TIME_INTERVAL Time interval for API rate limit by account API key. Time format. Implemented in #12386

Version: v9.0.0+
Default: 1s
Applications: API

General application rate Limits

Variable Description Parameters
RATE_LIMITER_REDIS_URL Redis DB URL for rate limiter. Implemented in #12218

Version: v8.0.0+
Default: (empty)
Applications: API

RATE_LIMITER_ON_DEMAND_TIME_INTERVAL Time interval of rate limit for on-demand fetchers. Implemented in #12218

Version: v8.0.0+
Default: 5s
Applications: API

RATE_LIMITER_ON_DEMAND_LIMIT_BY_IP Rate limit for an IP address for on-demand fetcher call. Implemented in #12218

Version: v8.0.0+
Default: 100
Applications: API

RATE_LIMITER_ON_DEMAND_EXPONENTIAL_TIMEOUT_COEFF Coefficient to calculate exponential timeout for on-demand rate limit. Implemented in #12218

Version: v8.0.0+
Default: 100
Applications: API

RATE_LIMITER_ON_DEMAND_MAX_BAN_INTERVAL Max time an IP address can be banned from on-demand fetcher calls. Implemented in #12218

Version: v8.0.0+
Default: 1h
Applications: API

RATE_LIMITER_ON_DEMAND_LIMITATION_PERIOD Time after which the number of bans for the IP address will be reset. Implemented in #12218

Version: v8.0.0+
Default: 1h
Applications: API

GraphQL API

Variable Description Parameters
API_GRAPHQL_ENABLED Enabling/disabling of GraphQL API. Implemented in #9751

Version: v6.4.0+
Default: true
Applications: API

API_GRAPHQL_MAX_COMPLEXITY Limits the cost of GraphQL API queries. For more details, see the max_complexity documentation. Implemented in #9751, updated in #11843

Needs Recompile: ☑️
Version: v6.4.0+
Default: 100
Applications: API

API_GRAPHQL_TOKEN_LIMIT Query token_limit of Absinthe. Implemented in #9751

Needs Recompile: ☑️
Version: v6.4.0+
Default: 1000
Applications: API

API_GRAPHQL_DEFAULT_TRANSACTION_HASH Default transaction hash in a sample query to GraphiQL. Implemented in #9751.

Needs Recompile: ☑️
Version: v6.4.0+
Default: 0x69e3923eef50eada197c3336d546936d0c994211492c9f947a24c02827568f9f
Applications: API

API_GRAPHQL_RATE_LIMIT A global GraphQL API rate limit: number or requests per second for all users. Implemented in #9771

Version: v6.4.0+
Default: 10 req/sec
Applications: API

API_GRAPHQL_RATE_LIMIT_BY_KEY A dedicated GraphQL API rate limit per static key. If this limit is less than stated in API plan, then API_GRAPHQL_RATE_LIMIT_BY_KEY used for key generated from Account module. Implemented in #9771

Version: v6.4.0+
Default: 5 req/sec
Applications: API

API_GRAPHQL_RATE_LIMIT_STATIC_API_KEY Static GraphQL API key with dedicated GraphQL API rate limit. Implemented in #9771

Version: v6.4.0+
Default: (empty)
Applications: API

API_GRAPHQL_RATE_LIMIT_DISABLED If true, any type of rate limit is ignored. Implemented in #9771

Version: v6.4.0+
Default: (empty)
Applications: API

API_GRAPHQL_RATE_LIMIT_BY_IP Global rate limit for an IP address for GraphQL API requests. #9771

Version: v6.4.0+
Default: 500
Applications: API

API_GRAPHQL_RATE_LIMIT_TIME_INTERVAL Time interval of rate limit. Time format. Implemented in #9771

Version: v6.4.0+
Default: 1s
Applications: API

API_GRAPHQL_RATE_LIMIT_BY_IP_TIME_INTERVAL Time interval of rate limit set by API_GRAPHQL_RATE_LIMIT_BY_IP. Time format. Implemented in #9771

Version: v6.4.0+
Default: 5m
Applications: API

Account Related

Variable Description Parameters
ACCOUNT_ENABLED Turn on/off account functionality. If value istrue, account functionality is enabled.

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_DATABASE_URL Account DB connection string

Version: v5.0.0+
Default: value from DATABASE_URL
Applications: API

ACCOUNT_REDIS_URL Account Redis connection string (for session storing configuration)

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_POOL_SIZE Account DB pool_size

Version: v5.0.0+
Default: 50
Applications: API

ACCOUNT_AUTH0_DOMAIN Domain for Ueberauth Auth0

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_AUTH0_CLIENT_ID Auth0 client ID Ueberauth Auth0

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_AUTH0_CLIENT_SECRET Auth0 client secret Ueberauth Auth0

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_AUTH0_APPLICATION_ID Specifies the identifier for the application within Auth0. It's used to namespace user metadata in migrated Auth0 tenants. Implemented in #12109.

Version: v8.0.0+
Default: (empty)
Applications: API

ACCOUNT_PUBLIC_TAGS_AIRTABLE_URL Airtable URL for public tag requests functionality

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_PUBLIC_TAGS_AIRTABLE_API_KEY Airtable API key for public tag requests functionality

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_SENDGRID_API_KEY Sendgrid API key for watchlist notifications functionality

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_SENDGRID_SENDER Sendgrid sender email for watchlist notifications functionality

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_SENDGRID_TEMPLATE Sendgrid email template for watchlist notifications functionality

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_CLOAK_KEY Account DB encryption key. Instruction how to generate

Version: v5.0.0+
Default: (empty)
Applications: API

ACCOUNT_VERIFICATION_EMAIL_RESEND_INTERVAL Time before resending confirmation email. Implemented in #7298.

Version: v5.1.5+
Default: 5m
Applications: API

ACCOUNT_PRIVATE_TAGS_LIMIT Limit for address & transaction tags. Implemented in #8528.

Version: v5.3.1+
Default: 2000
Applications: API

ACCOUNT_WATCHLIST_ADDRESSES_LIMIT Limit for watch list addresses. Implemented in #8528.

Version: v5.3.1+
Default: 15
Applications: API

ACCOUNT_WATCHLIST_NOTIFICATIONS_LIMIT_FOR_30_DAYS Per account limit for watch list notifications sent for the last 30 days. Implemented in #8966.

Version: v5.3.3+
Default: 1000
Applications: API

ACCOUNT_OTP_RESEND_INTERVAL Time before resending otp email. Implemented in #10706.

Version: v6.9.0+
Default: 1m
Applications: API

ACCOUNT_SIWE_MESSAGE Message for Sign In With Ethereum authentication. Implemented in #11178.

Version: v6.9.1+
Default: Sign in to Blockscout Account V2
Applications: API

Specific Smart Contracts

Variable Description Parameters
METADATA_CONTRACT Used by POA Network to obtain Validators information to display in the UI.

Version: all
Default: (empty)
Applications: API, Indexer

VALIDATORS_CONTRACT Used by POA Network to obtain the list of current validators.

Version: all
Default: (empty)
Applications: API, Indexer

KEYS_MANAGER_CONTRACT Used by POA Network to set KeysManager proxy contract in order to obtain payout key by mining key. This needs to identify distributed reward to the validator.

Version: v3.1.2+
Default: (empty)
Applications: API, Indexer

REWARDS_CONTRACT Emission rewards contract address. This env var is used only if EMISSION_FORMAT is set to POA

Version: v2.0.4+
Default: 0xeca443e8e1ab29971a45a9c57a6a9875701698a5
Applications: API, Indexer

TOKEN_BRIDGE_CONTRACT Token bridge proxy contract. For `TokenBridge` supply module.

Version: v1.3.2+
Default: 0x7301CFA0e1756B71869E93d4e4Dca5c7d0eb0AA6
Applications: API, Indexer

CDN

This feature was implemented in #10675

Variable Description Parameters
NFT_MEDIA_HANDLER_AWS_ACCESS_KEY_ID S3 API Access Key ID

Version: v6.10.0+
Default: (empty)
Applications: NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_AWS_SECRET_ACCESS_KEY S3 API Secret Access Key

Version: v6.10.0+
Default: (empty)
Applications: NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_AWS_BUCKET_HOST S3 API URL

Version: v6.10.0+
Default: (empty)
Applications: NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_AWS_BUCKET_NAME S3 bucket name

Version: v6.10.0+
Default: (empty)
Applications: NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_AWS_PUBLIC_BUCKET_URL Public S3 bucket URL

Version: v6.10.0+
Default: (empty)
Applications: API

NFT_MEDIA_HANDLER_ENABLED if true, CDN feature enabled

Version: v6.10.0+
Default: false
Applications: Indexer, NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_REMOTE_DISPATCHER_NODE_MODE_ENABLED if true, nft media handler is supposed to run separately.

Version: v6.10.0+
Default: false
Applications: Indexer, NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_IS_WORKER if true, and NFT_MEDIA_HANDLER_REMOTE_DISPATCHER_NODE_MODE_ENABLED=true will be started only nft_media_handler app

Version: v6.10.0+
Default: false
Applications: Indexer, NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_NODES_MAP String in json map format, where key is erlang node and value is folder in R2/S3 bucket, example: "{\"producer@172.18.0.4\": \"/folder_1\"}". If nft_media_handler runs in one pod with indexer, map should contain self key

Version: v6.10.0+
Default: (empty)
Applications: NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_WORKER_CONCURRENCY Concurrency of media handling (resizing/uploading)

Version: v6.10.0+
Default: 10
Applications: NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_WORKER_BATCH_SIZE Number of url processed by one async task

Version: v6.10.0+
Default: 10
Applications: NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_WORKER_SPAWN_TASKS_TIMEOUT Timeout before spawn new task

Version: v6.10.0+
Default: 100ms
Applications: NFT_MEDIA_HANDLER

NFT_MEDIA_HANDLER_BACKFILL_ENABLED If true, unprocessed token instances from DB are processed via nft_media_handler

Version: v6.10.0+
Default: false
Applications: Indexer

NFT_MEDIA_HANDLER_BACKFILL_QUEUE_SIZE Max size of backfill queue

Version: v6.10.0+
Default: 1000
Applications: Indexer

NFT_MEDIA_HANDLER_BACKFILL_ENQUEUE_BUSY_WAITING_TIMEOUT Timeout before new attempt to append item to backfill queue if it's full

Version: v6.10.0+
Default: 1s
Applications: Indexer

NFT_MEDIA_HANDLER_CACHE_UNIQUENESS_MAX_SIZE Max size of cache, where stored already uploaded token instances media

Version: v6.10.0+
Default: 100_000
Applications: Indexer

Addresses Blacklist management

Section created as a result of #11417

Variable Description Parameters
ADDRESSES_BLACKLIST A comma-separated list of addresses to enable restricted access to them.

Version: v6.10.0+
Default: (empty)
Applications: API

ADDRESSES_BLACKLIST_KEY A key to access blacklisted addresses (either by ADDRESSES_BLACKLIST or by blacklist provider). Can be passed via query param to the page's URL: ?key=...

Version: v6.10.0+
Default: (empty)
Applications: API

ADDRESSES_BLACKLIST_PROVIDER Blacklist provider type, available options: blockaid

Version: v6.10.0+
Default: blockaid
Applications: API

ADDRESSES_BLACKLIST_URL URL to fetch blacklist from

Version: v6.10.0+
Default: (empty)
Applications: API

ADDRESSES_BLACKLIST_UPDATE_INTERVAL Interval between scheduled updates of blacklist

Version: v6.10.0+
Default: 15m
Applications: API

ADDRESSES_BLACKLIST_RETRY_INTERVAL Time to wait before new attempt of blacklist fetching, after abnormal termination of fetching task

Version: v6.10.0+
Default: 5s
Applications: API