Migration Guide

Why Switch to OpenScan.AI?

  • OpenScan.AI is transparent, open-source software. Supported by the community for the community good.
  • OpenScan.AI adds new features regularly and offers support quickly.
  • OpenScan.AI provides fast and reliable chain information, and robust APIs for developers.
  • OpenScan.AI is a proven explorer with ecosystem-wide support, high data availability, AI-powered features, and a rich feature set other explorers do not offer.

OpenScan.AI Features

  • Deep Search
  • Advanced Contract Interaction
  • JSON RPC & REST APIs
  • User Operations
  • Enhanced Metadata
  • DEX tracker
  • Interop explorer in progress

Change links in your application to point to OpenScan.AI

  • Update primary links. Update all code within an application by replacing the front part of the url. Link Switch Guide
  • Update wallet links: Many wallets can be updated manually to switch the primary explorer link to OpenScan.AI.

API updates

API keys are created in the explorer’s My Account section — OpenScan.AI has no separate key portal.

  • API calls follow the same query structure as Etherscan. OpenScan.AI supports most of the same calls. Replace the front part of the url from https://api.etherscan.io/v2/api?chainid=X to https://api.xdcscan.io/api
    • API Docs
    • GraphQL is not currently exposed on xdcscan.io — there is no /graphiql playground in the deployed explorer build. Use the REST API or the Etherscan-compatible module API above for programmatic access.

API Differences

1. Account/Address Endpoints

module=account

OpenScan.AIEtherscanPurpose
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

OpenScan.AIEtherscanPurpose
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_sourcify✅❌Verify a contract through Sourcify
action=verify_vyper_contract✅❌Verify a Vyper contract

3. Transaction Endpoints

module=transaction

OpenScan.AIEtherscanPurpose
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

OpenScan.AIEtherscanPurpose
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.
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.

OpenScan.AIEtherscanPurpose
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 OpenScan.AI 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.

Note: Raw passthrough JSON-RPC is not currently exposed on OpenScan.AI. The legacy https://xdcscan.io/api/eth-rpc endpoint returns 404, and POSTing a raw JSON-RPC payload to the API base does not return a JSON-RPC response. Likewise, module=proxy actions currently return an empty {"message":"OK","status":"1"} acknowledgement without a result field, so they are not usable yet.

Use the module API equivalents below for the common JSON-RPC reads — all verified live against https://api.xdcscan.io/api:

The following JSON-RPC methods have working module API equivalents:

  • eth_blockNumber → module=block&action=eth_block_number — returns a real JSON-RPC-shaped payload, e.g. curl "https://api.xdcscan.io/api?module=block&action=eth_block_number" → {"jsonrpc":"2.0","result":"0x66fbfa7","id":1}
  • eth_getBalance → module=account&action=balance — e.g. curl "https://api.xdcscan.io/api?module=account&action=balance&address=0x0000000000000000000000000000000000000000&tag=latest" → {"message":"OK","status":"1","result":"887332598225448556188226"}
  • eth_getLogs → module=logs&action=getLogs — Get Event Logs by Address/Topics/Block Range (see the Logs/Events Endpoints section above)

The following methods are not currently returning data — the endpoints respond, but with an empty acknowledgement and no result:

  • eth_gasPrice (and the module=gastracker gas oracle)
  • All other module=proxy actions: eth_chainId, eth_getTransactionByHash, eth_getTransactionReceipt, 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, OpenScan.AI provides general chain stats via the REST API.

OpenScan.AIEtherscanPurpose
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

OpenScan.AI

  • ✅ Gas information integrated into transaction and block data

Contract verification process

OpenScan.AI 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.

New contracts (Solidity, Vyper, Yul) can be verified via dev tools or directly in the OpenScan.AI UI. Contract verification guide

Note: Dev tools widely support the OpenScan.AI explorer. For example:

My Account

OpenScan.AI My Account lets you create watchlists, customize your explorer with private tags, create free API keys for extended use and more. My Account Guide

Making the most of your explorer experience

Switching from Etherscan

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

Full migration info here

OpenScan.AI / Etherscan Feature Differences

Additional OpenScan.AI feature set

  • BENS — in addition to ENS support, protocols can submit their subgraphs to be supported. OpenScan.AI 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)

Additional Etherscan feature set (features not yet available on OpenScan.AI)

Page views not included in the OpenScan.AI UI:

Developer tools not included in OpenScan.AI:

Tools and services not included in OpenScan.AI:

OpenScan.AI does not include some add-on tooling such as the input data converter, unit converter, token approvals and verified signatures. These are readily available through 3rd party applications and/or currently not considered as high-priority features.

Edit page on github

Last modified on October 4, 2026