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+
​
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
​
API_PATH
​
PATH in API endpoint URL at API docs page.
/
v3.1.0+
​
SOCKET_ROOT
​
Custom websocket path.
(empty)
v3.0.0+
​
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​
(empy)
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​
(empy)
master
​
CUSTOM_CONTRACT_ADDRESSES_${tag_name}
​
Specify addresses for some label. More info in #6316​
(empy)
master
​
API_V2_ENABLED
​
Enable API V2. Implemented in #6361​
(empy)
master
​
TOKEN_ID_MIGRATION_FIRST_BLOCK
​
Bottom block for token id migration. Implemented in #6391​
0
master
​
TOKEN_ID_MIGRATION_CONCURRENCY
​
Number of workers performing the token id migration. Implemented in #6391​
1
master
​
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
master
​

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
master
INDEXER_CATCHUP_BLOCKS_CONCURRENCY
​
Concurrency for blocks catchup fetcher. Implemented in #6196.
10
master
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
master
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
master
DISABLE_TOKEN_INSTANCE_FETCHER
​
If true, token instance fetcher doesn't run
false
master
INDEXER_INTERNAL_TRANSACTIONS_BATCH_SIZE
​
Batch size for internal transactions fetcher. Implemented in #6450.
10
master
INDEXER_INTERNAL_TRANSACTIONS_CONCURRENCY
​
Concurrency for internal transactions fetcher. Implemented in #6450.
4
master
INDEXER_RECEIPTS_BATCH_SIZE
​
Batch size for transaction receipts fetcher. Implemented in #6454.
250
master
INDEXER_RECEIPTS_CONCURRENCY
​
Concurrency for transaction receipts fetcher. Implemented in #6454.
10
master
INDEXER_COIN_BALANCES_BATCH_SIZE
​
Batch size for coin balances fetcher. Implemented in #6454.
500
master
INDEXER_COIN_BALANCES_CONCURRENCY
​
Concurrency for coin balances fetcher. Implemented in #6454.
4
master

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+
CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL
​
Interval in seconds to restart the task, which calculates addresses with balances.
30 minutes
v4.1.3+
TOKEN_METADATA_UPDATE_INTERVAL
​
Interval in seconds to restart the task which updates token metadata.
60 * 60 * 24 * 2
v2.0.1+
CACHE_AVERAGE_BLOCK_PERIOD
​
Update of average block period cache, in seconds.
30 minutes
v4.1.3+
CACHE_MARKET_HISTORY_PERIOD
​
Update of market history cache, in seconds.
6 hours
v4.1.3+
CACHE_ADDRESS_TRANSACTIONS_COUNTER_PERIOD
​
time to live of address' transactions counter in seconds. This var was introduced in #3330​
1 hour
v3.4.0+
CACHE_TOKEN_EXCHANGE_RATE_PERIOD
​
Managing cache invalidation for token's exchange rate.
1 hour
v3.5.0+
CACHE_ADDRESS_TOKENS_USD_SUM_PERIOD
​
Managing of cache invalidation period for the sum of USD value of tokens per tokens' holder address.
(empty)
v3.5.0+
CACHE_EXCHANGE_RATES_PERIOD
​
value in seconds which is to tune the time to live of exchange rates. Implemented in #5671​
10 minutes
v4.1.5+
TOKEN_BALANCE_ON_DEMAND_FETCHER_THRESHOLD_MINUTES
​
A threshold to invalidate token balance cache. Implemented in #3870​
60 minutes
v3.7.1+
COIN_BALANCE_ON_DEMAND_FETCHER_THRESHOLD_MINUTES
​
A threshold to invalidate coin balance cache. Implemented in #5240​
60 minutes
v4.1.2+
CACHE_ADDRESS_TOKEN_TRANSFERS_COUNTER_PERIOD
​
Interval in seconds to restart the task, which calculates the number of token transfers at the address.Implemented in #4699​
(empty)
v4.0.0+
CACHE_BLOCK_COUNT_PERIOD
​
time to live of blocks with consensus count cache in seconds. This var was introduced in #1876​
2 hours
v4.1.3+

Gas price oracle management

Variable
Required
Description
Default
Version
GAS_PRICE_ORACLE_NUM_OF_BLOCKS
​
Gas price oracle: number of blocks to calculate average gas price from
200
v4.1.4+
GAS_PRICE_ORACLE_SAFELOW_PERCENTILE
​
Gas price oracle: safelow percentile
35
v4.1.4+
GAS_PRICE_ORACLE_AVERAGE_PERCENTILE
​
Gas price oracle: average percentile
60
v4.1.4+
GAS_PRICE_ORACLE_FAST_PERCENTILE
​
Gas price oracle: fast percentile
90
v4.1.4+
GAS_PRICE_ORACLE_CACHE_PERIOD
​
Gas price oracle: period of gas prices update
30 sec
v4.1.4+

Main page dashboard management

