# Get Address ERC20 Token Holding Source: https://docs.etherscan.io/api-reference/endpoint/addresstokenbalance GET /v2/api Retrieves the current ERC-20 token balance for a specified address. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above This endpoint is throttled to **2 calls/second** regardless of API Pro tier. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `addresstokenbalance` for this endpoint. Address to check for token holdings. Page number for pagination. Number of records per page. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=account&action=addresstokenbalance&address=0x983e3660c0bE01991785F80f266A84B911ab59b0&page=1&offset=100&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "TokenAddress": "0xffffffff2ba8f66d4e51811c5190992176930278", "TokenName": "Furucombo", "TokenSymbol": "COMBO", "TokenQuantity": "1861606940000000000", "TokenDivisor": "18", "TokenPriceUSD": "0.000891470000000000" }, { "TokenAddress": "0x53a1e9912323b8016424d6287286e3b6de263f76", "TokenName": "PUTIN Token", "TokenSymbol": "PTT", "TokenQuantity": "3500000000000000000000", "TokenDivisor": "18", "TokenPriceUSD": "0.000000000000000000" } ] } ``` # Get Address ERC721 Token Holding Source: https://docs.etherscan.io/api-reference/endpoint/addresstokennftbalance GET /v2/api Retrieves the ERC-721 tokens and their quantities owned by a specific address. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above This endpoint is throttled to **2 calls/second** regardless of API Pro tier. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `addresstokennftbalance` for this endpoint. Address to check for NFT holdings. Page number for pagination. Number of records per page. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=account&action=addresstokennftbalance&address=0x6b52e83941eb10f9c613c395a834457559a80114&page=1&offset=100&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "0", "message": "NOTOK", "result": "Maximum rate limit reached" } ``` # Get Address ERC721 Token Inventory by Contract Source: https://docs.etherscan.io/api-reference/endpoint/addresstokennftinventory GET /v2/api Retrieves the number of ERC-721 token IDs owned by a specific address for each NFT collection. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above This endpoint is throttled to **2 calls/second** regardless of API Pro tier. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `addresstokennftinventory` for this endpoint. Address to check for inventory. ERC-721 token contract address to filter by. Page number for pagination. Number of records per page. Limited to 1000 records per query; use the `page` parameter for subsequent records. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=account&action=addresstokennftinventory&address=0x123432244443b54409430979df8333f9308a6040&contractaddress=0xed5af388653567af2f388e6224dc7c4b3241c544&page=1&offset=100&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "TokenAddress": "0xed5af388653567af2f388e6224dc7c4b3241c544", "TokenId": "453" }, { "TokenAddress": "0xed5af388653567af2f388e6224dc7c4b3241c544", "TokenId": "8160" } ] } ``` # Get Native Balance for an Address Source: https://docs.etherscan.io/api-reference/endpoint/balance GET /v2/api Retrieves the native token balance held by a specific address. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `balance` for this endpoint. The address to query, like `0xfefefefefefefefefefefefefefefefefefefefe`. Up to 20 addresses can be queried, separated by commas. Use `latest` for the last block number of the chain. Also accepts a specific block number in hex format, like `0x10d4f` up to the last 128 blocks. For historical balances, use the [Historical Balance](/api-reference/endpoint/balancehistory) endpoint. ```json Response theme={null} { "status":"1", "message":"OK", "result":"172774397764084972158218" } ``` # Get Historical Native Balance for an Address Source: https://docs.etherscan.io/api-reference/endpoint/balancehistory GET /v2/api Retrieves the balance of a specified address at a given block height. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above This endpoint is throttled to **2 calls/second** regardless of API Pro tier. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `balancehistory` for this endpoint. The address to query, like `0xfefefefefefefefefefefefefefefefefefefefe`. Block number to check balance at, all the way up to the genesis block `0`. ```json Response theme={null} { "status": "1", "message": "OK", "result": "610538078574759898951277" } ``` # Chainlist Source: https://docs.etherscan.io/api-reference/endpoint/chainlist GET /v2/chainlist Returns the list of all supported Etherscan mainnet and testnet chains. ### Query Parameters No parameters required. ```json Response theme={null} { "comments": "List of API endpoints maintained by Etherscan EAAS. Available Status codes are (0)=Offline, (1)=Ok, (2)=Degraded", "totalcount": 67, "result": [ { "chainname": "Ethereum Mainnet", "chainid": "1", "blockexplorer": "https://etherscan.io/", "apiurl": "https://api.etherscan.io/v2/api?chainid=1", "status": 1, "comment": "" }, { "chainname": "Sepolia Testnet", "chainid": "11155111", "blockexplorer": "https://sepolia.etherscan.io/", "apiurl": "https://api.etherscan.io/v2/api?chainid=11155111", "status": 1, "comment": "" }, { "chainname": "Base Mainnet", "chainid": "8453", "blockexplorer": "https://basescan.org/", "apiurl": "https://api.etherscan.io/v2/api?chainid=8453", "status": 1, "comment": "" }, { "chainname": "Polygon Mainnet", "chainid": "137", "blockexplorer": "https://polygonscan.com/", "apiurl": "https://api.etherscan.io/v2/api?chainid=137", "status": 1, "comment": "" }, { "chainname": "Arbitrum One Mainnet", "chainid": "42161", "blockexplorer": "https://arbiscan.io/", "apiurl": "https://api.etherscan.io/v2/api?chainid=42161", "status": 1, "comment": "" } ] } ``` # Get Ethereum Nodes Size Source: https://docs.etherscan.io/api-reference/endpoint/chainsize GET /v2/api Retrieves the total size of the Ethereum blockchain, in bytes, within a specified date range. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `chainsize` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Node client to query, either `geth` or `parity`. Node type to run, either `default` or `archive`. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=chainsize&startdate=2019-02-01&enddate=2019-02-28&clienttype=geth&syncmode=default&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "7156164", "chainTimeStamp": "2019-02-01", "chainSize": "184726421279", "clientType": "Geth", "syncMode": "Default" }, { "blockNumber": "7161012", "chainTimeStamp": "2019-02-02", "chainSize": "184726654448", "clientType": "Geth", "syncMode": "Default" } ] } ``` # Check Proxy Contract Verification Status Source: https://docs.etherscan.io/api-reference/endpoint/checkproxyverification GET /v2/api Check the status of a proxy contract verification. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `checkproxyverification` for this endpoint. The GUID received from the proxy verification request. ```json Response theme={null} { "status": "0", "message": "NOTOK", "result": "The proxy contract at 0xcbdcd3815b5f975e1a2c944a9b2cd1c985a1cb7f does not seem to be verified. Please verify and publish the contract source before proceeding with this proxy verification." } ``` # Check Source Code Verification Status Source: https://docs.etherscan.io/api-reference/endpoint/checkverifystatus POST /v2/api Check the status of a source code verification request. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `checkverifystatus` for this endpoint. The GUID received from the verification request. ```json Response theme={null} { "status": "1", "message": "OK", "result": "Pass - Verified" } ``` # Get Daily Average Block Size Source: https://docs.etherscan.io/api-reference/endpoint/dailyavgblocksize GET /v2/api Retrieves the average daily block size over a specified date range. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID you query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyavgblocksize` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order, either `asc` or `desc`. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyavgblocksize&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "blockSize_bytes": 20373 }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "blockSize_bytes": 17499 } ] } ``` # Get Daily Average Block Time Source: https://docs.etherscan.io/api-reference/endpoint/dailyavgblocktime GET /v2/api Retrieves the daily average time taken to successfully mine a block. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID you query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyavgblocktime` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order, either `asc` or `desc`. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyavgblocktime&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "blockTime_sec": "17.67" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "blockTime_sec": "17.41" } ] } ``` # Get Daily Average Gas Limit Source: https://docs.etherscan.io/api-reference/endpoint/dailyavggaslimit GET /v2/api Retrieve daily average gas limit statistics. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyavggaslimit` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyavggaslimit&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "gasLimit": "8001360" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "gasLimit": "8001269" } ] } ``` # Get Daily Average Gas Price Source: https://docs.etherscan.io/api-reference/endpoint/dailyavggasprice GET /v2/api Retrieve daily average gas price statistics. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyavggasprice` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyavggasprice&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "maxGasPrice_Wei": "60814303896257", "minGasPrice_Wei": "432495", "avgGasPrice_Wei": "13234562600" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "maxGasPrice_Wei": "20000000000000", "minGasPrice_Wei": "2352", "avgGasPrice_Wei": "12000569516" } ] } ``` # Get Daily Average Network Hash Rate Source: https://docs.etherscan.io/api-reference/endpoint/dailyavghashrate GET /v2/api Retrieves the historical hash rate, reflecting the processing power of the network over time. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyavghashrate` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyavghashrate&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "networkHashRate": "143116.0140" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "networkHashRate": "143036.2313" } ] } ``` # Get Daily Average Network Difficulty Source: https://docs.etherscan.io/api-reference/endpoint/dailyavgnetdifficulty GET /v2/api Returns the historical mining difficulty data of the network. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyavgnetdifficulty` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyavgnetdifficulty&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "networkDifficulty": "2,408.028" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "networkDifficulty": "2,358.910" } ] } ``` # Get Daily Block Count and Rewards Source: https://docs.etherscan.io/api-reference/endpoint/dailyblkcount GET /v2/api Retrieves the daily count of mined blocks along with the corresponding block rewards. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID you query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyblkcount` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order, either `asc` or `desc`. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyblkcount&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "blockCount": 4848, "blockRewards_Eth": "14929.464690870590355682" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "blockCount": 4935, "blockRewards_Eth": "15120.386084685869906669" } ] } ``` # Get Daily Block Rewards Source: https://docs.etherscan.io/api-reference/endpoint/dailyblockrewards GET /v2/api Retrieves the daily distribution of block rewards to miners. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID you query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyblockrewards` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order, either `asc` or `desc`. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyblockrewards&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "blockRewards_Eth": "15300.65625" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "blockRewards_Eth": "15611.625" } ] } ``` # Get Ethereum Daily Total Gas Used Source: https://docs.etherscan.io/api-reference/endpoint/dailygasused GET /v2/api Retrieves the total daily gas usage for transactions within the network This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailygasused` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailygasused&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "gasUsed": "32761450415" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "gasUsed": "30168904532" } ] } ``` # Get Daily Network Utilization Source: https://docs.etherscan.io/api-reference/endpoint/dailynetutilization GET /v2/api Retrieves the daily average percentage of gas used relative to the gas limit. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailynetutilization` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailynetutilization&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "networkUtilization": "0.8464" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "networkUtilization": "0.7687" } ] } ``` # Get Daily New Address Count Source: https://docs.etherscan.io/api-reference/endpoint/dailynewaddress GET /v2/api Retrieves the daily count of newly created addresses. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailynewaddress` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailynewaddress&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "newAddressCount": 54081 }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "newAddressCount": 65152 } ] } ``` # Get Daily Transaction Count Source: https://docs.etherscan.io/api-reference/endpoint/dailytx GET /v2/api Retrieves the daily number of transactions executed in the blockchain. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailytx` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailytx&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "transactionCount": 498856 }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "transactionCount": 450314 } ] } ``` # Get Daily Network Transaction Fee Source: https://docs.etherscan.io/api-reference/endpoint/dailytxnfee GET /v2/api Retrieves the total transaction fees paid to miners each day. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailytxnfee` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailytxnfee&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "transactionFee_Eth": "358.558440870590355682" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "transactionFee_Eth": "286.886084685869906669" } ] } ``` # Get Daily Uncle Block Count and Rewards Source: https://docs.etherscan.io/api-reference/endpoint/dailyuncleblkcount GET /v2/api Returns the daily count of Uncle blocks mined and their associated rewards. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID you query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `dailyuncleblkcount` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order, either `asc` or `desc`. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=dailyuncleblkcount&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "uncleBlockCount": 287, "uncleBlockRewards_Eth": "729.75" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "uncleBlockCount": 304, "uncleBlockRewards_Eth": "778.125" } ] } ``` # eth_blockNumber Source: https://docs.etherscan.io/api-reference/endpoint/ethblocknumber GET /v2/api Fetch the latest block number. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_blockNumber` for this endpoint. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_blockNumber&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 83, "result": "0x1661760" } ``` # eth_call Source: https://docs.etherscan.io/api-reference/endpoint/ethcall GET /v2/api Execute a call without creating a transaction. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_call` for this endpoint. The address to interact with. Hash of the method signature and encoded parameters. Use `latest`, `earliest`, `pending`, or a block number in hex. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_call&to=0xAEEF46DB4855E25702F8237E8f403FddcaF931C0&data=0x70a08231000000000000000000000000e16359506c028e51f16be38986ec5746251e9724&tag=latest&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": "0x00000000000000000000000000000000000000000000000000601d8888141c00" } ``` # Get Ether Historical Price Source: https://docs.etherscan.io/api-reference/endpoint/ethdailyprice GET /v2/api Returns the historical price data for 1 ETH. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `ethdailyprice` for this endpoint. Starting date in `yyyy-MM-dd` format. Ending date in `yyyy-MM-dd` format. Sort order either `desc` for the latest results first or `asc` for the oldest results first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=ethdailyprice&startdate=2019-02-01&enddate=2019-02-28&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "UTCDate": "2019-02-01", "unixTimeStamp": "1548979200", "value": "107.03" }, { "UTCDate": "2019-02-02", "unixTimeStamp": "1549065600", "value": "111.00" } ] } ``` # eth_estimateGas Source: https://docs.etherscan.io/api-reference/endpoint/ethestimategas GET /v2/api Estimate the gas required for a transaction. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_estimateGas` for this endpoint. Hash of the method signature and encoded parameters. The address to interact with. Value sent in this transaction, in hex. Gas price in wei. Gas limit provided for the transaction, in hex. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_estimateGas&data=0x4e71d92d&to=0xf0160428a8552ac9bb7e050d90eeade4ddd52843&value=0xff22&gasPrice=0x51da038cc&gas=0x5f5e0ff&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": "0x66ac" } ``` # eth_gasPrice Source: https://docs.etherscan.io/api-reference/endpoint/ethgasprice GET /v2/api Get the current gas price. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_gasPrice` for this endpoint. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_gasPrice&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 73, "result": "0x1d9d2db2" } ``` # eth_getBlockByNumber Source: https://docs.etherscan.io/api-reference/endpoint/ethgetblockbynumber GET /v2/api Get block information by number. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getBlockByNumber` for this endpoint. Block number in hex format. Set to `true` to return full transaction objects or `false` for transaction hashes only. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getBlockByNumber&tag=0x10d4f&boolean=true&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": { "difficulty": "0x1d95715bd14", "extraData": "0x", "gasLimit": "0x2fefd8", "gasUsed": "0x5208", "hash": "0x7eb7c23a5ac2f2d70aa1ba4e5c56d89de5ac993590e5f6e79c394e290d998ba8", "logsBloom": "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "miner": "0xf927a40c8b7f6e07c5af7fa2155b4864a4112b13", "mixHash": "0x13dd2c8aec729f75aebcd79a916ecb0f7edc6493efcc6a4da8d7b0ab3ee88444", "nonce": "0xc60a782e2e69ce22", "number": "0x10d4f", "parentHash": "0xf8d01370e6e274f8188954fbee435b40c35b2ad3d4ab671f6d086cd559e48f04", "receiptsRoot": "0x0c44b7ed0fefb613ec256341aa0ffdb643e869e3a0ebc8f58e36b4e47efedd33", "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "size": "0x275", "stateRoot": "0xd64a0f63e2c7f541e6e6f8548a10a5c4e49fda7ac1aa80f9dddef648c7b9e25f", "timestamp": "0x55c9ea07", "transactions": [ { "blockHash": "0x7eb7c23a5ac2f2d70aa1ba4e5c56d89de5ac993590e5f6e79c394e290d998ba8", "blockNumber": "0x10d4f", "from": "0x4458f86353b4740fe9e09071c23a7437640063c9", "gas": "0x5208", "gasPrice": "0xba43b7400", "hash": "0xa442249820de6be754da81eafbd44a865773e4b23d7c0522d31fd03977823008", "input": "0x", "nonce": "0x1", "to": "0xbf3403210f9802205f426759947a80a9fda71b1e", "transactionIndex": "0x0", "value": "0xaa9f075c200000", "type": "0x0", "v": "0x1b", "r": "0x2c2789c6704ba2606e200e1ba4fd17ba4f0e0f94abe32a12733708c3d3442616", "s": "0x2946f47e3ece580b5b5ecb0f8c52604fa5f60aeb4103fc73adcbf6d620f9872b" } ], "transactionsRoot": "0x4a5b78c13d11559c9541576834b5172fe8b18507c0f9f76454fcdddedd8dff7a", "uncles": [] } } ``` # eth_getBlockTransactionCountByNumber Source: https://docs.etherscan.io/api-reference/endpoint/ethgetblocktransactioncountbynumber GET /v2/api Get the number of transactions in a block. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getBlockTransactionCountByNumber` for this endpoint. Block number in hex format. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getBlockTransactionCountByNumber&tag=0x10FB78&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": "0x3" } ``` # eth_getCode Source: https://docs.etherscan.io/api-reference/endpoint/ethgetcode GET /v2/api Get the code stored at an address. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getCode` for this endpoint. The address to query. Use `latest`, `earliest`, `pending`, or a block number in hex. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getCode&address=0xf75e354c5edc8efed9b59ee9f67a80845ade7d0c&tag=latest&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": "0x3660008037602060003660003473273930d21e01ee25e4c219b63259d214872220a261235a5a03f21560015760206000f3" } ``` # eth_getStorageAt Source: https://docs.etherscan.io/api-reference/endpoint/ethgetstorageat GET /v2/api Get the value at a storage position. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getStorageAt` for this endpoint. The address to query. Storage position in hex. Use `latest`, `earliest`, `pending`, or a block number in hex. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getStorageAt&address=0x6e03d9cce9d60f3e9f2597e13cd4c54c55330cfd&position=0x0&tag=latest&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": "0x0000000000000000000000000000000000000000000000000000000000000000" } ``` # eth_getTransactionByBlockNumberAndIndex Source: https://docs.etherscan.io/api-reference/endpoint/ethgettransactionbyblocknumberandindex GET /v2/api Get transaction details by block number and index. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getTransactionByBlockNumberAndIndex` for this endpoint. Block number in hex format. Transaction index position in the block, in hex. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getTransactionByBlockNumberAndIndex&tag=0xC6331D&index=0x11A&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": { "blockHash": "0x13c5311a78b9a8790c58f1d0d0660226352a498cc98b06e1861f1967d3a9d1b4", "blockNumber": "0xc6331d", "from": "0xd1af036d589b6ebfbaa184b339a30d32ef611708", "gas": "0x11170", "gasPrice": "0x5b7e259a7", "maxFeePerGas": "0x5b7e259a7", "maxPriorityFeePerGas": "0x5b7e259a7", "hash": "0xc7ef51f0bfe85eefbb1d4d88f5a39e82fbfc94987d8cbcb515f74d80b6e44902", "input": "0x2d2da806000000000000000000000000d1af036d589b6ebfbaa184b339a30d32ef611708", "nonce": "0x0", "to": "0xabea9132b05a70803a4e85094fd0e1800777fbef", "transactionIndex": "0x11a", "value": "0x57930b5db6a000", "type": "0x2", "accessList": [], "chainId": "0x1", "v": "0x0", "r": "0x595619be17755f7427d07626275e4c89b8f9d5a0a668515165ea000d30f26325", "s": "0x33d4b22c7c779fc9f04c81788cb4268d2c3f8dc9e219245570bdd384c6ca6690", "yParity": "0x0" } } ``` # eth_getTransactionByHash Source: https://docs.etherscan.io/api-reference/endpoint/ethgettransactionbyhash GET /v2/api Get transaction details by hash. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getTransactionByHash` for this endpoint. The transaction hash to query. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getTransactionByHash&txhash=0xbc78ab8a9e9a0bca7d0321a27b2c03addeae08ba81ea98b03cd3dd237eabed44&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": { "blockHash": "0xf850331061196b8f2b67e1f43aaa9e69504c059d3d3fb9547b04f9ed4d141ab7", "blockNumber": "0xcf2420", "from": "0x00192fb10df37c9fb26829eb2cc623cd1bf599e8", "gas": "0x5208", "gasPrice": "0x19f017ef49", "maxFeePerGas": "0x1f6ea08600", "maxPriorityFeePerGas": "0x3b9aca00", "hash": "0xbc78ab8a9e9a0bca7d0321a27b2c03addeae08ba81ea98b03cd3dd237eabed44", "input": "0x", "nonce": "0x33b79d", "to": "0xc67f4e626ee4d3f272c2fb31bad60761ab55ed9f", "transactionIndex": "0x5b", "value": "0x19755d4ce12c00", "type": "0x2", "accessList": [], "chainId": "0x1", "v": "0x0", "r": "0xa681faea68ff81d191169010888bbbe90ec3eb903e31b0572cd34f13dae281b9", "s": "0x3f59b0fa5ce6cf38aff2cfeb68e7a503ceda2a72b4442c7e2844d63544383e3", "yParity": "0x0" } } ``` # eth_getTransactionCount Source: https://docs.etherscan.io/api-reference/endpoint/ethgettransactioncount GET /v2/api Get the number of transactions sent from an address. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getTransactionCount` for this endpoint. The address to query. Use `latest`, `earliest`, `pending`, or a block number in hex. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getTransactionCount&address=0x4bd5900Cb274ef15b153066D736bf3e83A9ba44e&tag=latest&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": "0x73" } ``` # eth_getTransactionReceipt Source: https://docs.etherscan.io/api-reference/endpoint/ethgettransactionreceipt GET /v2/api Get the receipt of a transaction by hash. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getTransactionReceipt` for this endpoint. The transaction hash to query. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getTransactionReceipt&txhash=0xadb8aec59e80db99811ac4a0235efa3e45da32928bcff557998552250fa672eb&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": { "blockHash": "0x07c17710dbb7514e92341c9f83b4aab700c5dba7c4fb98caadd7926a32e47799", "blockNumber": "0xcf2427", "contractAddress": null, "cumulativeGasUsed": "0xeb67d5", "effectiveGasPrice": "0x1a96b24c26", "from": "0x292f04a44506c2fd49bac032e1ca148c35a478c8", "gasUsed": "0xb41d", "logs": [ { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x000000000000000000000000292f04a44506c2fd49bac032e1ca148c35a478c8", "0x000000000000000000000000ab6960a6511ff18ed8b8c012cb91c7f637947fc0" ], "data": "0x00000000000000000000000000000000000000000000000000000000013f81a6", "blockNumber": "0xcf2427", "transactionHash": "0xadb8aec59e80db99811ac4a0235efa3e45da32928bcff557998552250fa672eb", "transactionIndex": "0x122", "blockHash": "0x07c17710dbb7514e92341c9f83b4aab700c5dba7c4fb98caadd7926a32e47799", "logIndex": "0xdb", "removed": false } ], "logsBloom": "0x0000000000000000000000000000000000000000000000000000000000000400000000000400000000000000000001000000000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000001000000000110000000000000000000000000000000000000000000000000000000200100000000000000000000000000080000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": "0x1", "to": "0xdac17f958d2ee523a2206206994597c13d831ec7", "transactionHash": "0xadb8aec59e80db99811ac4a0235efa3e45da32928bcff557998552250fa672eb", "transactionIndex": "0x122", "type": "0x2" } } ``` # eth_getUncleByBlockNumberAndIndex Source: https://docs.etherscan.io/api-reference/endpoint/ethgetunclebyblocknumberandindex GET /v2/api Get uncle block details by block number and index. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_getUncleByBlockNumberAndIndex` for this endpoint. Block number in hex format. Position of the uncle in the block, in hex. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_getUncleByBlockNumberAndIndex&tag=0xC63276&index=0x0&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "result": { "baseFeePerGas": "0x65a42b13c", "difficulty": "0x1b1457a8247bbb", "extraData": "0x486976656f6e2063612d68656176792059476f6e", "gasLimit": "0x1ca359a", "gasUsed": "0xb48fe1", "hash": "0x1da88e3581315d009f1cb600bf06f509cd27a68cb3d6437bda8698d04089f14a", "logsBloom": "0xf1a360ca505cdda510d810c1c81a03b51a8a508ed601811084833072945290235c8721e012182e40d57df552cf00f1f01bc498018da19e008681832b43762a30c26e11709948a9b96883a42ad02568e3fcc3000004ee12813e4296498261619992c40e22e60bd95107c5bd8462fcca570a0095d52a4c24720b00f13a2c3d62aca81e852017470c109643b15041fd69742406083d67654fc841a18b405ab380e06a8c14c0138b6602ea8f48b2cd90ac88c3478212011136802900264718a085047810221225080dfb2c214010091a6f233883bb0084fa1c197330a10bb0006686e678b80e50e4328000041c218d1458880181281765d28d51066058f3f80a7822", "miner": "0x1ad91ee08f21be3de0ba2ba6918e714da6b45836", "mixHash": "0xa8e1dbbf073614c7ed05f44b9e92fbdb3e1d52575ed8167fa57f934210bbb0a2", "nonce": "0x28cc3e5b7bee9866", "number": "0xc63274", "parentHash": "0x496dae3e722efdd9ee1eb69499bdc7ed0dca54e13cd1157a42811c442f01941f", "receiptsRoot": "0x9c9a7a99b4af7607691a7f2a50d474290385c0a6f39c391131ea0c67307213f4", "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "size": "0x224", "stateRoot": "0xde9a11f0ee321390c1a7843cab7b9ffd3779d438bc8f77de4361dfe2807d7dee", "timestamp": "0x6110bd1a", "transactionsRoot": "0xa04a79e531db3ec373cb63e9ebfbc9c95525de6347958918a273675d4f221575", "uncles": [] } } ``` # Get Ether Last Price Source: https://docs.etherscan.io/api-reference/endpoint/ethprice GET /v2/api Retrieves the latest price of the native/gas token. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `ethprice` for this endpoint. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=ethprice&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": { "ethbtc": "0.0368322132423383", "ethbtc_timestamp": "1759139509", "ethusd": "4129.30651044757", "ethusd_timestamp": "1759139509" } } ``` # eth_sendRawTransaction Source: https://docs.etherscan.io/api-reference/endpoint/ethsendrawtransaction GET /v2/api Broadcast a signed transaction to the network. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `proxy` for this endpoint. Set to `eth_sendRawTransaction` for this endpoint. The signed raw transaction data to broadcast. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=proxy&action=eth_sendRawTransaction&hex=0xf904808000831cfde080&apikey=YourApiKeyToken" ``` ```json theme={null} { "jsonrpc": "2.0", "id": 1, "error": { "code": -32000, "message": "rlp: value size exceeds available input length" } } ``` # Get Total Supply of Ether Source: https://docs.etherscan.io/api-reference/endpoint/ethsupply GET /v2/api Retrieves the current circulating supply of Ether, excluding ETH2 staking rewards and EIP-1559 burned fees. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `ethsupply` for this endpoint. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=ethsupply&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": "122373866217800000000000000" } ``` # Get Total Supply of Ether 2 Source: https://docs.etherscan.io/api-reference/endpoint/ethsupply2 GET /v2/api Retrieves the current Ether supply, including circulation, ETH2 staking rewards, EIP-1559 burned fees, and total ETH withdrawn from the beacon chain. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `ethsupply2` for this endpoint. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=ethsupply2&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": { "EthSupply": "122373866217800000000000000", "Eth2Staking": "2940327167090033000000000", "BurntFees": "4610942856337430575173814", "WithdrawnTotal": "7618584348954597000000000" } } ``` # Export Address Tags Source: https://docs.etherscan.io/api-reference/endpoint/exportaddresstags GET https://api-metadata.etherscan.io/v1/api.ashx This is a PRO endpoint, available to the [Enterprise tier](https://etherscan.io/apis) This endpoint is throttled to 2 calls/s and 100 calls/day ### Query Parameters Your Etherscan API key. Set to `nametag` for this endpoint. Set to `exportaddresstags` for this endpoint. Use the [Label Master List](/api-reference/endpoint/getlabelmasterlist) to discover categeories like `phish-hack`, or pass `all` to export every label. The response format, currently only in `.csv`. ```csv Response theme={null} "address";"nametag";"internal_nametag";"url";"shortdescription";"notes_1";"notes_2";"labels";"labels_slug";"reputation";"other_attributes";"lastupdatedtimestamp" "0x0000000000000000000000000000000000001111";"Fake_Phishing589039";"";"";"";"There are reports that this address was used in a Phishing scam. Please exercise caution when interacting with it. Reported by HashDit.";"";"Phish / Hack";"phish-hack";"2";"";"1728292621" "0x00000000001adc2c0b202d0f72ad9d50f0675296";"Fake_Phishing1334182";"";"";"";"There are reports that this address was used in a Phishing scam. Please exercise caution when interacting with it. Reported by BlockSec.";"";"Phish / Hack";"phish-hack";"2";"";"1757057505" "0x00000000006a2b6820feb8d5ac00cb6800795d8f";"Fake_Phishing326507";"";"";"";"There are reports that this address was used in a Phishing scam. Please exercise caution when interacting with it.";"";"Phish / Hack";"phish-hack";"2";"";"1711418316" "0x0000000000d67e5d5f991a40f04ed40fa3b150df";"Fake_Phishing326508";"";"";"";"There are reports that this address was used in a Phishing scam. Please exercise caution when interacting with it.";"";"Phish / Hack";"phish-hack";"2";"";"1711418362" "0x0000000000e7f7e18e6b7890ea1227ff088e6653";"Fake_Phishing686515";"";"";"";"There are reports that this address was used in a Phishing scam. Please exercise caution when interacting with it. Reported by ScamSniffer.";"";"Phish / Hack";"phish-hack";"2";"";"1734599538" "0x00000000020e203eb8fc5d0724e7c93e6b002c71";"Fake_Phishing119146";"";"";"";"Warning! This address may be attempting to impersonate a similar looking address. Please proceed with caution.";"";"Phish / Hack";"phish-hack";"2";"";"1738570688" ``` # Get Address Funded By Source: https://docs.etherscan.io/api-reference/endpoint/fundedby GET /v2/api Retrieves the address and transaction that first funded a specific EOA address, useful for tracing fund origins. Not available to contract addresses. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `137` for Polygon from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `fundedby` for this endpoint. The address to query, like `0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97`. ```json Response theme={null} { "status": "1", "message": "OK", "result": { "block": 53708500, "timeStamp": "1708349932", "fundingAddress": "0x6969174fd72466430a46e18234d0b530c9fd5f49", "fundingTxn": "0xbc0ca4a67eb1555920552246409626cd60df01314dd2bcdb99718b506d9c9946", "value": "1000000000000000" } } ``` # Get Estimation of Confirmation Time Source: https://docs.etherscan.io/api-reference/endpoint/gasestimate GET /v2/api Estimate confirmation time based on a provided gas price. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `gastracker` for this endpoint. Set to `gasestimate` for this endpoint. Gas price paid per unit of gas, in wei. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=gastracker&action=gasestimate&gasprice=2000000000&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": "45" } ``` # Get Gas Oracle Source: https://docs.etherscan.io/api-reference/endpoint/gasoracle GET /v2/api Get current gas price recommendations. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `gastracker` for this endpoint. Set to `gasoracle` for this endpoint. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=gastracker&action=gasoracle&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": { "LastBlock": "23467872", "SafeGasPrice": "0.496839934", "ProposeGasPrice": "0.496840168", "FastGasPrice": "0.55411917", "suggestBaseFee": "0.496839934", "gasUsedRatio": "0.405942555555556,0.784013777777778,0.502624148542588,0.719479644444444,0.45673524947105" } } ``` # Get Contract ABI Source: https://docs.etherscan.io/api-reference/endpoint/getabi GET /v2/api Retrieve the ABI for a verified smart contract. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `getabi` for this endpoint. The contract address to query. ```json Response theme={null} { "status": "1", "message": "OK", "result": "[{\"constant\":false,\"inputs\":[{\"name\":\"_c\",\"type\":\"string\"}],\"name\":\"enterValue\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"test\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]" } ``` # Get Metadata for an Address Source: https://docs.etherscan.io/api-reference/endpoint/getaddresstag GET /v2/api Get nametags and metadata for the specified address. This is a PRO endpoint and is available exclusively to the [Pro Plus tier](https://etherscan.io/apis). This endpoint is throttled to **2 calls/second** regardless of API Pro tier. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `nametag` for this endpoint. Set to `getaddresstag` for this endpoint. The address to query, like `0x0000db5C8B030AE20308AC975898E09741E70000`. ```json Response theme={null} { "status":"1", "message":"OK", "result":[ { "address":"0xa9d1e08c7793af67e9d92fe308d5697fb81d3e43", "nametag":"Coinbase 10", "internal_nametag":"", "url":"https://coinbase.com", "shortdescription":"", "notes_1":"", "notes_2":"", "labels":[ "Coinbase", "Exchange" ], "labels_slug":[ "coinbase", "exchange" ], "reputation":0, "other_attributes":[ ], "lastupdatedtimestamp":1721899658 } ] } ``` # Get API Usage Source: https://docs.etherscan.io/api-reference/endpoint/getapilimit GET /v2/api Returns your current API credit usage and limit for the interval. ### Query Parameters Your Etherscan API key. Set this to `getapilimit` for this endpoint. Set this to `getapilimit` for this endpoint. ```json theme={null} { "status": "1", "message": "OK", "result": { "creditsUsed": 22, "creditsAvailable": 1499978, "creditLimit": 1500000, "limitInterval": "daily", "intervalExpiryTimespan": "08:42:34" } } ``` # Get Estimated Block Countdown by Block Number Source: https://docs.etherscan.io/api-reference/endpoint/getblockcountdown GET /v2/api Retrieves the estimated time, in seconds, until a specified block is mined. ### Query Parameters Your Etherscan API key. Chain ID you query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `block` for this endpoint. Set to `getblockcountdown` for this endpoint. Block number to estimate time remaining for. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=block&action=getblockcountdown&blockno=16701588&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "0", "message": "NOTOK", "result": "Error! Block number already pass" } ``` # Get Block Number by Timestamp Source: https://docs.etherscan.io/api-reference/endpoint/getblocknobytime GET /v2/api Retrieves the block number mined at a specific timestamp. ### Query Parameters Your Etherscan API key. Chain ID you query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `block` for this endpoint. Set to `getblocknobytime` for this endpoint. Unix timestamp in seconds. Closest available block to the provided timestamp, either `before` or `after`. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=block&action=getblocknobytime×tamp=1578638524&closest=before&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": "9251482" } ``` # Get Block and Uncle Rewards by Block Number Source: https://docs.etherscan.io/api-reference/endpoint/getblockreward GET /v2/api Retrieves block rewards along with associated Uncle block rewards. ### Query Parameters Your Etherscan API key. Chain ID you query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `block` for this endpoint. Set to `getblockreward` for this endpoint. Block number to check rewards for. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=block&action=getblockreward&blockno=2165403&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": { "blockNumber": "2165403", "timeStamp": "1472533979", "blockMiner": "0x13a06d3dfe21e0db5c016c03ea7d2509f7f8d1e3", "blockReward": "5314181600000000000", "uncles": [ { "miner": "0xbcdfc35b86bedf72f0cda046a3c16829a2ef41d1", "unclePosition": "0", "blockreward": "3750000000000000000" }, { "miner": "0x0d0c9855c722ff0c78f21e43aa275a5b8ea60dce", "unclePosition": "1", "blockreward": "3750000000000000000" } ], "uncleInclusionReward": "312500000000000000" } } ``` # Get Contract Creator and Creation Tx Hash Source: https://docs.etherscan.io/api-reference/endpoint/getcontractcreation GET /v2/api Retrieve a contract's deployer address and creation transaction. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `getcontractcreation` for this endpoint. Up to 5 contract addresses, separated by commas. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "contractAddress": "0xcbdcd3815b5f975e1a2c944a9b2cd1c985a1cb7f", "contractCreator": "0x3d080421c9dd5fb387d6e3124f7e1c241ade9568", "txHash": "0xdce495a9261c4a2a5d4e879cfb55c060b4616a846d3425c441a9e31aa34c956f", "blockNumber": "10720863", "timestamp": "1598242563", "contractFactory": "", "creationBytecode": "0x602d3d8160093d39f3363d3d373d3d3d363d73c6cf0f044ba8ea402bfedf9e87b88bf1c008d1625af43d82803e903d91602b57fd5bf3" } ] } ``` # Get Deposit Transactions by Address Source: https://docs.etherscan.io/api-reference/endpoint/getdeposittxs GET /v2/api Retrieves all deposit transactions made by a specified address. This endpoint is only available for the Arbitrum and Optimism stack chains. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `10` for Optimism or `42161` for Arbitrum from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `getdeposittxs` for this endpoint. Address to check for cross-chain deposits from Ethereum to L2. Page number for pagination. Number of records per page. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=10&module=account&action=getdeposittxs&address=0x80f3950a4d371c43360f292a4170624abd9eed03&page=1&offset=10&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "132992375", "timeStamp": "1741583527", "blockHash": "0xef2ff158c8b12be842429f4a8cde58bfa6a389c5274b46f8a1dd2ee7f958ca4d", "hash": "0x64ccd0cfa9f333578b36227492f3bc7f5f3ec4bfa82cdc46f82884db680d8e5b", "nonce": "520502", "from": "0x36bde71c97b33cc4729cf772ae268934f7ab70b2", "to": "0x4200000000000000000000000000000000000007", "value": "598200000000000", "gas": "490798", "gasPrice": "0", "input": "0xd764ad0b000100000000000000000000000000000000000000000000000000000002802a00000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be10000000000000000000000004200000000000000000000000000000000000001000000000000000000000000000000000000000000000000000002200f4a81300000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000a41635f5fd0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000080f3950a4d371c43360f292a4170624abd9eed03000000000000000000000000000000000000000000000000000002200f4a813000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "cumulativeGasUsed": "169497", "gasUsed": "117234", "isError": "0", "errDescription": "", "txreceipt_status": "1", "queueIndex": "999999", "L1transactionhash": "0x303bd05c47e62e1243a33210e535ebc70a7567e53a9972fbdef52ee5bcda5acb", "L1TxOrigin": "0x36bde71c97b33cc4729cf772ae268934f7ab70b2", "tokenAddress": "ETH", "tokenSentFrom": "", "tokenSentTo": "0x80f3950a4d371c43360f292a4170624abd9eed03", "tokenValue": "598200000000000" }, { "blockNumber": "134878032", "timeStamp": "1745354841", "blockHash": "0xd1a47b46e3aaed25c594507cf9df59c9ba7a25542fabed7e2b646efe8b6944f9", "hash": "0xb7cbf6eb529f60b28c6707a52e17c84e75bbe0a968e668a29e5a7550bfb00e92", "nonce": "527247", "from": "0x36bde71c97b33cc4729cf772ae268934f7ab70b2", "to": "0x4200000000000000000000000000000000000007", "value": "1195403000000000", "gas": "490798", "gasPrice": "0", "input": "0xd764ad0b0001000000000000000000000000000000000000000000000000000000029a8300000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be100000000000000000000000042000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000043f36732dae00000000000000000000000000000000000000000000000000000000000000030d4000000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000a41635f5fd0000000000000000000000001231deb6f5749ef6ce6943a275a1d3e7486f4eae00000000000000000000000080f3950a4d371c43360f292a4170624abd9eed030000000000000000000000000000000000000000000000000000043f36732dae000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "cumulativeGasUsed": "147297", "gasUsed": "92234", "isError": "0", "errDescription": "", "txreceipt_status": "1", "queueIndex": "999999", "L1transactionhash": "0xdca5992b97fcb3d2aa4d06f8c47c0786c0007009d15445712931ee0998f94caa", "L1TxOrigin": "0x36bde71c97b33cc4729cf772ae268934f7ab70b2", "tokenAddress": "ETH", "tokenSentFrom": "", "tokenSentTo": "0x80f3950a4d371c43360f292a4170624abd9eed03", "tokenValue": "1195403000000000" } ] } ``` # Get Label Master List Source: https://docs.etherscan.io/api-reference/endpoint/getlabelmasterlist GET https://api-metadata.etherscan.io/v1/api.ashx This is a PRO endpoint, available to the [Enterprise tier](https://etherscan.io/apis) ### Query Parameters Your Etherscan API key. Set to `nametag` for this endpoint. Set to `getlabelmasterlist` for this endpoint. ```json Response theme={null} { "status":"1", "message":"OK", "result":[ { "labelname":"Axelar", "labelslug":"axelar", "shortdescription":"Axelar delivers secure cross-chain communication for Web3. Its infrastructure enables dApp users to interact with any asset or application, on any chain, with one click. Axelar is an overlay network, delivering Turing-complete message passing via proof-of-stake and permissionless protocols.", "notes":"", "lastupdatedtimestamp":1712897117 }, { "labelname":"Binance", "labelslug":"binance", "shortdescription":"Binance is one of the world’s leading blockchain ecosystems, with a product suite that includes the largest digital asset exchange.", "notes":"", "lastupdatedtimestamp":1759922816 } ] } ``` # Get Event Logs by Address Source: https://docs.etherscan.io/api-reference/endpoint/getlogs GET /v2/api Retrieves event logs from a specific address, with optional block range filtering. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `logs` for this endpoint. Set to `getLogs` for this endpoint. Address to check for logs. Starting block number to search from. Ending block number to search to. Page number for pagination. Number of records per page. Limited to 1000 records per query; use the `page` parameter for subsequent records. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=logs&action=getLogs&address=0xbd3531da5cf5857e7cfaa92426877b022e612cf8&fromBlock=12878196&toBlock=12878196&page=1&offset=1000&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "address": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000c45a4b3b698f21f88687548e7f5a80df8b99d93d", "0x00000000000000000000000000000000000000000000000000000000000000b5" ], "data": "0x", "blockNumber": "0xc48174", "blockHash": "0x837e109ab8b1b40ec7d1032bff82397325d85e719b97d900fa0d9aa9745b2c27", "timeStamp": "0x60f9ce56", "gasPrice": "0x2e90edd000", "gasUsed": "0x247205", "logIndex": "0x", "transactionHash": "0x4ffd22d986913d33927a392fe4319bcd2b62f3afe1c15a2c59f77fc2cc4c20a9", "transactionIndex": "0x" }, { "address": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8", "topics": [ "0x645f26e653c951cec836533f8fe0616d301c20a17153debc17d7c3dbe4f32b28", "0x00000000000000000000000000000000000000000000000000000000000000b5" ], "data": "0x", "blockNumber": "0xc48174", "blockHash": "0x837e109ab8b1b40ec7d1032bff82397325d85e719b97d900fa0d9aa9745b2c27", "timeStamp": "0x60f9ce56", "gasPrice": "0x2e90edd000", "gasUsed": "0x247205", "logIndex": "0x1", "transactionHash": "0x4ffd22d986913d33927a392fe4319bcd2b62f3afe1c15a2c59f77fc2cc4c20a9", "transactionIndex": "0x" } ] } ``` # Get Event Logs by Address and Topics Source: https://docs.etherscan.io/api-reference/endpoint/getlogs-address-topics GET /v2/api Retrieves event logs from a specified address, filtered by topics and block range. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `logs` for this endpoint. Set to `getLogs` for this endpoint. Starting block number to search from. Ending block number to search to. Address to check for logs. First topic to filter by, such as an event signature. Topic operator between `topic0` and `topic1`, either `and` or `or`. Second topic to filter by. Page number for pagination. Number of records per page. Limited to 1000 records per query; use the `page` parameter for subsequent records. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=logs&action=getLogs&fromBlock=15073139&toBlock=15074139&address=0x59728544b08ab483533076417fbbb2fd0b17ce3a&topic0=0x27c4f0403323142b599832f26acd21c74a9e5b809f2215726e244a4ac588cd7d&topic0_1_opr=and&topic1=0x00000000000000000000000023581767a106ae21c074b2276d25e5c3e136a68b&page=1&offset=1000&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "address": "0x59728544b08ab483533076417fbbb2fd0b17ce3a", "topics": [ "0x27c4f0403323142b599832f26acd21c74a9e5b809f2215726e244a4ac588cd7d", "0x00000000000000000000000023581767a106ae21c074b2276d25e5c3e136a68b", "0x000000000000000000000000000000000000000000000000000000000000236d", "0x000000000000000000000000c8a5592031f93debea5d9e67a396944ee01bb2ca" ], "data": "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000f207539952d0000", "blockNumber": "0xe60262", "blockHash": "0xb40d77b4ffba5ae2a38cbc87a65a6c9b56f9af5d8bf320aa1f1b6af00b850778", "timeStamp": "0x62c26caf", "gasPrice": "0x5e2d742c9", "gasUsed": "0xfb7f8", "logIndex": "0x4b", "transactionHash": "0x26fe1a0a403fd44ef11ee72f3b4ceff590b6ea533684cb279cb4242be463304c", "transactionIndex": "0x39" }, { "address": "0x59728544b08ab483533076417fbbb2fd0b17ce3a", "topics": [ "0x27c4f0403323142b599832f26acd21c74a9e5b809f2215726e244a4ac588cd7d", "0x00000000000000000000000023581767a106ae21c074b2276d25e5c3e136a68b", "0x0000000000000000000000000000000000000000000000000000000000002261", "0x000000000000000000000000c8a5592031f93debea5d9e67a396944ee01bb2ca" ], "data": "0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc20000000000000000000000000000000000000000000000000de0b6b3a7640000", "blockNumber": "0xe6035b", "blockHash": "0x5a46aeca5eaf8af1fbf56439b12dfea8fb27d18ca31020cc723271e119cffc04", "timeStamp": "0x62c27ab1", "gasPrice": "0x27e523173", "gasUsed": "0x3b86e", "logIndex": "0x1d7", "transactionHash": "0x3a299413cf2c91e376e542efcf3fc308c562da79af6e992401217cc6208c7f74", "transactionIndex": "0x92" } ] } ``` # Get Event Logs by Topics Source: https://docs.etherscan.io/api-reference/endpoint/getlogs-topics GET /v2/api Retrieves event logs within a specified block range, filtered by topics. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `logs` for this endpoint. Set to `getLogs` for this endpoint. Starting block number to search from. Ending block number to search to. First topic to filter by, such as an event signature. Topic operator between `topic0` and `topic1`, either `and` or `or`. Second topic to filter by. Topic operator between `topic1` and `topic2`, either `and` or `or`. Third topic to filter by. Topic operator between `topic2` and `topic3`, either `and` or `or`. Fourth topic to filter by. Topic operator between `topic0` and `topic2`, either `and` or `or`. Topic operator between `topic0` and `topic3`, either `and` or `or`. Topic operator between `topic1` and `topic3`, either `and` or `or`. Page number for pagination. Number of records per page. Limited to 1000 records per query; use the `page` parameter for subsequent records. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=logs&action=getLogs&fromBlock=12878196&toBlock=12879196&topic0=0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef&topic0_1_opr=and&topic1=0x0000000000000000000000000000000000000000000000000000000000000000&topic1_2_opr=and&topic2=0x000000000000000000000000c45a4b3b698f21f88687548e7f5a80df8b99d93d&topic2_3_opr=and&topic3=0x00000000000000000000000000000000000000000000000000000000000000b5&topic0_2_opr=and&topic0_3_opr=and&topic1_3_opr=and&page=1&offset=1000&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "address": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x000000000000000000000000c45a4b3b698f21f88687548e7f5a80df8b99d93d", "0x00000000000000000000000000000000000000000000000000000000000000b5" ], "data": "0x", "blockNumber": "0xc48174", "blockHash": "0x837e109ab8b1b40ec7d1032bff82397325d85e719b97d900fa0d9aa9745b2c27", "timeStamp": "0x60f9ce56", "gasPrice": "0x2e90edd000", "gasUsed": "0x247205", "logIndex": "0x", "transactionHash": "0x4ffd22d986913d33927a392fe4319bcd2b62f3afe1c15a2c59f77fc2cc4c20a9", "transactionIndex": "0x" } ] } ``` # Get Blocks Validated by Address Source: https://docs.etherscan.io/api-reference/endpoint/getminedblocks GET /v2/api Retrieves the list of blocks validated by a specified address. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `getminedblocks` for this endpoint. Validator The address to query, like `0xfefefefefefefefefefefefefefefefefefefefe`. Use `blocks` for full blocks, optionally `uncles` for [pre-Merge](https://ethereum.org/en/roadmap/merge/) blocks. Page number for pagination. Number of records per page. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "20226140", "timeStamp": "1720011623", "blockReward": "33424103001400554" } ] } ``` # Get Contract Source Code Source: https://docs.etherscan.io/api-reference/endpoint/getsourcecode GET /v2/api Retrieve the source code for a verified smart contract. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `getsourcecode` for this endpoint. The contract address to query. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "SourceCode": "pragma solidity 0.4.26;\r\n\r\ncontract Test12345 {\r\n string public test;\r\n \r\n function enterValue(string _c) {\r\n test = _c;\r\n }\r\n}", "ABI": "[{\"constant\":false,\"inputs\":[{\"name\":\"_c\",\"type\":\"string\"}],\"name\":\"enterValue\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"test\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]", "ContractName": "Test12345", "CompilerVersion": "v0.4.26+commit.4563c3fc", "CompilerType": "solc", "OptimizationUsed": "1", "Runs": "200", "ConstructorArguments": "", "EVMVersion": "Default", "Library": "", "ContractFileName": "", "LicenseType": "None", "Proxy": "0", "Implementation": "", "SwarmSource": "bzzr://f6b932198e10e83a6c872406a4252cf5eea48f37bac9a33085eba887820370cf", "SimilarMatch": "0x60810f4d8a618edb533a168e790ab6c09b0e7707" } ] } ``` # Check Contract Execution Status Source: https://docs.etherscan.io/api-reference/endpoint/getstatus GET /v2/api Retrieves the current status and execution result of a specific transaction. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `transaction` for this endpoint. Set to `getstatus` for this endpoint. Transaction hash to check the execution status. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=transaction&action=getstatus&txhash=0x15f8e5ea1079d9a0bb04a4c58ae5fe7654b5b2b4463375ff7ffb490aa0032f3a&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": { "isError": "1", "errDescription": "Bad jump destination" } } ``` # Check Transaction Receipt Status Source: https://docs.etherscan.io/api-reference/endpoint/gettxreceiptstatus GET /v2/api Retrieves the execution status of a specific transaction using its transaction hash. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `transaction` for this endpoint. Set to `gettxreceiptstatus` for this endpoint. Transaction hash to check the receipt status. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=transaction&action=gettxreceiptstatus&txhash=0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": { "status": "1" } } ``` # Get Withdrawal Transactions by Address Source: https://docs.etherscan.io/api-reference/endpoint/getwithdrawaltxs GET /v2/api Retrieves all withdrawal transactions made by a specified address. ### Query Parameters This endpoint is only available for the Arbitrum and Optimism stack chains. Your Etherscan API key. Chain ID to query, eg `10` for Optimism or `42161` for Arbitrum from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `getwithdrawaltxs` for this endpoint. Address to check for cross-chain withdrawals from L2 to Ethereum. Page number for pagination. Number of records per page. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=10&module=account&action=getwithdrawaltxs&address=0x80f3950a4d371c43360f292a4170624abd9eed03&page=1&offset=10&sort=desc&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "0", "message": "No transactions found", "result": [] } ``` # Get Total Nodes Count Source: https://docs.etherscan.io/api-reference/endpoint/nodecount GET /v2/api Retrieves the total count of discoverable Ethereum nodes. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `nodecount` for this endpoint. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=nodecount&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": { "UTCDate": "2025-09-25", "TotalNodeCount": "11786" } } ``` # Get ERC1155 Token Transfers by Address Source: https://docs.etherscan.io/api-reference/endpoint/token1155tx GET /v2/api Retrieves a list of ERC-1155 tokens transferred by a specific address, with optional filtering by token contract. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `token1155tx` for this endpoint. The ERC1155 token contract address to filter transfers by, eg `0x495f947276749ce646f68ac8c248420045cb7b5e` for [Opensea Shared Storefront](https://etherscan.io/token/0x495f947276749ce646f68ac8c248420045cb7b5e). The address to query, like `0xfefefefefefefefefefefefefefefefefefefefe` Page number for pagination. Number of transactions per page. Starting block number to search from. Ending block number to search to. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "13472395", "timeStamp": "1634973285", "hash": "0x643b15f3ffaad5d38e33e5872b4ebaa7a643eda8b50ffd5331f682934ee65d4d", "nonce": "41", "blockHash": "0xa5da536dfbe8125eb146114e2ee0d0bdef2b20483aacbf30fed6b60f092059e6", "transactionIndex": "100", "gas": "140000", "gasPrice": "52898577246", "gasUsed": "105030", "cumulativeGasUsed": "11739203", "input": "deprecated", "methodId": "0x3e6b214b", "functionName": "", "contractAddress": "0x76be3b62873462d2142405439777e971754e8e77", "from": "0x1e63326a84d2fa207bdfa856da9278a93deba418", "to": "0x83f564d180b58ad9a02a449105568189ee7de8cb", "tokenID": "10371", "tokenValue": "1", "tokenName": "parallel", "tokenSymbol": "LL", "confirmations": "9995266" } ] } ``` # Get ERC20-Token Account Balance for TokenContractAddress Source: https://docs.etherscan.io/api-reference/endpoint/tokenbalance GET /v2/api Retrieves the current ERC-20 token balance for a specified address. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `tokenbalance` for this endpoint. Contract address of the ERC-20 token. Address to check for token balance. Use `latest` for the last block number of the chain. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=account&action=tokenbalance&contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055&address=0xe04f27eb70e025b78871a2ad7eabe85e61212761&tag=latest&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": "135499" } ``` # Get Historical ERC20-Token Account Balance by BlockNo Source: https://docs.etherscan.io/api-reference/endpoint/tokenbalancehistory GET /v2/api Retrieves the ERC-20 token balance for a specified address at a given block height. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above This endpoint is throttled to **2 calls/second** regardless of API Pro tier. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `tokenbalancehistory` for this endpoint. Contract address of the ERC-20 token. Address to check for balance. Block number to check balance for. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=account&action=tokenbalancehistory&contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055&address=0xe04f27eb70e025b78871a2ad7eabe85e61212761&blockno=8000000&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": "135499" } ``` # Get Token Holder Count by Contract Address Source: https://docs.etherscan.io/api-reference/endpoint/tokenholdercount GET /v2/api Retrieves a simple count of ERC-20 token holders. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `token` for this endpoint. Set to `tokenholdercount` for this endpoint. Contract address of the ERC-20 token. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=token&action=tokenholdercount&contractaddress=0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": "30506" } ``` # Get Token Holder List by Contract Address Source: https://docs.etherscan.io/api-reference/endpoint/tokenholderlist GET /v2/api Retrieves the current list of ERC-20 token holders and their token balances. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `token` for this endpoint. Set to `tokenholderlist` for this endpoint. Contract address of the ERC-20 token. Page number for pagination. Number of records per page. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=token&action=tokenholderlist&contractaddress=0xaaaebe6fe48e54f431b0c390cfaf0b017d09d42d&page=1&offset=10&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "TokenHolderAddress": "0xa5b7d615c99f011a22f16f5809890ca6900200a3", "TokenHolderQuantity": "2" }, { "TokenHolderAddress": "0x0412a1d25fbdcabc536603198330021ccb13240b", "TokenHolderQuantity": "3385700" } ] } ``` # Get Token Info by ContractAddress Source: https://docs.etherscan.io/api-reference/endpoint/tokeninfo GET /v2/api Retrieves project details and social media links for an ERC-20/ERC-721/ERC-1155 token. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above This endpoint is throttled to **2 calls/second** regardless of API Pro tier. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `token` for this endpoint. Set to `tokeninfo` for this endpoint. Contract address of the token to retrieve info for. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=token&action=tokeninfo&contractaddress=0x0e3a2a1f2146d86a604adc220b4967a898d7fe07&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "contractAddress": "0x0e3a2a1f2146d86a604adc220b4967a898d7fe07", "tokenName": "Gods Unchained Cards", "symbol": "CARD", "divisor": "0", "tokenType": "ERC721", "totalSupply": "6972003", "blueCheckmark": "true", "description": "A TCG on the Ethereum blockchain that uses NFT's to bring real ownership to in-game assets.", "website": "https://godsunchained.com/", "email": "", "blog": "https://medium.com/@fuelgames", "reddit": "https://www.reddit.com/r/GodsUnchained/", "slack": "", "facebook": "https://www.facebook.com/godsunchained/", "twitter": "https://twitter.com/godsunchained", "bitcointalk": "", "github": "", "telegram": "", "wechat": "", "linkedin": "", "discord": "https://discordapp.com/invite/DKGr2pW", "whitepaper": "", "tokenPriceUSD": "0.000000000000000000", "image": "" } ] } ``` # Get ERC721 Token Transfers by Address Source: https://docs.etherscan.io/api-reference/endpoint/tokennfttx GET /v2/api Retrieves the list of ERC-721 token transfers made by a specified address, with optional filtering by token contract. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `tokennfttx` for this endpoint. The ERC721 token contract address to filter transfers by, eg `0xbd3531da5cf5857e7cfaa92426877b022e612cf8` for [Pudgy Penguins](https://etherscan.io/token/0xbd3531da5cf5857e7cfaa92426877b022e612cf8). Address to filter token transfers by. Page number for pagination. Number of transactions per page. Starting block number to search from. Ending block number to search to. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "4708120", "timeStamp": "1512907118", "hash": "0x031e6968a8de362e4328d60dcc7f72f0d6fc84284c452f63176632177146de66", "nonce": "0", "blockHash": "0x4be19c278bfaead5cb0bc9476fa632e2447f6e6259e0303af210302d22779a24", "from": "0xb1690c08e213a35ed9bab7b318de14420fb57d8c", "contractAddress": "0x06012c8cf97bead5deae237070f9587f8e7a266d", "to": "0x6975be450864c02b4613023c2152ee0743572325", "tokenID": "202106", "tokenName": "CryptoKitties", "tokenSymbol": "CK", "tokenDecimal": "0", "transactionIndex": "81", "gas": "158820", "gasPrice": "40000000000", "gasUsed": "60508", "cumulativeGasUsed": "4880352", "input": "deprecated", "methodId": "0x454a2ab3", "functionName": "bid(uint256 _tokenId)", "confirmations": "18759540" } ] } ``` # Get ERC20-Token TotalSupply by ContractAddress Source: https://docs.etherscan.io/api-reference/endpoint/tokensupply GET /v2/api Returns the amount of an ERC-20 token in circulation. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `tokensupply` for this endpoint. Contract address of the ERC-20 token. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=tokensupply&contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": "21265524714464" } ``` # Get Historical ERC20-Token TotalSupply by ContractAddress & BlockNo Source: https://docs.etherscan.io/api-reference/endpoint/tokensupplyhistory GET /v2/api Returns the amount of an ERC-20 token in circulation at a certain block height. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above This endpoint is throttled to **2 calls/second** regardless of API Pro tier. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `stats` for this endpoint. Set to `tokensupplyhistory` for this endpoint. Contract address of the ERC-20 token. Block number to check total supply for. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=stats&action=tokensupplyhistory&contractaddress=0x57d90b64a1a57749b0f932f1a3395792e12e7055&blockno=8000000&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": "21265524714464" } ``` # Get ERC20 Token Transfers by Address Source: https://docs.etherscan.io/api-reference/endpoint/tokentx GET /v2/api Retrieves the list of ERC-20 token transfers made by a specified address, with optional filtering by token contract. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint Set to `tokentx` for this endpoint The ERC20 token contract address to filter transfers by, eg `0xdac17f958d2ee523a2206206994597c13d831ec7` for USDT. The address to query, like `0xfefefefefefefefefefefefefefefefefefefefe` Starting block number to search from. Ending block number to search to. Page number for pagination. Number of transactions per page. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "4730207", "timeStamp": "1513240363", "hash": "0xe8c208398bd5ae8e4c237658580db56a2a94dfa0ca382c99b776fa6e7d31d5b4", "nonce": "406", "blockHash": "0x022c5e6a3d2487a8ccf8946a2ffb74938bf8e5c8a3f6d91b41c56378a96b5c37", "from": "0x642ae78fafbb8032da552d619ad43f1d81e4dd7c", "contractAddress": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2", "to": "0x4e83362442b8d1bec281594cea3050c8eb01311c", "value": "5901522149285533025181", "tokenName": "Maker", "tokenSymbol": "MKR", "tokenDecimal": "18", "transactionIndex": "81", "gas": "940000", "gasPrice": "32010000000", "gasUsed": "77759", "cumulativeGasUsed": "2523379", "input": "deprecated", "methodId": "0xbe040fb0", "functionName": "redeem()", "confirmations": "18737452" } ] } ``` # Get Top Token Holders Source: https://docs.etherscan.io/api-reference/endpoint/toptokenholders GET /v2/api Returns the list of top holders for a specified ERC-20 token. This is a PRO endpoint, available to the [Standard Plan](/resources/rate-limits) and above This endpoint is throttled to **2 calls/second** regardless of API Pro tier. HyperEVM (999) is not supported yet Token holders ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `token` for this endpoint. Set to `topholders` for this endpoint. Contract address of the ERC-20 token. Number of top holders to return, up to 1000. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=1&module=token&action=topholders&contractaddress=0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9&offset=100&apikey=YourApiKeyToken" ``` ```json Response theme={null} { "status": "1", "message": "Ok", "result": [ { "TokenHolderAddress": "0x4da27a545c0c5b758a6ba100e3a049001de870f5", "TokenHolderQuantity": "2696124.3026660371030000", "TokenHolderAddressType": "C" }, { "TokenHolderAddress": "0xa700b4eb416be35b2911fd5dee80678ff64ff6c9", "TokenHolderQuantity": "1650828.8050095955930000", "TokenHolderAddressType": "C" } ] } ``` # Get Normal Transactions By Address Source: https://docs.etherscan.io/api-reference/endpoint/txlist GET /v2/api Retrieves the transaction history of a specified address, with optional pagination. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint Set to `txlist` for this endpoint The address to query, like `0xfefefefefefefefefefefefefefefefefefefefe`. Starting block number to search from. Ending block number to search to. Page number for pagination. Number of transactions per page. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "23467053", "blockHash": "0xf5646226f819fbdd6b2f1cb99de6e5d17da3d876ec166e69f4e9736c8ebf7ab4", "timeStamp": "1759129619", "hash": "0xf9db905d77704596d3600816bc70201586cfeec13bcf576320e2f38d6ca851a0", "nonce": "8", "transactionIndex": "184", "from": "0x2449ecef5012f0a0e153b278ef4fcc9625bc4c78", "to": "0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc", "value": "0", "gas": "73271", "gasPrice": "238744402", "input": "0x5c19a95c0000000000000000000000002449ecef5012f0a0e153b278ef4fcc9625bc4c78", "methodId": "0x5c19a95c", "functionName": "delegate(address to)", "contractAddress": "", "cumulativeGasUsed": "22498564", "txreceipt_status": "1", "gasUsed": "48847", "confirmations": "589", "isError": "0" } ] } ``` # Get Internal Transactions by Address Source: https://docs.etherscan.io/api-reference/endpoint/txlistinternal GET /v2/api Retrieves the internal transaction history of a specified address, with optional pagination. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint Set to `txlistinternal` for this endpoint. The address to query, like `0xfefefefefefefefefefefefefefefefefefefefe`. Starting block number to search from. Ending block number to search to. Page number for pagination. Number of transactions per page. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "2535368", "timeStamp": "1477837690", "hash": "0x8a1a9989bda84f80143181a68bc137ecefa64d0d4ebde45dd94fc0cf49e70cb6", "from": "0x20d42f2e99a421147acf198d775395cac2e8b03d", "to": "", "value": "0", "contractAddress": "0x2c1ba59d6f58433fb1eaee7d20b26ed83bda51a3", "input": "", "type": "create", "gas": "254791", "gasUsed": "46750", "traceId": "0", "isError": "0", "errCode": "" } ] } ``` # Get Internal Transactions by Block Range Source: https://docs.etherscan.io/api-reference/endpoint/txlistinternal-blockrange GET /v2/api Returns internal transactions within a specified block range, with optional pagination. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `txlistinternal` for this endpoint. Starting block number to search from. Ending block number to search to. Page number for pagination. Number of transactions per page. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "13481773", "timeStamp": "1635100060", "hash": "0x8b440f5ec0e986589517b131c5b75e921f2768b9912f028d2cdb009d759036ab", "from": "0x3909336de913344701c6f096502d26208210b39f", "to": "0xff62dfadca3b5643d0b283571fe154d886580c0c", "value": "1159078546481168231", "contractAddress": "", "input": "", "type": "call", "gas": "101300", "gasUsed": "13898", "traceId": "3", "isError": "0", "errCode": "" } ] } ``` # Get Internal Transactions by Transaction Hash Source: https://docs.etherscan.io/api-reference/endpoint/txlistinternal-txhash GET /v2/api Retrieves the list of internal transactions executed within a specific transaction. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint Set to `txlistinternal` for this endpoint. Transaction hash to check for internal transactions, like `0x36dc7f05085d0e4f9c3e4116345a2a487ac8f23f7e71bcc0ae20e27abbfa931d`. Only non-zero value internal transactions are returned. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "blockNumber": "1743059", "timeStamp": "1466489498", "from": "0x2cac6e4b11d6b58f6d3c1c9d5fe8faa89f60e5a2", "to": "0x66a1c3eaf0f1ffc28d209c0763ed0ca614f3b002", "value": "7106740000000000", "contractAddress": "", "input": "", "type": "call", "gas": "2300", "gasUsed": "0", "isError": "0", "errCode": "" } ] } ``` # Get Plasma Deposits by Address Source: https://docs.etherscan.io/api-reference/endpoint/txnbridge GET /v2/api Retrieves a list of Plasma deposit transactions received by a specified address. This endpoint is only available for Polygon (137), Xdai (100) and BTTC(199) ### Query Parameters Your Etherscan API key. Chain ID to query, eg `137` for Polygon from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `txnbridge` for this endpoint. Address to check for Plasma deposits. Page number for pagination. Number of records per page. ```bash theme={null} curl "https://api.etherscan.io/v2/api?chainid=137&module=account&action=txnbridge&address=0x4880bd4695a8e59dc527d124085749744b6c988e&page=1&offset=10&apikey=YourApiKeyToken" ``` ```json theme={null} { "status": "1", "message": "OK", "result": [ { "hash": "0xf645deb2b6fbb8b76ccbcf4bde782e28d3520e8a30e9a568b9b8c526e2fd8434", "blockNumber": "51844560", "timeStamp": "1704181285", "from": "0x0000000000000000000000000000000000000000", "address": "0x4880bd4695a8e59dc527d124085749744b6c988e", "amount": "2341706540000000000", "tokenName": "Polygon Token", "symbol": "POL", "contractAddress": "0x0000000000000000000000000000000000001010", "divisor": "18" } ] } ``` # Get Beacon Chain Withdrawals by Address Source: https://docs.etherscan.io/api-reference/endpoint/txsbeaconwithdrawal GET /v2/api Retrieves beacon chain withdrawal transactions made to a specified address. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `account` for this endpoint. Set to `txsBeaconWithdrawal` for this endpoint. Address to check for beacon withdrawals. Starting block number to search from. Ending block number to search to. Page number for pagination. Number of records per page. Sort order either `desc` for the latest transactions first or `asc` for the oldest transactions first. ```json Response theme={null} { "status": "1", "message": "OK", "result": [ { "withdrawalIndex": "13", "validatorIndex": "117823", "address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f", "amount": "3402931175", "blockNumber": "17034877", "timestamp": "1681338599" } ] } ``` # Verify Proxy Contract Source: https://docs.etherscan.io/api-reference/endpoint/verifyproxycontract POST /v2/api Submit a proxy contract for verification. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `verifyproxycontract` for this endpoint. The proxy contract address to verify. Optional implementation address to enforce during verification. ```json Response theme={null} { "status": "1", "message": "OK", "result": "a7lpxkm9kpcpicx7daftmjifrfhiuhf5vqqnawhkfhzfrcpnxj" } ``` # Verify Solidity Source Code Source: https://docs.etherscan.io/api-reference/endpoint/verifysourcecode POST /v2/api Submit a Solidity source code for verification. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `verifysourcecode` for this endpoint. The address where the contract is deployed. The Solidity source code to verify. Use `solidity-single-file` for a single file or `solidity-standard-json-input` for JSON input. The contract name, including path if applicable. If `codeformat=solidity-standard-json-input`, then enter contractname as `erc20.sol:erc20`. Compiler version used for compilation. Use `1` if optimization was used or `0` if disabled, specify runs below. Number of optimization runs. Optional constructor arguments used in contract deployment. Use compiler `default` or specify an EVM version such as `byzantium`, `shanghai`. The [open source license](https://etherscan.io/contract-license-types) to associate with the verified source code, e.g `3` for MIT. ```json Response theme={null} { "status": "1", "message": "OK", "result": "a7lpxkm9kpcpicx7daftmjifrfhiuhf5vqqnawhkfhzfrcpnxj" } ``` # Verify Stylus Source Code Source: https://docs.etherscan.io/api-reference/endpoint/verifystylus POST /v2/api Submit Stylus source code for verification. This endpoint is only available for the Arbitrum stack chains. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `42161` for Arbitrum One from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `verifysourcecode` for this endpoint. Use `stylus` for Stylus projects. Public Git repository that hosts the Stylus source code. The address where the contract is deployed. The contract name that matches your Stylus deployment. Stylus compiler version used for compilation. License identifier from the [open source license options](https://arbiscan.io/contract-license-types). ```json Response theme={null} { "status": "1", "message": "OK", "result": "a7lpxkm9kpcpicx7daftmjifrfhiuhf5vqqnawhkfhzfrcpnxj" } ``` # Verify Vyper Source Code Source: https://docs.etherscan.io/api-reference/endpoint/verifyvyper POST /v2/api Submit a Vyper contract for verification. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `1` for Ethereum, `8453` for Base from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `verifysourcecode` for this endpoint. Use `vyper-json` for Vyper contracts. The Vyper source code in JSON format. Optional constructor arguments used in contract deployment. The address where the contract is deployed. The contract name, including path if applicable. Compiler version used for compilation. Use `1` if compiler optimizations were enabled, otherwise `0`. ```json Response theme={null} { "status": "1", "message": "OK", "result": "a7lpxkm9kpcpicx7daftmjifrfhiuhf5vqqnawhkfhzfrcpnxj" } ``` # Verify Source Code on zkSync Source: https://docs.etherscan.io/api-reference/endpoint/verifyzksyncsourcecode POST /v2/api Submit zkSync source code for verification. ### Query Parameters Your Etherscan API key. Chain ID to query, eg `324` for zkSync Era from our [supported chains](/supported-chains). Set to `contract` for this endpoint. Set to `verifysourcecode` for this endpoint. Use `solidity-single-file` for a single file or `solidity-standard-json-input` for JSON input. The Solidity source code to verify. Optional constructor arguments used in contract deployment. The address where the contract is deployed. The contract name, including path if applicable. Compiler version used for compilation. zkSync compiler version used for compilation. zkSync compiler mode to process the build artifacts. # Common Verification Errors Source: https://docs.etherscan.io/contract-verification/common-verification-errors ### Contract Doesn't Match "Compiled contract deployment bytecode does NOT match the transaction deployment bytecode" The submitted source code does not match the contract code deployed on chain. Common causes include using a different compiler version or enabling optimisation runs. For an exact match to be found, both source code and compiler settings specified have to exactly match the deployment conditions, for the same bytecode to be reproduced. ### Solidity Compilation Error "Solidity Compilation Error: Identifier not found or not unique" A compilation issue occured due to syntax errors in your Solidity source code. Consider debugging your contract with any compiler such as Remix or Hardhat and reference the error from Solidity's official documentation. ### Contract Not Deployed "Unable to locate ContractCode at 0x539a277b12a3f6723f4c1769edb11b0be7c214da" The contract has not been deployed at the specific address at the specific chain. Check the contract address you've deployed, if your contract deployment transaction has succeeded or if the [**chainId**](/supported-chains) specified is correct. We usually pick up deployments within a few blocks from the chaintip, this will be delayed if the chain is having high activity. But no more than a few mins, [**ping us**](/resources/contact-us) if you've verified the contract is deployed with the Etherscan link. ### Missing or Invalid Library Names "Library was required but suitable match not found" A library was used in your contract deployment, but was not specified, misspelt or using the wrong library address. Double check on your library names ( case sensitive such as "PRBMath" ) or ensure that a matching library name and library address is provided. ### Missing Contract Name "Unable to locate ContractName , did you specify the correct Contract Name ?" A match was not found with the name of the contract specified when multiple files are provided. Ensure that you have provided the correct contract name to be matched against, and making sure you submit the main contract name not its dependencies. ### Missing/Invalid Constructor Arguments "Please check if the correct constructor argument was entered" if your contract utilized the `constructor` keyword, you should provide it in hex format. Otherwise, leave this field empty as it is. You may reference your original deployment's constructor arguments or determine it from the end of your compiled bytecode. ### Mismatched bytecode metadata hash "Please check if the correct bytecodehash was specified via standard-json verification." The metadata hash settings of your submitted source code differs from the settings of your original contract deployment, such as being set to `ipfs` or `none`. Submit your contract verification using the solc json input format, and specify the settings accordingly there. Other submission formats such as single file or multifile do not support changing this setting, and will use the compiler defaults. ### Similar Match Found "This contract already Similar Matches the deployed ByteCode at 0x4200000000000000000000000000000000000042" This error indicates that the contract has already been verified via Similar Match to another contract. Kindly reach out to us at this point of time to have this updated to Full Match if required. ### Unsupported Solc Version "Invalid or not supported solc version, see [https://etherscan.io/solcversions](https://etherscan.io/solcversions) for list" This error is thrown when you specify to use an invalid or unsupported version of the Solidity Compiler ie. below `v0.4.11-nightly.2017.3.15+`. Do [**let us know**](/resources/contact-us) if you need to verify a contract below this supported version such as to prove you deployed the first NFT. ### Source Code Already Verified "Source code already verified" An Exact Match has been obtained, get back to having your coffee. If you think this might be a mistake, do check if you've submitted verification to the right explorer/chain, a contract that is verified on Etherscan is not automatically verified on other explorers. ### Unsupported File Import Callback "Source "@openzeppelin/contracts/ERC20.sol" not found: File import callback not supported" This error is thrown when contracts reference imports from external sources, such as OpenZeppelin libraries or Github links. Consider flattening your source code into a single file, or use the Solidity Standard Json Input format that comes with tools such as Hardhat to resolve these external imports. ### Temporary Error "This could be a temporary error, please retry or contact us (Error Code 10001/10002/10003)" Something went wrong on our end, which could include downtime or maintenance windows. Please retry this in a while or [**ping us**](/resources/contact-us) if this continues to persist. # Verify with Foundry Source: https://docs.etherscan.io/contract-verification/verify-with-foundry Ensuring you're using the latest version of Foundry, via `foundryup` [**Foundry**](https://book.getfoundry.sh/) is a tool that helps take the heat off smart contract development steps, including compiling, deploying and finally submitting your contract for verification. This assumes you already have a [**Foundry project**](https://getfoundry.sh/guides/project-setup/creating-a-new-project)**,** setup, and you're about to deploy and verify next. ## Deploy and Verify ```bash theme={null} forge create --broadcast --rpc-url https://rpc.sepolia.ethpandaops.io --private-key YourPrivateKey src/ContractFile.sol:ContractName --verify --verifier etherscan --etherscan-api-key YourApiKeyToken ``` ## Verify an Existing Contract ```bash theme={null} forge verify-contract --watch --chain sepolia 0x324eca20b358b18e48f2611f7452560ce3b3c1bb src/ContractFile.sol:ContractName --verifier etherscan --etherscan-api-key YourApiKeyToken ``` ## Custom Chains Most chains with an Etherscan explorer are supported using the `--chain` flag. For (very) new chains that aren't natively supported by Foundry, you can use a custom `--verifier-url` Append the Etherscan V2 base path and the new chainId, in this example for Stable Testnet(2201). ```bash theme={null} forge verify-contract 0x324eca20b358b18e48f2611f7452560ce3b3c1bb src/ContractFile.sol:ContractName --verifier etherscan --verifier-url "https://api.etherscan.io/v2/api?chainid=2201" --etherscan-api-key YourEtherscanApiKey --watch ``` > *This open source integration was shipped by* [*@iainnash*](https://github.com/iainnash) *and the Foundry team* # Verify with Hardhat Source: https://docs.etherscan.io/contract-verification/verify-with-hardhat This guide covers Hardhat 3. There is an official migration guide from the Hardhat team. [**Hardhat**](https://hardhat.org/) is a smart contracts development tool, perfect if you're familiar with Javascript/Typescript. This assumes you already have a [**Hardhat 3 project**](https://hardhat.org/docs/getting-started)**,** setup, and you're about to deploy and verify next. ## Install Via npm. ```bash theme={null} npm add --save-dev @nomicfoundation/hardhat-verify ``` ## Config In `hardhat.config.ts`, import the plugin at the top and add it to the list of `plugins`. Then, specify a `verify` config with your Etherscan API key. This key works for most [**supported chains**](/supported-chains), otherwise you need to define a CustomChain below. ```ts theme={null} import { defineConfig } from "hardhat/config"; import hardhatVerify from "@nomicfoundation/hardhat-verify"; export default defineConfig({ plugins: [ hardhatVerify, // ...other plugins... ], solidity: "0.8.28", networks: { sepolia: { url: configVariable("SEPOLIA_RPC_URL"), accounts: [configVariable("SEPOLIA_PRIVATE_KEY")], }, }, verify: { etherscan: { apiKey: "YourEtherscanApiKey", }, }, }); ``` ## Deploy and Verify (using Hardhat Ignition) ```bash theme={null} npx hardhat ignition deploy ignition/modules/Counter.ts --network sepolia --verify ``` ## Verify an Existing Contract ```bash theme={null} npx hardhat verify --network sepolia 0xdCBdBAA8404554502B433106e62728B659aCfE3b ``` ## Custom Chains For new chains that have an Etherscan explorer but isn't supported with Hardhat defaults, you need to add both the `networks` and `chainDescriptor` in `hardhat.config.ts`. ```ts theme={null} export default defineConfig({ // ... networks: { monadTestnet: { type: "http", chainType: "l1", url: configVariable("MONAD_TESTNET_RPC_URL"), accounts: [configVariable("MONAD_TESTNET_PRIVATE_KEY")], } }, chainDescriptors: { 10143: { name: "monadTestnet", blockExplorers: { etherscan: { name: "Monad Testnet Explorer", url: "https://testnet.monadscan.com", apiUrl: "https://api.etherscan.io/v2/api", }, }, } }, }); ``` Use the same deploy and verify command as above, but with the updated `--network`. In this example for `monadTestnet` ```bash theme={null} npx hardhat ignition deploy ignition/modules/Counter.ts --network monadTestnet --verify ``` # Verify with Remix Source: https://docs.etherscan.io/contract-verification/verify-with-remix [**Remix**](https://remix.ethereum.org/) is a no-frills, just works in your browser Solidity development tool. ## Activate Once you've written and deployed your contract, click on the **Plugin Manager** and select **Contract Verification**. Remix homepage ## Add an API Key The Etherscan verification plugin requires an API key because grumpy bots yell at us on a daily basis. Click the "Enable" link and add your key, leave the rest as default. Remix add key ## Verify Fill in the chain, contract address, and contract name that you deployed. Now that the Etherscan checkbox is enabled, click Verify. Without this, the contract won't show as verified on Etherscan's explorer. Remix verify Once verified, you will see a happy green ✅. Remix verified > *This open source integration was shipped by* [**@manuelwedler**](https://github.com/manuelwedler) *and the Remix team*. # Getting an API Key Source: https://docs.etherscan.io/getting-an-api-key [Sign up](https://etherscan.io/register) for a Free account. Under your [API Dashboard](https://etherscan.io/apidashboard), click "Add +" to create a new API key. This key can be used to access all [supported chains](/supported-chains) under API V2. Remix verify Use your key to start testing requests in the [API Playground](/api-reference/) within this docs 🚀. # Introduction Source: https://docs.etherscan.io/introduction Etherscan is the leading blockchain explorer, search, API, and analytics platform for Ethereum and other EVM-compatible chains. With Etherscan API V2, we've unified all 60+ [supported chains](/supported-chains) under a single account and API key system. Your app becomes multichain 🌈 simply by updating the `chainid` parameter to support BNB Smart Chain (BSC), Base, Arbitrum, HyperEVM, and more. ## Start Building Check for USDC/USDT/PYUSD token transfers to an address. Analyze the largest holders of YieldBasis(Ethereum), Aster(BNB) and other newly launched tokens. List all token balances for an address, across chains. Get name tags and labels associated with an address, such as exchange deposits "Coinbase 10". # Introduction Source: https://docs.etherscan.io/mcp-docs/introduction Etherscan's MCP [(Model Context Protocol)](https://modelcontextprotocol.io) allows you to connect Etherscan and [60+ supported chain](/supported-chains) data to your AI models such as ChatGPT, Claude. An ELI5, the MCP standard provides a list of tools that your model can call to lookup information via the Etherscan API. Yes, it is an API wrapper. This avoids common problem of LLMs making things up (hallucination) or getting blocked by captcha on a web search. Some use cases of our beta users * Comparing Solidity code with actual contracts deployed on chain * Customer support for bridge transactions, if the transactions has arrived * Portfolio management agents ## Etherscan MCP Server We host a Streamable HTTP MCP server at ``` https://mcp.etherscan.io/mcp ``` You will need to authenticate using your Etherscan API key, as a bearer token in the header like ``` Authorization: Bearer YourEtherscanApiKey ``` # Introduction Source: https://docs.etherscan.io/metadata/introduction As the leading search engine for EVM based chains, Etherscan enables users to explore and verify addresses, tokens, and transactions. By indexing public blockchain data and providing additional contextual information, we enhance users' comprehension of the information. With the Metadata API, builders can enrich their projects and applications by providing valuable information to users, empowering them to make informed decisions when interacting with Ethereum addresses and contracts. The Metadata CSV is an enterprise-grade solution tailored for organizations and projects with extensive metadata needs. It provides powerful endpoints for retrieving an extensive list of metadata in CSV format. This extensive dataset includes of labels, name tags, and additional information associated with each address. It allows you to retrieve the list of addresses specifically associated with desired label(s), enabling precise targeting and data extraction that aligns with your unique requirements. If you are interested in exploring this enterprise solution further, please feel free to [contact us](mailto:apisupport@etherscan.io) for more information. # Other Attributes Reference Source: https://docs.etherscan.io/metadata/other-attributes-reference | Header | Description | | :----: | ----------------------------------------------------------------------------------------------- | | TT | Token Type. Types: `erc-20` and `nft`. | | TR | Token Reputation. Types: `Ok`, `Poor`, `Unsafe`, `Suspicious`, `Spam`, and `BrandInfringement`. | | SC | Verified Smart Contract. | | CN | Contract Name. | | ENS | Ethereum Name Service. | # Reputation Reference Source: https://docs.etherscan.io/metadata/reputation-reference | Score | Description | | :---: | ----------------------------------------------------------------------------- | | 0 | 'UNKNOWN' (default) | | 1 | 'OK' An OK reputation is not an endorsement but likely a known/public entity. | | 2 | 'CAUTION' Moderate Caution Advised when interacting with the address. | | 3 | 'UNSAFE' Extreme caution advised when interacting with the address. | # Common Error Messages Source: https://docs.etherscan.io/resources/common-error-messages An API call that encounters an error will return 0 as its `status code` and display the cause of the error under the `result` field. ```json theme={null} { "status": "0", "message": "NOTOK", "result": "Max rate limit reached, please use API Key for higher rate limit" } ``` ### Missing or Unsupported Chain "Missing or unsupported chainid parameter (required for v2 api), please see chainlist for the list of supported chainids" The chain you've specified is not supported by us yet. It could also be that you've sent multiple chains at the same time like `420,10`, you can only send **one** at a time. ### Invalid API Key "Invalid API Key" This error occurs when you specify an invalid API Key. Ensure you are using your **Etherscan API Key**, keys from other chains like Polygonscan/Arbiscan are not valid for V2. Keys do take a few minutes to activate, anything longer than should be alarming. ### Max rate limit "Max rate limit reached, please use API Key for higher rate limit" This error occurs when you **exceed the rate limit** assigned to your specific API key. To resolve, adhere to the [rate limits](/resources/rate-limits) of your available plan. If you are using a script or application, **apply throttling** like a token bucket to limit the frequency of calls. ### Missing or invalid action "Error! Missing Or invalid Action name" This error occurs when you **do not specify**, or specify an **invalid** `module` and `action` name. To resolve, **double check** your API query to use a valid module and action name. If you require some help getting started, try copying the sample queries provided in the API Playground and pasting them into your browser. ### Endpoint-specific errors "Error! Block number already pass" "Error! Invalid address format" "Contract source code not verified" These error messages returned are specific to certain endpoints and their **related parameters.** To resolve, kindly refer to the specific endpoint's documentation, and check for the **correct format** or **values** to be specified as **parameters.** ### Query Timeout "Query Timeout occured. Please select a smaller result dataset" "Unexpected err, timeout occurred or server too busy. Please try again later" This error occurs when you have sent a particularly large query that did not manage to be completed in time. To resolve, consider selecting a smaller date/block range, though you may [**ping us**](/resources/contact-us) if you think the issue may be performance related. ### Free Tier Access "Free API access is not supported for this chain. Please upgrade your api plan for full chain coverage." Certain chains are not included under the Free tier. To access all [**supported networks**](/supported-chains), you may upgrade to any of our [**paid plans**](https://etherscan.io/apis), check out the affordable Lite tier. # Contact Us Source: https://docs.etherscan.io/resources/contact-us Beware of **phishing attempts** and emails **impersonating the team** at Etherscan, we only communicate from the channels below. ### Support Tickets Our emails always come from the domain **@etherscan.io**. Keep in mind that as a block explorer service, we **cannot cancel, refund or reverse transactions** as we do not process them. If your issues are related to transactions, you may find helpful articles over at the [**Etherscan Information Center.**](https://info.etherscan.com/) Reach out to us via a [**support ticket.**](https://etherscan.io/contactus) ### Twitter For general updates, new feature releases and community support, keep in touch with us via Twitter. Follow us on [**Twitter.**](https://twitter.com/etherscan) ### Freshstatus Announcements for ongoing and scheduled maintenance works that may affect certain services used. Check Etherscan's [**network status.**](https://etherscan.freshstatus.io/) # PRO Endpoints Source: https://docs.etherscan.io/resources/pro-endpoints A complete list of PRO endpoints available to the [Standard Plan](/resources/rate-limits) and above. ## Account * [Get Historical Native Balance for an Address](/api-reference/endpoint/balancehistory) ## Tokens * [Get Historical ERC20-Token Account Balance by BlockNo](/api-reference/endpoint/tokenbalancehistory) * [Get Historical ERC20-Token TotalSupply by ContractAddress & BlockNo](/api-reference/endpoint/tokensupplyhistory) * [Get Top Token Holders](/api-reference/endpoint/toptokenholders) * [Get Token Holder List by Contract Address](/api-reference/endpoint/tokenholderlist) * [Get Token Holder Count by Contract Address](/api-reference/endpoint/tokenholdercount) * [Get Address ERC20 Token Holding](/api-reference/endpoint/addresstokenbalance) * [Get Address ERC721 Token Holding](/api-reference/endpoint/addresstokennftbalance) * [Get Address ERC721 Token Inventory by Contract](/api-reference/endpoint/addresstokennftinventory) ## Blocks * [Get Daily Average Block Size](/api-reference/endpoint/dailyavgblocksize) * [Get Daily Block Count and Rewards](/api-reference/endpoint/dailyblkcount) * [Get Daily Block Rewards](/api-reference/endpoint/dailyblockrewards) * [Get Daily Average Block Time](/api-reference/endpoint/dailyavgblocktime) * [Get Daily Uncle Block Count and Rewards](/api-reference/endpoint/dailyuncleblkcount) ## Stats * [Get Daily Network Transaction Fee](/api-reference/endpoint/dailytxnfee) * [Get Daily New Address Count](/api-reference/endpoint/dailynewaddress) * [Get Daily Network Utilization](/api-reference/endpoint/dailynetutilization) * [Get Daily Average Network Hash Rate](/api-reference/endpoint/dailyavghashrate) * [Get Daily Transaction Count](/api-reference/endpoint/dailytx) * [Get Daily Average Network Difficulty](/api-reference/endpoint/dailyavgnetdifficulty) * [Get Ether Historical Price](/api-reference/endpoint/ethdailyprice) ## Gas Tracker * [Get Daily Average Gas Limit](/api-reference/endpoint/dailyavggaslimit) * [Get Ethereum Daily Total Gas Used](/api-reference/endpoint/dailygasused) * [Get Daily Average Gas Price](/api-reference/endpoint/dailyavggasprice) ## Nametags * [Get Nametag for an Address](/api-reference/endpoint/getaddresstag) (Pro Plus tier) # Rate Limits Source: https://docs.etherscan.io/resources/rate-limits | API Tier | Rate Limit | API PRO | | ---------------- | ---------------------------------------------------------------------------------- | ------------- | | Free | 3 calls/second, up to 100,000 calls/day, [selected chains](/supported-chains) only | Not Available | | Lite | 5 calls/second, up to 100,000 calls/day | Not Available | | Standard | 10 calls/second, up to 200,000 calls/day | Available | | Advanced | 20 calls/second, up to 500,000 calls/day | Available | | Professional | 30 calls/second, up to 1,000,000 calls/day | Available | | Pro Plus | 30 calls/second, up to 1,500,000 calls/day | Available | | Dedicated/Custom | [**Contact Us**](mailto:apisupport@etherscan.io) | Available | # Supported Chains Source: https://docs.etherscan.io/supported-chains List of Etherscan API V2 supported chains with chain IDs and endpoints. The [**Get Contract ABI**](https://docs.etherscan.io/api-reference/endpoint/getabi), [**Get Contract Source Code**](https://docs.etherscan.io/api-reference/endpoint/getsourcecode), and [**Verify Source Code**](https://docs.etherscan.io/api-reference/endpoint/verifysourcecode) endpoints are available on all chains for every API plan, including the Free Tier. For Solana(SOL) data, we're also working on the [**Solscan APIs**](https://solscan.io/apis), available separately. | Chain Name | Chain ID | Paid Tier | Free Tier | | ------------------------- | --------- | --------- | ------------- | | Ethereum Mainnet | 1 | Available | Available | | Sepolia Testnet | 11155111 | Available | Available | | Holesky Testnet | 17000 | Available | Available | | Hoodi Testnet | 560048 | Available | Available | | BNB Smart Chain Mainnet | 56 | Available | Not Available | | BNB Smart Chain Testnet | 97 | Available | Not Available | | Polygon Mainnet | 137 | Available | Available | | Polygon Amoy Testnet | 80002 | Available | Available | | Base Mainnet | 8453 | Available | Not Available | | Base Sepolia Testnet | 84532 | Available | Not Available | | Arbitrum One Mainnet | 42161 | Available | Available | | Arbitrum Sepolia Testnet | 421614 | Available | Available | | Linea Mainnet | 59144 | Available | Available | | Linea Sepolia Testnet | 59141 | Available | Available | | Blast Mainnet | 81457 | Available | Available | | Blast Sepolia Testnet | 168587773 | Available | Available | | OP Mainnet | 10 | Available | Not Available | | OP Sepolia Testnet | 11155420 | Available | Not Available | | Avalanche C-Chain | 43114 | Available | Not Available | | Avalanche Fuji Testnet | 43113 | Available | Not Available | | BitTorrent Chain Mainnet | 199 | Available | Available | | BitTorrent Chain Testnet | 1029 | Available | Available | | Celo Mainnet | 42220 | Available | Available | | Celo Sepolia Testnet | 11142220 | Available | Available | | Fraxtal Mainnet | 252 | Available | Available | | Fraxtal Hoodi Testnet | 2523 | Available | Available | | Gnosis | 100 | Available | Available | | Mantle Mainnet | 5000 | Available | Available | | Mantle Sepolia Testnet | 5003 | Available | Available | | Memecore Mainnet | 4352 | Available | Available | | Memecore Testnet | 43521 | Available | Available | | Moonbeam Mainnet | 1284 | Available | Available | | Moonriver Mainnet | 1285 | Available | Available | | Moonbase Alpha Testnet | 1287 | Available | Available | | opBNB Mainnet | 204 | Available | Available | | opBNB Testnet | 5611 | Available | Available | | Scroll Mainnet | 534352 | Available | Available | | Scroll Sepolia Testnet | 534351 | Available | Available | | Taiko Mainnet | 167000 | Available | Available | | Taiko Hoodi | 167013 | Available | Available | | XDC Mainnet | 50 | Available | Available | | XDC Apothem Testnet | 51 | Available | Available | | ApeChain Mainnet | 33139 | Available | Available | | ApeChain Curtis Testnet | 33111 | Available | Available | | World Mainnet | 480 | Available | Available | | World Sepolia Testnet | 4801 | Available | Available | | Sonic Mainnet | 146 | Available | Available | | Sonic Testnet | 14601 | Available | Available | | Unichain Mainnet | 130 | Available | Available | | Unichain Sepolia Testnet | 1301 | Available | Available | | Abstract Mainnet | 2741 | Available | Available | | Abstract Sepolia Testnet | 11124 | Available | Available | | Berachain Mainnet | 80094 | Available | Available | | Berachain Bepolia Testnet | 80069 | Available | Available | | Swellchain Mainnet | 1923 | Available | Available | | Swellchain Testnet | 1924 | Available | Available | | Monad Mainnet | 143 | Available | Available | | Monad Testnet | 10143 | Available | Available | | HyperEVM Mainnet | 999 | Available | Available | | Katana Mainnet | 747474 | Available | Available | | Katana Bokuto | 737373 | Available | Available | | Sei Mainnet | 1329 | Available | Available | | Sei Testnet | 1328 | Available | Available | | Stable Mainnet | 988 | Available | Available | | Stable Testnet | 2201 | Available | Available | | Plasma Mainnet | 9745 | Available | Available | | Plasma Testnet | 9746 | Available | Available | # V2 Migration Source: https://docs.etherscan.io/v2-migration [Contract verification](/contract-verification/verify-with-foundry) using Hardhat/Remix/Foundry also support using a single Etherscan API key for all chains As of **August 15th, 2025**, the legacy **Etherscan API V1 endpoints have been deprecated** in favor of the new **Etherscan API V2**, which introduces a unified multichain experience across 60+ supported networks 🌈. You’ll see a deprecation error message like this if you’re still using V1: ```json theme={null} { "status":"0", "message":"NOTOK", "result":"You are using a deprecated V1 endpoint, switch to Etherscan API V2." } ``` All existing endpoints remain compatible once you update them to the **V2 format**. ### How to Migrate [**Sign up**](https://etherscan.io/register) if you don't have an account or if you're using other explorers like BaseScan, BscScan, Polygonscan, etc. Under your Etherscan [**API dashboard**](https://etherscan.io/apidashboard), create a new key. This key can be used to access all [supported chains](/supported-chains) under API V2. Use `https://api.etherscan.io/v2/api` as your **base path**, and include a `chainid` for your target network (e.g., 1 for Ethereum). Before (V1): ```text theme={null} https://api.etherscan.io/api?&action=balance&apikey=YourEtherscanApiKey ``` After (V2): ```text theme={null} https://api.etherscan.io/v2/api?chainid=1&action=balance&apikey=YourEtherscanApiKey ``` Use the same base path (`https://api.etherscan.io/v2/api`) and include a `chainid` for the relevant chain from [this list](/supported-chains), in this case `137` for Polygon. Pass in your **Etherscan API key** instead of the old explorer-specific one. Before (PolygonScan V1): ```text theme={null} https://api.polygonscan.com/api?&action=balance&apikey=YourPolygonscanApiKey ``` After (V2): ```text theme={null} https://api.etherscan.io/v2/api?chainid=137&action=balance&apikey=YourEtherscanApiKey ```