Links

ENV Variables

Additional information related to certain variables is available on the ansible deployment page.
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:
$ export ETHEREUM_JSONRPC_VARIANT=nethermind
$ export COIN=POA
$ export NETWORK=POA

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.
Gnosis-Chain-Variables.txt
6KB
Binary

Full ENV Variables CSV file

Last updated 13 June, 2022.
blockscout-env-June-22.csv
20KB
Binary

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
DATABASE_URL
Variable to define the Postgres Database endpoint.
(empty)
all
ETHEREUM_JSONRPC_VARIANT
Tells the application which RPC Client the node is using (i.e. erigon, geth, nethermind, besu, or ganache) (See Client Settings for more info)
ganache
all
ETHEREUM_JSONRPC_HTTP_URL
The RPC endpoint used to fetch blocks, transactions, receipts, tokens.
localhost:8545
all
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.
localhost:8545
all
ETHEREUM_JSONRPC_WS_URL
The WebSockets RPC endpoint used to subscribe to the newHeads subscription alerting the indexer to fetch new blocks.
ws://localhost:8546
all
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.
http
v3.1.0+
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)[https://github.com/blockscout/blockscout/pull/6573]
(empty)
v5.0.0+
ETHEREUM_JSONRPC_USER
User in basic auth for JSON RPC endpoint. Implemented in (#6897)[https://github.com/blockscout/blockscout/pull/6897]
(empty)
master
ETHEREUM_JSONRPC_PASSWORD
Password in basic auth for JSON RPC endpoint. Implemented in (#6897)[https://github.com/blockscout/blockscout/pull/6897]
(empty)
master
NETWORK
Environment variable for the main EVM network such as Ethereum or POA.
POA
all
SUBNETWORK
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
IPC_PATH
Path to the IPC file of the running node if IPC transport is chosen.
(empty)
v2.1.1+
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.
/
all
BLOCKSCOUT_HOST
Host for API endpoint examples.
localhost
v2.1.0+
BLOCKSCOUT_PROTOCOL
Url scheme for blockscout.
in prod env https is used, in dev env http is used
v2.1.0+
SECRET_KEY_BASE
Use mix phx.gen.secret to generate a new Secret Key Base string to protect production assets.
(empty)
all
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.
false
all
PORT
Default port the application runs on is 4000.
4000
all
COIN
The coin here is checked via the CoinGecko API to obtain USD prices on graphs and other areas of the UI.
POA
all
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.
(empty)
v4.1.2+
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.
DEFAULT
v2.0.4+
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.
(empty)
v2.0.4+
SUPPLY_MODULE
This environment variable is used by the xDai Chain/RSK in order to tell the application how to calculate the total supply of the chain. Available values are TokenBridge, RSK
(empty)
all
POOL_SIZE
Variable to define the number of database connections allowed excluding read-only API endpoints requests.
50
all
POOL_SIZE_API
Variable to define the number of database connections allowed for read-only API endpoints requests.
50
v4.1.0+
ECTO_USE_SSL
Production environment variable to use SSL on Ecto queries.
true
all
HEART_BEAT_TIMEOUT
Production environment variable to restart the application in the event of a crash.
30
all
HEART_COMMAND
Production environment variable to restart the application in the event of a crash.
(empty)
all
ELIXIR_VERSION
Elixir version to install on the node before Blockscout deploy. It is used in bash script in Terraform / Ansible deployment script
(empty)
all
GRAPHIQL_TRANSACTION
Default transaction hash in a sample query to GraphiQL.
(empty)
v1.2.0+
DISABLE_WEBAPP
If true, endpoints to webapp are hidden (compile-time). Also, enabling it makes notifications go through db_notify
false
v2.0.3+
DISABLE_READ_API
If true, read-only endpoints to API are hidden (compile-time).
false
v2.0.3+
DISABLE_WRITE_API
If true, write endpoints to API are hidden (compile-time).
false
v2.0.3+
WEBAPP_URL
Link to web application instance, e.g. protocol://host/path
(empty)
v2.0.3+
API_URL
Link to API instance, e.g. protocol://host/path
(empty)
v2.0.3+
WOBSERVER_ENABLED
If true enables wobserver interface.
(empty)
v3.3.2+
CHECKSUM_ADDRESS_HASHES
If set to true, redirects to checksummed version of address hashes.
true
v3.1.0+
CHECKSUM_FUNCTION
Defines checksum address function. 2 available values: rsk, eth
eth
v2.0.1+
RESTRICTED_LIST
A comma-separated list of addresses to enable restricted access to them.
(empty)
v3.3.3+
RESTRICTED_LIST_KEY
A key to access addresses listed inRESTRICTED_LIST variable. Can be passed via query param to the page's URL: ?key=...
(empty)
v3.3.3+
CUSTOM_CONTRACT_ADDRESSES_TEST_TOKEN
List of test tokens addresses: test label will be applied and those tokens will be excluded from omni bridge market cap calculation.
(empty)
v3.6.0+
CHAIN_ID
Chain ID of the network. For instance, 100 in the case of xDai chain.
(empty)
v3.7.0+
JSON_RPC
JSON RPC endpoint of the chain for the WalletConnect integration. Implemented in #4931
(empty)
v4.1.0+
HEALTHY_BLOCKS_PERIOD
New blocks indexed max delay in /health API endpoint. Implemented in #2294
5 mins
v2.0.2+
NEW_TAGS
Add public tag labels. More info in #6316
(empty)
v5.0.0+
CUSTOM_CONTRACT_ADDRESSES_${tag_name}
Specify addresses for some label. More info in #6316
(empty)
v5.0.0+
API_V2_ENABLED
Enable API V2. Implemented in #6361
(empty)
v5.0.0+
TOKEN_ID_MIGRATION_FIRST_BLOCK
Bottom block for token id migration. Implemented in #6391
0
v5.0.0+
TOKEN_ID_MIGRATION_CONCURRENCY
Number of workers performing the token id migration. Implemented in #6391
1
v5.0.0+
TOKEN_ID_MIGRATION_BATCH_SIZE
Interval of token transfer block numbers processed by a token id migration worker at a time. Implemented in #6391
500
v5.0.0+
SESSION_COOKIE_DOMAIN
Value of this env will be added to domain of session cookie. Implemented in #6544
(empty)
v5.0.0+
DECODE_NOT_A_CONTRACT_CALLS
Allows to decode contract calls directed to addresses which are not contracts. Implemented in #6541
(empty)
v5.1.0+

Indexer management

Variable
Required
Description
Default
Version
BLOCK_TRANSFORMER
Transformer for blocks: base or clique.
base
v1.3.4+
DISABLE_INDEXER
If true, indexer application doesn't run.
false
v2.0.3+
INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER
If true, pending transactions fetcher is disabled.
false
v4.1.2+
INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER
If true, internal transactions fetcher is disabled.
false
v4.1.2+
INDEXER_DISABLE_BLOCK_REWARD_FETCHER
if true, block rewards fetcher is disabled.
false
v4.1.3+
INDEXER_DISABLE_ADDRESS_COIN_BALANCE_FETCHER
If true, coin balances fetcher is disabled.
false
v4.1.3+
INDEXER_DISABLE_CATALOGED_TOKEN_UPDATER_FETCHER
If true, cataloged tokens metadata fetcher is disabled.
false
v4.1.3+
INDEXER_MEMORY_LIMIT
Memory soft limit for the indexer.
1Gb
v4.1.3+
INDEXER_EMPTY_BLOCKS_SANITIZER_BATCH_SIZE
Batch size for empty block sanitizer (re-fetcher).
100
v4.1.3+
INDEXER_CATCHUP_BLOCKS_BATCH_SIZE
Batch size for blocks catchup fetcher. Implemented in #6196.
10
v5.0.0+
INDEXER_CATCHUP_BLOCKS_CONCURRENCY
Concurrency for blocks catchup fetcher. Implemented in #6196.
10
v5.0.0+
INDEXER_DISABLE_EMPTY_BLOCK_SANITIZER
Empty blocks sanitizer is disabled if true
false
v4.1.3+
DISABLE_REALTIME_INDEXER
If true, realtime fetcher doesn't run
false
v4.1.6+
DISABLE_KNOWN_TOKENS
Disables or enables token symbol for known contract.
false
v3.4.0+
FIRST_BLOCK
The block number, where import of blocks by catchup fetcher begins from.
0
v1.3.8+
LAST_BLOCK
The block number, where import of blocks by catchup fetcher stops.
(empty)
v2.0.3+
TRACE_FIRST_BLOCK
The block number, where indexing of internal transactions begins from.
0
v4.1.0+
TRACE_LAST_BLOCK
The block number, where indexing of internal transactions stops.
(empty)
v4.1.0+
BLOCK_RANGES
Block ranges to import by catchup fetcher. Implemented in #5783
v4.1.7+
FETCH_REWARDS_WAY
Tells the application how to calculate block rewards, by fetching via json_rpc (trace_block) or manual by block params (manual).
trace_block
v4.1.4+
ETHEREUM_JSONRPC_DEBUG_TRACE_TRANSACTION_TIMEOUT
Timeout for debug_traceTransaction JSON RPC method request in case of geth archive node. Supported time formats: https://pkg.go.dev/time#ParseDuration. Introduced in #5505
5s
v4.1.3+
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
false
v5.0.0+
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
default
v5.0.0+
DISABLE_TOKEN_INSTANCE_FETCHER
If true, token instance fetcher doesn't run
false
v5.0.0+
INDEXER_INTERNAL_TRANSACTIONS_BATCH_SIZE
Batch size for internal transactions fetcher. Implemented in #6450.
10
v5.0.0+
INDEXER_INTERNAL_TRANSACTIONS_CONCURRENCY
Concurrency for internal transactions fetcher. Implemented in #6450.
4
v5.0.0+
INDEXER_BLOCK_REWARD_BATCH_SIZE
Batch size for block reward fetcher. Implemented in #6952.
10
master
INDEXER_BLOCK_REWARD_CONCURRENCY
Concurrency for block reward fetcher. Implemented in #6952.
4
master
INDEXER_TOKEN_INSTANCE_BATCH_SIZE
Batch size for token instance fetcher. Implemented in #6981.
1
master
INDEXER_TOKEN_INSTANCE_CONCURRENCY
Concurrency for token instance fetcher. Implemented in #6981.
10
master
INDEXER_RECEIPTS_BATCH_SIZE
Batch size for transaction receipts fetcher. Implemented in #6454.
250
v5.0.0+
INDEXER_RECEIPTS_CONCURRENCY
Concurrency for transaction receipts fetcher. Implemented in #6454.
10
v5.0.0+
INDEXER_COIN_BALANCES_BATCH_SIZE
Batch size for coin balances fetcher. Implemented in #6454.
500
v5.0.0+
INDEXER_COIN_BALANCES_CONCURRENCY
Concurrency for coin balances fetcher. Implemented in #6454.
4
v5.0.0+
INDEXER_TX_ACTIONS_ENABLE
If true, transaction action indexer is active. Implemented in #6582.
false
v5.1.0+
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.
100000
v5.1.0+
INDEXER_TX_ACTIONS_REINDEX_FIRST_BLOCK
The first block of a block range for historical indexing or reindexing of tx actions. Implemented in #6582.
(empty)
v5.1.0+
INDEXER_TX_ACTIONS_REINDEX_LAST_BLOCK
The last block of a block range for historical indexing or reindexing of tx actions. Implemented in #6582.
(empty)
v5.1.0+
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 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.
(empty)
v5.1.0+
INDEXER_CATCHUP_MISSING_RANGES_BATCH_SIZE
Batch size for missing ranges collector. Implemented in #6583.
100000
v5.0.0+
MIN_MISSING_BLOCK_NUMBER_BATCH_SIZE
Batch size for min missing block number updater. Implemented in #6583.
100000
v5.0.0+
INDEXER_INTERNAL_TRANSACTIONS_TRACER_TYPE
Tracer type for debug_traceTransaction request for geth-like nodes. Possible values are: js to use custom Blockscout js tracer, call_tracer to use built-in callTracer geth tracer. Implemented in #6721
call_tracer
v5.1.0+

Exchange rates management

Variable
Required
Description
Default
Version
DISABLE_EXCHANGE_RATES
Disables or enables fetching of coin price from Coingecko API.
false
v3.1.2+
EXCHANGE_RATES_SOURCE
This environment variable is used to calculate the exchange rates. Available value is token_bridge. Available values are also coin_gecko and coin_market_cap.
(empty)
v4.1.4+
EXCHANGE_RATES_COINGECKO_COIN_ID
Explicitly set CoinGecko coin ID.
(empty)
v4.1.4+
EXCHANGE_RATES_COINGECKO_API_KEY
CoinGecko API key.
(empty)
v4.1.4+
EXCHANGE_RATES_COINMARKETCAP_API_KEY
CoinMarketCap API key.
(empty)
v4.1.4+
EXCHANGE_RATES_FETCH_BTC_VALUE
if true explorer application will fetch btc_value for token exchange rates. Implemented in #5671
(empty)
v4.1.5+

Cache management

Variable
Required
Description
Default
Version
CACHE_TXS_COUNT_PERIOD
Interval in seconds to restart the task, which calculates the total txs count.
2 hours
v4.1.3+
CACHE_ADDRESS_COUNT_PERIOD
time to live of cache in seconds. This var was introduced in #2822
2 hours
v4.1.3+
CACHE_ADDRESS_SUM_PERIOD
time to live of addresses sum (except burn address) cache in seconds. This var was introduced in #2862
1 hour
v4.1.3+
CACHE_TOTAL_GAS_USAGE_PERIOD
Interval in seconds to restart the task, which calculates the total gas usage.
2 hours
v4.1.3+
CACHE_ADDRESS_TRANSACTIONS_GAS_USAGE_COUNTER_PERIOD
Interval in seconds to restart the task, which calculates gas usage at the address.
30 minutes
v4.1.3+
CACHE_TOKEN_HOLDERS_COUNTER_PERIOD
Interval in seconds to restart the task, which calculates holders count of the token.
1 hour
v4.1.3+
CACHE_TOKEN_TRANSFERS_COUNTER_PERIOD
Interval in seconds to restart the task, which calculates transfers count of the token.
1 hour
v4.1.3+