> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockscout.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migration Guide

> Whether you are a developer, project, or blockchain user, learn how to migrate from other explorers to Blockscout

<Accordion icon="sparkles" title="Why Switch to Blockscout?">
  * Blockscout is transparent, open-source software. Supported by the community for the community good.
  * Blockscout  adds new features regularly and offers support quickly.
  * Blockscout provides fast and reliable chain information, and robust APIs for developers.
  * Blockscout is a proven explorer with a long track record, ecosystem-wide support, high data availability, and a rich feature set
  * other explorer do not offer.
</Accordion>

<Accordion icon="sparkles" title="Blockscout Features">
  * Deep Search
  * Advanced Contract Interaction
  * JSON RPC & REST APIs
  * User Operations
  * Dapp Marketplace
  * Enhanced Metadata
  * DEX tracker
  * Interop explorer in progress
</Accordion>

## Switching Links

Change links in your application to point to Blockscout

* **Update primary links**. Update all code within an application by replacing the front part of the url. <Icon icon="flag" /> [Link Switch Guide](/devs/replace-links)
* **Update wallet links**: Many wallets can be updated manually to switch the primary explorer link to Blockscout. <Icon icon="wallet" /> [Wallet Update Guide](https://www.blog.blockscout.com/changing-wallet-block-explorer-urls-to-blockscout/)

## API updates

Sign up for an API key at [https://dev.blockscout.com/](https://dev.blockscout.com/)

* API calls follow the same query structure as Etherscan. Blockscout supports most of the same calls. Replace the front part of the url from [**https://api.etherscan.io/v2/api?chainid=X**](https://api.etherscan.io/v2/api?chainid=X)\*\* \*\*\
  to \
  **[https://api.blockscout.com/v2/api?chain\_id=X](https://api.blockscout.com/v2/api?chain_id=X)**
  * [API Docs](/devs/apis)
  * [Microservice and related swagger definitions](https://blockscout.github.io/swaggers/)
  * A **GraphQL** playground is built into the explorer. Explore queries and schemas from the interface by visiting [**https://your-instance-here/graphiql**](https://your-instance-here/graphiql)

<Accordion icon="computer" title="API Differences">
  ### **1. Account/Address Endpoints**

  `module=account`

  |                              | Blockscout | Etherscan | Purpose                                                 |
  | :--------------------------- | :--------- | :-------- | :------------------------------------------------------ |
  | `action=eth_get_balance`     | ✅          | ❌         | Mimics Ethereum JSON RPC's eth\_getBalance              |
  | `action=balance`             | ✅          | ✅         | Get Ether Balance for Single Address                    |
  | `action=balancemulti`        | ✅          | ✅         | Get Ether Balance for Multiple Addresses                |
  | `action=pendingtxlist`       | ✅          | ❌         | Get Pending Transactions by Address                     |
  | `action=txlist`              | ✅          | ✅         | Get Normal Transactions by Address                      |
  | `action=txlistinternal`      | ✅          | ✅         | Get Internal Transactions by Address                    |
  | `action=tokentx`             | ✅          | ✅         | Get ERC20 Token Transfers                               |
  | `action=tokennfttx`          | ✅          | ✅         | Get ERC721 Token Transfers                              |
  | `action=token1155tx`         | ✅          | ✅         | Get ERC1155 Token Transfers                             |
  | `action=token404tx`          | ✅          | ❌         | Get ERC-404 token transfer events by address            |
  | `action=tokenbalance`        | ✅          | ❌         | Get Token Balance for Address                           |
  | `action=tokenlist`           | ✅          | ❌         | Get list of tokens owned by address                     |
  | `action=getminedblocks`      | ✅          | ✅         | Get list of blocks mined by address                     |
  | `action=listaccounts`        | ✅          | ❌         | Get a list of accounts and their balances               |
  | `action=txsBeaconWithdrawal` | ❌          | ✅         | Get Beacon Chain Withdrawals by Address and Block Range |
  | `action=balancehistory`      | ❌          | ✅ (PRO)   | Get Historical Ether Balance for an Address By BlockNo  |

  ### **2. Contract Endpoints**

  ### `module=contract`

  |                                 | Blockscout | Etherscan | Purpose                                                         |
  | :------------------------------ | :--------- | :-------- | :-------------------------------------------------------------- |
  | `action=listcontracts`          | ✅          | ❌         | Get list of any deployed contract                               |
  | `action=getabi`                 | ✅          | ✅         | Get Contract ABI for verified contracts                         |
  | `action=getsourcecode`          | ✅          | ✅         | Get contract source code for a verified contract                |
  | `action=getcontractcreation`    | ✅          | ❌         | Get contract creator address hash and creation transaction hash |
  | `action=verify`                 | ✅          | ❌         | Verify Contract with Source Code                                |
  | `action=verifysourcecode`       | ✅          | ✅         | Verify Contract with JSON file                                  |
  | `action=checkverifystatus`      | ✅          | ✅         | Check Verification Status                                       |
  | `action=verifyproxycontract`    | ✅          | ✅         | Get Internal Transactions by Address                            |
  | `action=checkproxyverification` | ✅          | ✅         | Get ERC20 Token Transfers                                       |
  | `action=verify_via_scourcify`   | ✅          | ❌         | Verify a contract through                                       |
  | Sourcify                        |            |           |                                                                 |
  | `action=verify_vyper_contract`  | ✅          | ❌         | Verify a Vyper contract                                         |

  ### **3. Transaction Endpoints**

  ### `module=transaction`

  |                             | Blockscout | Etherscan | Purpose                                                       |
  | :-------------------------- | :--------- | :-------- | :------------------------------------------------------------ |
  | `action=gettxinfo`          | ✅          | ❌         | Get Transaction info including block number, sender, gas, +++ |
  | `action=gettxreceiptstatus` | ✅          | ✅         | Get Transaction Receipt Status                                |
  | `action=getstatus`          | ✅          | ✅         | Get Transaction Execution Status                              |

  ### **4. Block Endpoints**

  **module=block**

  |                                              | Blockscout | Etherscan | Purpose                                                        |
  | :------------------------------------------- | :--------- | :-------- | :------------------------------------------------------------- |
  | `action=getblockreward`                      | ✅          | ✅         | Get Block Rewards                                              |
  | `action=getblockcountdown`                   | ✅          | ✅         | Get Block Countdown                                            |
  | `action=getblocknobytime`                    | ✅          | ✅         | Get Block Number by Time                                       |
  | `action=eth_block_number`                    | ✅          | ❌         | Mimics Ethereum JSON RPC's eth\_blockNumber.                   |
  | <br /><br /><br />`action=dailyavgblocksize` | ❌          | ✅ (PRO)   | Get Daily Average Block Size                                   |
  | `action=dailyblkcount`                       | ❌          | ✅ (PRO)   | Get Daily Block Count and Rewards                              |
  | `action=dailyblockrewards`                   | ❌          | ✅ (PRO)   | Get Daily Block Rewards                                        |
  | `action=dailyavgblocktime`                   | ❌          | ✅ (PRO)   | Get Daily Average Time for A Block to be Included in the chain |
  | `action=dailyuncleblkcount`                  | ❌          | ✅ (PRO)   | Get Daily Uncle Block Count and Rewards                        |

  ### **5. Token Endpoints**

  ### `module=token`

  Note other endpoints contain token specific information including `module=stats` and `module=account`.

  |                         | Blockscout | Etherscan | Purpose                       |
  | :---------------------- | :--------- | :-------- | :---------------------------- |
  | action=getToken         | ✅          | ❌         | Get Token Information         |
  | action=getTokenHolders  | ✅          | ❌         | Get Token Holders             |
  | action=bridgedtokenlist | ✅          | ❌         | Get Bridged Tokens            |
  | action=tokenholderlist  | ❌          | ✅ (PRO)   | Get Token Holders             |
  | action=tokenholdercount | ❌          | ✅ (PRO)   | Number of ERC20 token holders |
  | action=tokeninfo        | ❌          | ✅ (PRO)   | Token project info            |

  ### **6. Logs/Events Endpoints**

  ### `module=logs`

  Both Etherscan and Blockscout use the getLogs endpoint which includes enhanced filtering capabilities

  * ✅ `action=getLogs` - Get Event Logs by Address/Topics/Block Range

  ### **7. Proxy/ETH RPC Endpoints**

  Etherscan uses the Proxy module `module=proxy` to retrieve standard Ethereum JSON-RPC methods.

  For Blockscout, send post requests to\
  **api.blockscout.com/{chain_id}/json-rpc**

  The following methods are supported:

  * eth\_blockNumber
  * eth\_getBalance
  * eth\_getLogs
  * eth\_gasPrice
  * eth\_getTransactionByHash
  * eth\_getTransactionReceipt
  * eth\_chainId
  * eth\_maxPriorityFeePerGas
  * eth\_getTransactionCount
  * eth\_getCode
  * eth\_getStorageAt
  * eth\_estimateGas
  * eth\_getBlockByNumber
  * eth\_getBlockByHash
  * eth\_sendRawTransaction
  * eth\_call

  ### **8. Stats/Network Information**

  ### `module=stats`

  In addition to these stats, Blockscout provides general chain stats via the [REST API](/devs/apis/rest).

  |                       | Blockscout | Etherscan | Purpose                                                                                                                     |
  | :-------------------- | :--------- | :-------- | :-------------------------------------------------------------------------------------------------------------------------- |
  | tokensupply           | ✅          | ✅         | Get Token Information                                                                                                       |
  | ethsupplyexchange     | ✅          | ❌         | total supply in Wei from exchange                                                                                           |
  | ethsupply             | ✅          | ✅         | Get total supply in Wei from DB                                                                                             |
  | ethsupply2            | ❌          | ✅         | Get amount of Ether in circulation, ETH2 Staking rewards, EIP1559 burnt fees, and total withdrawn ETH from the beacon chain |
  | coinsupply            | ✅          | ❌         | Get total coin supply from DB minus burnt number                                                                            |
  | ethprice              | ✅          | ✅         | Get latest price of native coin in USD and BTC                                                                              |
  | coinprice             | ✅          | ❌         | Get latest price of native coin in USD and BTC in more general format                                                       |
  | totalfees             | ✅          | ❌         | Get total transaction fees in Wei paid by users to validators per day                                                       |
  | chainsize             | ❌          | ✅         | Get the size of the Ethereum blockchain, in bytes, over a date range.                                                       |
  | nodecount             | ❌          | ✅ (PRO)   | Get total number of discoverable Ethereum nodes                                                                             |
  | dailytxnfee           | ❌          | ✅ (PRO)   | Get Daily Network Transaction Fee                                                                                           |
  | dailynewaddress       | ❌          | ✅ (PRO)   | Get Daily New Address Count                                                                                                 |
  | dailynetutilization   | ❌          | ✅ (PRO)   | Get Daily Network Utilization                                                                                               |
  | dailyavghashrate      | ❌          | ✅ (PRO)   | Get Daily Average Network Hash Rate                                                                                         |
  | dailytx               | ❌          | ✅ (PRO)   | Get Daily Transaction Count                                                                                                 |
  | dailyavgnetdifficulty | ❌          | ✅ (PRO)   | Get Daily Average Network Difficulty                                                                                        |
  | ethdailyprice         | ❌          | ✅ (PRO)   | Get Ether Historical Price                                                                                                  |

  ### **9. Gas Tracking**

  **Etherscan Gas Tracker** (`module=gastracker`)

  * ✅ `action=gasoracle` - Get Gas Oracle
  * ✅ `action=gasestimate` - Get Gas Estimate

  **Blockscout**

  * ✅ Gas information integrated into transaction and block data
</Accordion>

## Contract verification process

Blockscout offers advanced contract verification and interaction possibilities. Pre-existing contracts in various contexts are verified automatically (partial verification - which exposes the contract and methods) via the [Ethereum bytecode DB.](/about/features/ethereum-bytecode-database-microservice)

New contracts (Solidity, Vyper, Yul) can be verified via dev tools or directly in the Blockscout UI. \
<Icon icon="paper-plane-top" /> [Contract verification guide](/devs/verification/blockscout-smart-contract-verification-api)

<Check>
  Dev tools widely support the Blockscout explorer. For example:

  * Ethers.js: [https://docs.ethers.org/v6/api/providers/thirdparty/#providers-blockscout](https://docs.ethers.org/v6/api/providers/thirdparty/#providers-blockscout)
  * Hardhat: [https://www.npmjs.com/package/@ericxstone/hardhat-blockscout-verify](https://www.npmjs.com/package/@ericxstone/hardhat-blockscout-verify)
  * Foundry: [https://docs.blockscout.com/devs/verification/foundry-verification](https://docs.blockscout.com/devs/verification/foundry-verification)
  * Remix: [https://www.blog.blockscout.com/deploy-and-verify-your-contract-using-remix-and-blockscout/](https://www.blog.blockscout.com/deploy-and-verify-your-contract-using-remix-and-blockscout/)
</Check>

## My Account

Blockscout My Account lets you create watchlists, customize your explorer with private tags, create free API keys for extended use and more. <Icon icon="person" /> [My Account Guide](/using-blockscout/my-account)

# Making the most of your explorer experience

## Switching from Etherscan

If you are used to using Etherscan, it is easy to switch to Blockscout. Most information is presented in a similar manner and in similar places in the UI with parity in data presentation.

[Full migration info here](/devs/migrate-from-etherscan)

<Accordion icon="magnifying-glass-arrows-rotate" title="Blockscout / Etherscan Feature Differences">
  ## **Additional Blockscout feature set**

  [******An itemized list of over 60 features and views available on Blockscout that are not available on Optimistic Etherscan is available here.******](https://docs.google.com/spreadsheets/d/1HGw9bh5Iq3xBZlrnrwVOzD_0844zt7PPakkuxVsiS1g/edit?usp=sharing)

  * **DAppscout** DApp marketplace providing dapp discovery and interaction features.
  * **BENS in addition to ENS support, protocols can submit their subgraphs to be supported. Blockscout allows multiple protocols to co-exist within a single network.**
  * **Ads and banner control** - Ability to add and curate own ads/banners
  * **Public tagging - a central microservice allows tags enabled on mainnet to be shown on other chains. This is especially useful for malicious address display.**
  * **Vera and BytecodeDB Bytecode match works for verification info on multiple chains**
  * **Roadmap, research and rollup-specific features**
    * Rollup-specific feature support (e.g. Fault proofs)
    * DA support (e.g. [Celestia](https://github.com/blockscout/blockscout/pull/10199))

  ## **Additional Etherscan feature set (features not yet available on Blockscout)**

  * Page views not included in the Blockscout UI

    * [NFT Latest Transfers](https://optimistic.etherscan.io/nft-transfers)
    * [NFT Latest Mints](https://optimistic.etherscan.io/nft-latest-mints)

    Developer tools not included in Blockscout

    * [EVM bytecode decompiler (experimental)](https://optimistic.etherscan.io/bytecode-decompiler)
    * [Contract > Similar contracts](https://optimistic.etherscan.io/find-similar-contracts)
    * [Contract > Diff checker](https://optimistic.etherscan.io/contractdiffchecker)
    * [Contract > Bytecode to Opcode Disassembler](https://optimistic.etherscan.io/opcode-tool)
    * [Vyper Online Compiler](https://optimistic.etherscan.io/vyper)
    * [AI Code reader](https://optimistic.etherscan.io/code-reader)

    Tools and services not included in Blockscout

    Blockscout does not include some add-on tooling such as the

    [input data converter](https://etherscan.io/inputdatadecoder), [unit converter](https://etherscan.io/unitconverter), [token approvals](https://etherscan.io/tokenapprovalchecker) and [verified signatures](https://etherscan.io/verifiedSignatures). These are readily available through 3rd party applications and/or currently not considered as high-priority features.
</Accordion>

## Using Dappscout

Dappscout is a decentralized application marketplace built into Blockscout. It features a list of dapps available on Optimism.  <Icon icon="store" /> [Dappscout Guide](/using-blockscout/blockscout-apps)
