Download Latest Version BlockScout v10.0.1 source code.tar.gz (8.4 MB)
Email in envelope

Get an email when there's a new version of BlockScout

Home / v10.0.0
Name Modified Size InfoDownloads / Week
Parent folder
BlockScout v10.0.0 source code.tar.gz 2026-02-24 8.4 MB
BlockScout v10.0.0 source code.zip 2026-02-24 10.3 MB
README.md 2026-02-24 19.7 kB
Totals: 3 Items   18.7 MB 0

🚀 Features

  • ERC-7984 Confidential Tokens (#13593, #14019, #14022, #14023)
  • Move current token balances into a separate fetcher (#13923)
  • Re-architect internal transaction format with call-type enum, error dictionary, and normalization (#13893, #14042, #14043)
  • Add audit-reports import endpoint (#13884)
  • Solady smart-contract proxy with immutable arguments support (#13794)
  • Optionally accrue burnt fees to the block miner (#13894)
  • Allow adding EOA with code to watchlist (#13885)
  • Add Dynamic provider for account (#13786)
  • Distributed cache (#13698)
  • Return timestamps in the event logs list API endpoints (#13779)
  • Support EigenDA blobs by Optimism batch indexer (#13709)
  • txlistinternal API endpoint pending item status (#13758)
  • Setup universal proxy config from the JSON content in ENV variable (#13787)
  • Missed L1-to-L2 messages catchup on Arbitrum rollups (#13792)
  • Expose CHAIN_TYPE in the REST API (#13805)
  • REST API endpoint to list uncompleted DB migrations (#13835)
  • Show ENS domains without resolved address in search (#13638)
  • Mark contract addresses in search results (#13636)

🐛 Bug Fixes

  • Handle nil coin balance in "broadcast_address_coin_balance/1" function (#14044)
  • Fix duplicating paging params (#14010)
  • Handle maybe_reject_zero_value for missing value (#13990)
  • Handle internal transactions nil value(#13974)
  • HttpClient.get usage in genesis data module (#13945)
  • Multichain counter starting time and small fixes (#13920)
  • Fix 500 on empty ens domain search (#13928)
  • Limit getlogs after filtering consensus (#13934)
  • Handle nil in update_transactions_cache/2 (#13911)
  • Fix token balances broadcasting function (#13902)
  • Wrong next_page_params in OP Deposits (#13870)
  • Fix error on loading thumbnails when public_r2_url is missed (#13895)
  • Check token presence in address current token balance (#13892)
  • Fix swagger generation for Mud chain
  • Fix error in Indexer.Fetcher.OnDemand.TokenBalance module (#13890)
  • Actualize indexer tests (#13887)
  • Clear bytecode for smart-contracts self destructed in a separate transaction (#13834)
  • Skip hot contracts fetching if last 30 days not indexed (#13873)
  • Add block range filtering to TokenBalance fetcher (#13874)
  • Filter traceable data in InternalTransaction.async_fetch (#13872)
  • Take into account empty arrays in Explorer.Migrator.SanitizeIncorrectNFTTokenTransfers (#13852)
  • Fix search for ERC-1155 with null symbol (#13632)
  • Return date to logs (#13858)
  • Convert token id to string from refetch metadata in the socket (#13762)
  • Prevent DeleteZeroValueInternalTransactions from running while ShrinkInternalTransactions is in progress (#13847)
  • Remove contract code and verified data on lose consensus (#13829, #13905)
  • Exclude 0 index internal transactions from /api/v2/internal-transactions endpoint (#13841)
  • Fix NaN gas limit for selfdestruct internal transaction in the REST API (#13827)
  • Handle normal termination of Indexer.Fetcher.OnDemand.ContractCode process (#13828)
  • Validate block number in the api/v2/blocks/:block_number API endpoint (#13795)
  • Fix methodId detection (#13811)
  • Improve Arbitrum L1->L2 message discovery for reorg and RPC consistency (#13770)

🚜 Refactor

  • Improve error handling in EthereumJSONRPC.execute_contract_function/3 (#13764)

⚙️ Miscellaneous Tasks

  • Claim storage space from multichain - related queues tables (#14025)
  • Improve pending block operations count metric (#14024)
  • Add initial_stream delay to BufferedTask (#14018, #14020)
  • Adjust query for "missing_current_token_balances_count" indexer metric (#14009)
  • Add support for new BENS api (#13992)
  • Add internal transactions not null constraints (#13976, #13995)
  • Change 429 error text (#13989)
  • Enhance indexer metrics calculation (#13985)
  • Don't send historic rate for recent txs (#13960)
  • Increase default for MIGRATION_EMPTY_INTERNAL_TRANSACTIONS_DATA_BATCH_SIZE to 1000 (#13953)
  • Improve EmptyInternalTransactionsData migration (#13918)
  • Disable Auth0 when Dynamic enabled (#13912)
  • Add swagger spec for account abstraction endpoints (#13897)
  • Clear token "skip_metadata" property (#13891)
  • Refactor internal transaction logic from "block_index" to "transaction_index" and "index" (#12474, #14029)
  • Cover Optimism API endpoints with swagger docs (#13672)
  • Duplicate internal transaction created_contract_address_hash to to_address_hash (#13846, #14039, #14040)
  • Add "openapi_spec_folder_name" to the response of api/v2/config/backend endpoint (#13845)
  • Re-use parse_url_env_var/3 function for all *_URL env variables (#13800)
  • Add swagger spec for MUD endpoints (#13793)
  • Set unique block numbers in handle_partially_imported_blocks/1 (#13657)
  • Disband 37% of Explorer.Chain module (#13755)
  • Disable MissingRangesManipulator (#13359)
  • Improve replica usage (#13344)
  • Make "jsonrpc" field in response optional (#13724)

📘 Updated Swagger Documentation

💡 New environment variables

New environment variables list | Variable | Description | Parameters | | --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | `BLOCK_MINER_GETS_BURNT_FEES` | If `true`, the Burnt fees are added to block miner profit and displayed in UI as zero. Implemented in [#13894](https://github.com/blockscout/blockscout/pull/13894). | Version: v10.0.0\+
Default: `false`
Applications: API | | `UNIVERSAL_PROXY_CONFIG` | JSON-encoded configuration string used to define settings for the universal proxy. Implemented in [#13787](https://github.com/blockscout/blockscout/pull/13787). | Version: v10.0.0\+
Default: (empty)
Applications: API | | `MIGRATION_EMPTY_INTERNAL_TRANSACTIONS_DATA_BATCH_SIZE` | Number of internal transactions to clear their data in the batch. Implemented in [#13893](https://github.com/blockscout/blockscout/pull/13893). | Version: v10.0.0\+
Default: `1000`
Applications: Indexer | | `MIGRATION_EMPTY_INTERNAL_TRANSACTIONS_DATA_CONCURRENCY` | Number of parallel clearing internal transaction data batches processing. Implemented in [#13893](https://github.com/blockscout/blockscout/pull/13893). | Version: v10.0.0\+
Default: `1`
Applications: Indexer | | `MIGRATION_EMPTY_INTERNAL_TRANSACTIONS_DATA_TIMEOUT` | Timeout between clearing internal transaction data batches processing. Implemented in [#13893](https://github.com/blockscout/blockscout/pull/13893). | Version: v10.0.0\+
Default: `0`
Applications: Indexer | | `CACHE_PENDING_OPERATIONS_COUNT_PERIOD` | Time interval to restart the task which calculates the total pending operations count. Introduced in [#12474](https://github.com/blockscout/blockscout/pull/12474). | Version: v10.0.0\+
Default: `5m`
Applications: API, Indexer | | `ACCOUNT_DYNAMIC_ENV_ID` | Dynamic Environment ID, can be found here https://app.dynamic.xyz/dashboard/developer/api. Implemented in [#13786](https://github.com/blockscout/blockscout/pull/13786). | Version: v10.0.0\+
Default: (empty)
Applications: API | | `INDEXER_OPTIMISM_L1_BATCH_EIGENDA_BLOBS_API_URL` | Defines a URL to DA indexer supporting EigenDA layer to retrieve L1 blobs from that. Example: `https://da-indexer-dev.k8s-prod-3.blockscout.com/api/v1/eigenda/v2/blobs`. Implemented in [#13709](https://github.com/blockscout/blockscout/pull/13709). | Version: v10.0.0+
Default: (empty)
Applications: Indexer | | `INDEXER_OPTIMISM_L1_BATCH_EIGENDA_PROXY_BASE_URL` | Defines a URL to EigenDA proxy node which is used by the DA indexer (planned to be optional in the future). Example for MegaETH: `http://megaeth-eigenda-proxy.node.blockscout.com:3100`. Implemented in [#13709](https://github.com/blockscout/blockscout/pull/13709). | Version: v10.0.0+
Default: (empty)
Applications: Indexer | | `INDEXER_ARBITRUM_MESSAGES_TRACKING_FAILURE_THRESHOLD` | The time threshold for L1 message tracking tasks. If a task has not run successfully within this threshold, it is marked as failed and enters a cooldown period before retrying. Implemented in [#13792](https://github.com/blockscout/blockscout/pull/13792). | Version: v10.0.0+
Default: `10m`
Applications: Indexer | | `INDEXER_ARBITRUM_MISSED_MESSAGE_IDS_RANGE` | Size of each message ID range inspected when discovering L1-to-L2 messages with missing L1 origination information. Implemented in [#13792](https://github.com/blockscout/blockscout/pull/13792). | Version: v10.0.0+
Default: `10000`
Applications: Indexer | | `INDEXER_CURRENT_TOKEN_BALANCES_BATCH_SIZE` | Batch size for current token balances fetcher. Implemented in [#13923](https://github.com/blockscout/blockscout/pull/13923). | Version: v10.0.0+
Default: `100`
Applications: Indexer | | `INDEXER_CURRENT_TOKEN_BALANCES_CONCURRENCY` | Concurrency for current token balances fetcher. Implemented in [#13923](https://github.com/blockscout/blockscout/pull/13923). | Version: v10.0.0+
Default: `10`
Applications: Indexer |

⛔ Deprecated environment variables

Deprecated environment variables list | Variable | Description | Default | Version | Deprecated in Version | | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -------------- | --------------------- | | `CACHE_PBO_COUNT_PERIOD` | Time interval to restart the task which calculates the total pending_block_operations count. | `20m` | v5.2.0+ | | v10.0.0 |
Source: README.md, updated 2026-02-24