Variable
Required
Description
Default
Version
GAS_PRICE
​
Gas price in Gwei. If the variable is present, gas price displays on the main page.
(empty)
v3.3.2+
ENABLE_TXS_STATS
​
Disables or enables txs per day stats gathering.
true
v3.1.2+
SHOW_PRICE_CHART
​
Disables or enables price and market cap of coin charts on the main page.
false
v3.1.2+
SHOW_TXS_CHART
​
Disables or enables txs count per day chart on the main page.
true
v3.1.2+
HISTORY_FETCH_INTERVAL
​
Interval in minutes how often to request count of txs per current day in order to display txs count per day chart on the main page.
60
v3.1.2+
TXS_HISTORIAN_INIT_LAG
​
The initial delay in minutes in txs count history fetching in order to display txs count per day history chart on the main page.
0
v3.1.2+
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.
365
v3.1.2+

Header management

Variable
Required
Description
Default
Version
LOGO
​
Environment variable for the header logo image location. The logo files names for different chains can be found here.
/images/blockscout_logo.svg
all
SHOW_TESTNET_LABEL
​
Enables testnet label right after logo in the navigation panel. Implemented in #5732​
(empty)
v4.1.6+
TESTNET_LABEL_TEXT
​
The text inside the test label. Implemented in #5732​
Testnet
v4.1.6+
SUPPORTED_CHAINS
​
An array of supported chains that display in the footer and in the chains dropdown. This var was introduced in this PR #1900 and looks like an array of JSON objects.
[ { title: "POA", url: "https://blockscout.com/poa/core" }, { title: "Sokol", url: "https://blockscout.com/poa/sokol", test_net?: true }, { title: "Gnosis Chain", url: "https://blockscout.com/xdai/mainnet" }, { title: "Ethereum Classic", url: "https://blockscout.com/etc/mainnet", other?: true }, { title: "RSK", url: "https://blockscout.com/rsk/mainnet", other?: true } ]
v2.0.0+
APPS_MENU
​
true/false. If true, the Apps navigation menu item appears.
false
v3.3.1+
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 embedded link is described here #​
(empty)
master
Variable
Required
Description
Default
Version
LOGO_FOOTER
​
Environment variable for the footer logo image location. The logo files names for different chains can be found here.
/images/blockscout_logo.svg
​
RELEASE_LINK
​
The link to Blockscout release notes in the footer.
https: //github.com/poanetwork/ blockscout/releases/ tag/${BLOCKSCOUT_VERSION}
v1.3.5+
BLOCKSCOUT_VERSION
​
Added to the footer to signify the current BlockScout version.
(empty)
v1.3.4+
FOOTER_CHAT_LINK
​
Link in Chat menu item in the footer. Implemented in #5719​
https://discord.gg/3CtNAqVMRV
v4.1.6+
FOOTER_ENABLE_FORUM_LINK
​
Enable forum menu item in the footer. Implemented in #6351​
false
master
FOOTER_FORUM_LINK
​
Link in Forum menu item in the footer. Implemented in #5719​
https://forum.poa.network/c/blockscout
v4.1.6+
FOOTER_GITHUB_LINK
​
Github repository. Implemented in #5719​
https://github.com/blockscout/blockscout
v4.1.6+
LINK_TO_OTHER_EXPLORERS
​
true/false. If true, links to other explorers are added in the footer.
(empty)
v1.3.0+
OTHER_EXPLORERS
​
The list of alternative explorers. This env var was introduced in PR #3414.
(empty)
v3.4.0+

Misc UI management

Variable
Required
Description
Default
Version
SHOW_ADDRESS_MARKETCAP_PERCENTAGE
​
Configures market cap percentage column on the top accounts page.
true
v2.1.1+
SHOW_MAINTENANCE_ALERT
​
Disables/enables announcement at the top of the explorer.
false
v3.6.0+
MAINTENANCE_ALERT_MESSAGE
​
Message text of the announcement at the top of the explorer.
(empty)
v3.6.0+
MAX_SIZE_UNLESS_HIDE_ARRAY
​
Hide long arrays in smart-contracts. To get more details: #4218​
50
v3.7.1+
MAX_STRING_LENGTH_WITHOUT_TRIMMING
​
Hide long contract method data. For more details: #4667​
2040
v4.0.0+
HIDE_BLOCK_MINER
​
Hides miner/validator/sequencer on block page and tiles if the value is `true` Implemented in #4611​
(empty)
v4.0.0+
DISPLAY_TOKEN_ICONS
​
Displays token icons from TrustWallet assets repository if true. Implemented in #4596​
(empty)
v4.0.0+
ALLOWED_EVM_VERSIONS
​
the comma-separated list of allowed EVM versions for contract verification. This var was introduced in #1964​
"homestead, tangerineWhistle, spuriousDragon, byzantium, constantinople, petersburg,istanbul"
v2.0.0+
UNCLES_IN_AVERAGE_BLOCK_TIME
​
Include or exclude non-consensus blocks in avg block time calculation. Exclude if false.
false
v2.0.1+