Etherscan
App · Cryptocurrency · 51 actions
Read blockchain data through Etherscan's official API: native and token balances, full transaction and transfer history, internal transactions, event logs, verified contract source and ABIs, gas prices and network statistics. One API key reaches Ethereum and 60+ other EVM chains - Base, Arbitrum, Optimism, Polygon, BNB Chain and the rest - picked per step from a dropdown. Also reaches a node directly for blocks, receipts, read-only contract calls and gas estimates. Every action works on Etherscan's free plan.
Actions
| Action | What it does |
|---|---|
| Call a contract (read-only) | Read a contract without sending a transaction and without paying gas. |
| Check a transaction's receipt status | Check whether a transaction succeeded, from the status flag on its receipt. |
| Check whether a transaction reverted | Check whether a transaction's contract call reverted, and read the reason when it did ("Out of gas", "Bad jump destination"). |
| Count a block's transactions | Count the transactions in a block, read straight from a node. |
| Count a block's transactions by kind | Count what happened in one block, broken down by kind: normal transactions, internal transactions, and ERC-20, ERC-721 and ERC-1155 transfers. |
| Estimate confirmation time for a gas price | Estimate how long a transaction offering a given gas price would wait before it confirms. |
| Estimate gas for a transaction | Estimate the gas a transaction would need, without sending it - the way to size a gas limit, or to find out that a call would revert before paying for it. |
| Find ERC-1155 transfers between addresses | Find the ERC-1155 transfers that went from one address to another, optionally for one contract only. |
| Find ERC-20 transfers between addresses | Find the ERC-20 transfers that went from one address to another, optionally for one token only. |
| Find ERC-721 (NFT) transfers between addresses | Find the NFT transfers that went from one address to another, optionally within one collection. |
| Find internal transactions between addresses | Find the internal transactions that moved value from one address to another. |
| Find transactions between addresses | Find the transactions that went from one address to another - the direct answer to 'did this wallet ever pay that one?'. |
| Get a block | Get a block's header straight from a node, optionally with every transaction in it. |
| Get a transaction | Get one transaction's full details by its hash, straight from a node: sender, recipient, value, gas, call data and signature. |
| Get a transaction by its position in a block | Get one transaction by which block it is in and where in that block it sits - the way to walk a block's transactions without knowing their hashes. |
| Get a transaction receipt | Get a transaction's receipt: whether it succeeded, the gas it used, the price it actually paid, and every event log it emitted. |
| Get an address's transaction count (nonce) | Get how many transactions an address has sent, which is also the nonce its next transaction will use. |
| Get an uncle block | Get one uncle block by its position within a block. |
| Get block number by date and time | Find the block produced at a given moment - the bridge between a date and the block numbers the historical balance and block range actions take. |
| Get block reward | Get what a block paid: the reward, who earned it, and any uncle rewards it included. |
| Get chain size over time | Get how much disk the chain occupied on each day of a range. |
| Get contract ABI | Get a verified contract's ABI, parsed into a list you can read plus the raw JSON string a web3 library expects, with its function and event names pulled out. |
| Get contract deployers | Find who deployed each of up to five contracts, in which transaction and when, plus the factory that created it if one did. |
| Get contract source code | Get a verified contract's published source code along with the compiler version, optimizer settings, licence, and - when it is a proxy - the implementation it points at. |
| Get countdown to a future block | Estimate how long until a block that has not happened yet is produced - for counting down to a launch or an unlock. |
| Get event logs | Read the events a contract emitted over a range of blocks. |
| Get gas price recommendations | Get Etherscan's low, average and high gas price recommendations in gwei, with the current base fee - the numbers behind the gas tracker on etherscan.io. |
| Get native coin balance | Get an address's balance of the chain's own coin - ETH on Ethereum, BNB on BNB Chain, POL on Polygon. |
| Get native coin balances for several addresses | Get the native coin balance of up to 20 addresses in one call - one request instead of twenty, which matters against a rate limit. |
| Get the code at an address | Get the bytecode deployed at an address, and with it the answer to whether the address is a contract at all - an empty result means it is an ordinary wallet. |
| Get the current gas price | Get the gas price a node is currently quoting, in wei and in gwei. |
| Get the latest block number | Get the number of the most recent block on the chain - the natural first step for a workflow that reads a window of recent history. |
| Get the native coin price | Get the latest price of the chain's native coin in USD and BTC, with the moment each quote was taken. |
| Get the native coin supply | Get the circulating supply of the chain's native coin. |
| Get the native coin supply (detailed) | Get the native coin's supply split into its moving parts: circulating supply, staking rewards issued, EIP-1559 fees burned, and the total withdrawn from the beacon chain. |
| Get the node count | Get how many discoverable nodes the network has right now. |
| Get token balance | Get how much of one ERC-20 token an address holds. |
| Get token total supply | Get how much of an ERC-20 token is in circulation. |
| List blocks validated by an address | List the blocks a validator or mining address produced, and what each one paid it. |
| List ERC-1155 token transfers | List ERC-1155 transfers for a wallet, for a contract, or for both. |
| List ERC-20 token transfers | List ERC-20 token transfers for a wallet, for a token, or for one wallet's transfers of one token. |
| List ERC-721 (NFT) transfers | List NFT transfers for a wallet, for a collection, or for one wallet's transfers within one collection. |
| List internal transactions for an address | List the internal transactions that touched an address - the value moves a contract made on its own, which never appear in the normal transaction list. |
| List internal transactions of one transaction | Break one transaction open and list every value move it set off inside contracts. |
| List L2 deposits for an address | List an address's deposits from Ethereum onto an L2 chain, each linked back to the L1 transaction that started it. |
| List L2 withdrawals for an address | List an address's withdrawals from an L2 chain back to Ethereum. |
| List Plasma bridge deposits for an address | List the Plasma bridge deposits an address received. |
| List staking withdrawals to an address | List the beacon-chain withdrawals paid to an address - the staking rewards and exits that arrive without a transaction, and so never show up in a transaction list. |
| List supported chains | List every chain the Etherscan API covers, with each one's chain id, block explorer and current status. |
| List transactions for an address | List the transactions an address sent or received, newest first, each with its value, gas, fee, the function it called and whether it succeeded. |
| Read a contract storage slot | Read one 32-byte slot of a contract's storage directly - the way to see state a contract never exposed through a getter. |
Call a contract (read-only)
Read a contract without sending a transaction and without paying gas. The call data is a 4-byte method id followed by its ABI-encoded arguments; the answer comes back as raw encoded bytes, which you decode against the contract's ABI.
Inputs
- Contract address
to_addresstextRequired - The contract to call.
- Call data
datatext - The ABI-encoded call: the method id then its encoded arguments, as hex.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Block number
block_numbernumber - Run the call against this block. Leave blank for the latest.At least 0.
- Block
block_tagtext - Which block to read the state at. Defaults to the latest block.One of:
latest(Latest block),earliest(Earliest block),pending(Pending block). Default:latest.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
result_hextext- The raw ABI-encoded return value.
result_numbernumber- The same value read as a number, for the common case where the call returns a single uint.
tagtext- The block it was called against.
to_addresstext- The contract called.
Example output
{
"chain_id": "1",
"result_hex": "0x00000000000000000000000000000000000000000000000000601d8888141c00",
"result_number": 27054070000000000,
"tag": "latest",
"to_address": "0xaeef46db4855e25702f8237e8f403fddcaf931c0"
}Check a transaction's receipt status
Check whether a transaction succeeded, from the status flag on its receipt. Post-Byzantium transactions only - older ones have no status, and 'Check whether a transaction reverted' answers for those.
Inputs
- Transaction hash
transaction_hashtextRequired - The 66-character transaction hash, starting with 0x.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
statustext- The raw status flag: 1 succeeded, 0 failed.
succeededtrue/false- Whether it succeeded.
transaction_hashtext- A 66-character hash, lowercased.
Example output
{
"chain_id": "1",
"status": "1",
"succeeded": true,
"transaction_hash": "0x513c1ba0bebf66436b5fed86ab668452b7805593c05073eb2d51d3a52f480a76"
}Check whether a transaction reverted
Check whether a transaction's contract call reverted, and read the reason when it did ("Out of gas", "Bad jump destination"). Works on any transaction, including ones from before receipts carried a status.
Inputs
- Transaction hash
transaction_hashtextRequired - The 66-character transaction hash, starting with 0x.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
error_descriptiontext- Why it reverted, when it did.
succeededtrue/false- Whether the call succeeded.
transaction_hashtext- A 66-character hash, lowercased.
Example output
{
"chain_id": "1",
"error_description": "Bad jump destination",
"succeeded": false,
"transaction_hash": "0x15f8e5ea1079d9a0bb04a4c58ae5fe7654b5b2b4463375ff7ffb490aa0032f3a"
}Count a block's transactions
Count the transactions in a block, read straight from a node. Leave the block number blank for the latest block.
Inputs
- Block number
block_numbernumber - The block to count. Leave blank to use the Block field below.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Block
block_tagtext - Which block to read the state at. Defaults to the latest block.One of:
latest(Latest block),earliest(Earliest block),pending(Pending block). Default:latest.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
tagtext- The block tag actually asked for.
transaction_countnumber- How many transactions it holds.
Example output
{
"chain_id": "1",
"tag": "0x10fb78",
"transaction_count": 3
}Count a block's transactions by kind
Count what happened in one block, broken down by kind: normal transactions, internal transactions, and ERC-20, ERC-721 and ERC-1155 transfers.
Inputs
- Block number
block_numbernumberRequired - The block to look at, as an ordinary number.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
block_numbernumber- The block asked about.
chain_idtext- The chain the call was made against, as its chain id.
erc1155_transfer_countnumber- ERC-1155 transfers.
erc20_transfer_countnumber- ERC-20 transfers.
erc721_transfer_countnumber- ERC-721 transfers.
internal_transaction_countnumber- Internal transactions.
transaction_countnumber- Normal transactions in the block.
Example output
{
"block_number": 24884529,
"chain_id": "1",
"erc1155_transfer_count": 0,
"erc20_transfer_count": 103,
"erc721_transfer_count": 1,
"internal_transaction_count": 55,
"transaction_count": 87
}Estimate confirmation time for a gas price
Estimate how long a transaction offering a given gas price would wait before it confirms.
Inputs
- Gas price (wei)
gas_price_weinumberRequired - The gas price to estimate for, in wei. 2000000000 is 2 gwei.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
estimated_minutesnumber- The same estimate in minutes.
estimated_secondsnumber- Estimated seconds to confirmation.
gas_price_gweitext- The same price in gwei.
gas_price_weinumber- The gas price asked about, in wei.
Example output
{
"chain_id": "1",
"estimated_minutes": 0.75,
"estimated_seconds": 45,
"gas_price_gwei": "2",
"gas_price_wei": 2000000000
}Estimate gas for a transaction
Estimate the gas a transaction would need, without sending it - the way to size a gas limit, or to find out that a call would revert before paying for it.
Inputs
- To address
to_addresstext - The address the transaction would be sent to.
- Call data
datatext - The ABI-encoded call data the transaction would carry, as hex.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Value (wei)
value_weinumber - How much native coin the transaction would send, in wei.At least 0.
- Gas price (wei)
gas_price_weinumber - The gas price to estimate against, in wei.At least 0.
- Gas limit
gas_limitnumber - An upper bound for the estimate.At least 0.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
gas_estimatenumber- The gas the transaction would need.
gas_estimate_hextext- The same figure as the node returned it.
Example output
{
"chain_id": "1",
"gas_estimate": 26284,
"gas_estimate_hex": "0x66ac"
}Find ERC-1155 transfers between addresses
Find the ERC-1155 transfers that went from one address to another, optionally for one contract only.
Inputs
- Token contract address
contract_addresstext - Only include transfers of this token. Give a wallet, a token contract, or both.
- Sender address
from_addresstext - Only include transfers sent by this address. Give a sender, a recipient, or both.
- Recipient address
to_addresstext - Only include transfers received by this address. Give a sender, a recipient, or both.
- Match sender and recipient
address_operatortext - How to combine the sender and recipient when both are given. Defaults to requiring both.One of:
and(Both addresses must match),or(Either address can match). Default:and. - Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to search the whole chain from its first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to search up to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
transferslist- The transfers that matched.
Example output
{
"chain_id": "1",
"count": 1,
"transfers": [
{
"block_hash": "0xa5da536dfbe8125eb146114e2ee0d0bdef2b20483aacbf30fed6b60f092059e6",
"block_number": 13472395,
"confirmations": 9995266,
"contract_address": "0x76be3b62873462d2142405439777e971754e8e77",
"cumulative_gas_used": 11739203,
"from_address": "0x1e63326a84d2fa207bdfa856da9278a93deba418",
"function_name": null,
"gas": 140000,
"gas_price": 52898577246,
"gas_price_gwei": "52.898577246",
"gas_used": 105030,
"hash": "0x643b15f3ffaad5d38e33e5872b4ebaa7a643eda8b50ffd5331f682934ee65d4d",
"method_id": "0x3e6b214b",
"nonce": 41,
"quantity": 1,
"timestamp": 1634973285,
"timestamp_iso": "2021-10-23T07:14:45+00:00",
"to_address": "0x83f564d180b58ad9a02a449105568189ee7de8cb",
"token_id": "10371",
"token_name": "parallel",
"token_symbol": "LL",
"transaction_index": 100
}
]
}Find ERC-20 transfers between addresses
Find the ERC-20 transfers that went from one address to another, optionally for one token only.
Inputs
- Token contract address
contract_addresstext - Only include transfers of this token. Give a wallet, a token contract, or both.
- Sender address
from_addresstext - Only include transfers sent by this address. Give a sender, a recipient, or both.
- Recipient address
to_addresstext - Only include transfers received by this address. Give a sender, a recipient, or both.
- Match sender and recipient
address_operatortext - How to combine the sender and recipient when both are given. Defaults to requiring both.One of:
and(Both addresses must match),or(Either address can match). Default:and. - Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to search the whole chain from its first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to search up to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
transferslist- The transfers that matched.
Example output
{
"chain_id": "1",
"count": 1,
"transfers": [
{
"block_hash": "0x022c5e6a3d2487a8ccf8946a2ffb74938bf8e5c8a3f6d91b41c56378a96b5c37",
"block_number": 4730207,
"confirmations": 18737452,
"contract_address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
"cumulative_gas_used": 2523379,
"from_address": "0x642ae78fafbb8032da552d619ad43f1d81e4dd7c",
"function_name": "redeem()",
"gas": 940000,
"gas_price": 32010000000,
"gas_price_gwei": "32.01",
"gas_used": 77759,
"hash": "0xe8c208398bd5ae8e4c237658580db56a2a94dfa0ca382c99b776fa6e7d31d5b4",
"method_id": "0xbe040fb0",
"nonce": 406,
"timestamp": 1513240363,
"timestamp_iso": "2017-12-14T08:32:43+00:00",
"to_address": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
"token_decimals": 18,
"token_name": "Maker",
"token_symbol": "MKR",
"transaction_index": 81,
"value": 5901522149285533025181,
"value_units": "5901.522149285533025181"
}
]
}Find ERC-721 (NFT) transfers between addresses
Find the NFT transfers that went from one address to another, optionally within one collection.
Inputs
- Token contract address
contract_addresstext - Only include transfers of this token. Give a wallet, a token contract, or both.
- Sender address
from_addresstext - Only include transfers sent by this address. Give a sender, a recipient, or both.
- Recipient address
to_addresstext - Only include transfers received by this address. Give a sender, a recipient, or both.
- Match sender and recipient
address_operatortext - How to combine the sender and recipient when both are given. Defaults to requiring both.One of:
and(Both addresses must match),or(Either address can match). Default:and. - Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to search the whole chain from its first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to search up to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
transferslist- The transfers that matched.
Example output
{
"chain_id": "1",
"count": 1,
"transfers": [
{
"block_hash": "0x4be19c278bfaead5cb0bc9476fa632e2447f6e6259e0303af210302d22779a24",
"block_number": 4708120,
"confirmations": 18759540,
"contract_address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
"cumulative_gas_used": 4880352,
"from_address": "0xb1690c08e213a35ed9bab7b318de14420fb57d8c",
"function_name": "bid(uint256 _tokenId)",
"gas": 158820,
"gas_price": 40000000000,
"gas_price_gwei": "40",
"gas_used": 60508,
"hash": "0x031e6968a8de362e4328d60dcc7f72f0d6fc84284c452f63176632177146de66",
"method_id": "0x454a2ab3",
"nonce": 0,
"timestamp": 1512907118,
"timestamp_iso": "2017-12-10T11:58:38+00:00",
"to_address": "0x6975be450864c02b4613023c2152ee0743572325",
"token_decimals": 0,
"token_id": "202106",
"token_name": "CryptoKitties",
"token_symbol": "CK",
"transaction_index": 81
}
]
}Find internal transactions between addresses
Find the internal transactions that moved value from one address to another. Give a sender, a recipient, or both.
Inputs
- Sender address
from_addresstext - Only include transfers sent by this address. Give a sender, a recipient, or both.
- Recipient address
to_addresstext - Only include transfers received by this address. Give a sender, a recipient, or both.
- Match sender and recipient
address_operatortext - How to combine the sender and recipient when both are given. Defaults to requiring both.One of:
and(Both addresses must match),or(Either address can match). Default:and. - Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to search the whole chain from its first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to search up to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
internal_transactionslist- The internal transactions that matched the filter.
Example output
{
"chain_id": "1",
"count": 1,
"internal_transactions": [
{
"block_number": 13481773,
"contract_address": null,
"error_code": null,
"from_address": "0x3909336de913344701c6f096502d26208210b39f",
"gas": 101300,
"gas_used": 13898,
"hash": "0x8b440f5ec0e986589517b131c5b75e921f2768b9912f028d2cdb009d759036ab",
"input_data": null,
"succeeded": true,
"timestamp": 1635100060,
"timestamp_iso": "2021-10-24T18:27:40+00:00",
"to_address": "0xff62dfadca3b5643d0b283571fe154d886580c0c",
"trace_id": "3",
"type": "call",
"value": 1159078546481168231,
"value_units": "1.159078546481168231"
}
]
}Find transactions between addresses
Find the transactions that went from one address to another - the direct answer to 'did this wallet ever pay that one?'. Give a sender, a recipient, or both.
Inputs
- Sender address
from_addresstext - Only include transfers sent by this address. Give a sender, a recipient, or both.
- Recipient address
to_addresstext - Only include transfers received by this address. Give a sender, a recipient, or both.
- Match sender and recipient
address_operatortext - How to combine the sender and recipient when both are given. Defaults to requiring both.One of:
and(Both addresses must match),or(Either address can match). Default:and. - Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to search the whole chain from its first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to search up to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
transactionslist- The transactions that matched the filter.
Example output
{
"chain_id": "1",
"count": 1,
"transactions": [
{
"block_hash": "0xf5646226f819fbdd6b2f1cb99de6e5d17da3d876ec166e69f4e9736c8ebf7ab4",
"block_number": 23467053,
"confirmations": 589,
"contract_address": null,
"cumulative_gas_used": 22498564,
"error_description": null,
"from_address": "0x2449ecef5012f0a0e153b278ef4fcc9625bc4c78",
"function_name": "delegate(address to)",
"gas": 73271,
"gas_price": 238744402,
"gas_price_gwei": "0.238744402",
"gas_used": 48847,
"hash": "0xf9db905d77704596d3600816bc70201586cfeec13bcf576320e2f38d6ca851a0",
"input_data": "0x5c19a95c0000000000000000000000002449ecef5012f0a0e153b278ef4fcc9625bc4c78",
"method_id": "0x5c19a95c",
"nonce": 8,
"succeeded": true,
"timestamp": 1759129619,
"timestamp_iso": "2025-09-29T07:06:59+00:00",
"to_address": "0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc",
"transaction_fee": 11661947804494,
"transaction_fee_units": "0.000011661947804494",
"transaction_index": 184,
"value": 0,
"value_units": "0"
}
]
}Get a block
Get a block's header straight from a node, optionally with every transaction in it. Leave the block number blank for the latest block.
Inputs
- Block number
block_numbernumber - The block to fetch. Leave blank to use the Block field below.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Block
block_tagtext - Which block to read the state at. Defaults to the latest block.One of:
latest(Latest block),earliest(Earliest block),pending(Pending block). Default:latest. - Include full transactions
include_transactionstrue/false - Return every transaction in the block rather than just their hashes. Much larger, so off by default.Default:
false.
Outputs
blockobject- The block, with the node's own hex fields kept alongside the converted ones.
chain_idtext- The chain the call was made against, as its chain id.
tagtext- The block tag actually asked for.
Example output
{
"block": {
"base_fee_per_gas": null,
"gas_limit": 3141592,
"gas_used": 21000,
"hash": "0x7eb7c23a5ac2f2d70aa1ba4e5c56d89de5ac993590e5f6e79c394e290d998ba8",
"miner": "0xf927a40c8b7f6e07c5af7fa2155b4864a4112b13",
"number": 68943,
"parentHash": "0xf8d01370e6e274f8188954fbee435b40c35b2ad3d4ab671f6d086cd559e48f04",
"size": 629,
"timestamp": 1438271100,
"timestamp_iso": "2015-07-30T15:45:00+00:00",
"transaction_count": 1,
"transactions": [
"0xa5c8ba0ad2bb26e0e5a2d1c9a5a1a2ba0e7a02f1cb6d5b1e5b3b5cf0f0f0f0f0"
]
},
"chain_id": "1",
"tag": "0x10d4f"
}Get a transaction
Get one transaction's full details by its hash, straight from a node: sender, recipient, value, gas, call data and signature.
Inputs
- Transaction hash
transaction_hashtextRequired - The 66-character transaction hash, starting with 0x.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
transactionobject- The transaction. Null when the hash is unknown to the node.
transaction_hashtext- A 66-character hash, lowercased.
Example output
{
"chain_id": "1",
"transaction": {
"block_number": 13575200,
"chain_id": 1,
"from": "0x00192fb10df37c9fb26829eb2cc623cd1bf599e8",
"gas": 21000,
"gas_price_wei": 111578610505,
"gas_price_wei_gwei": "111.578610505",
"hash": "0xbc78ab8a9e9a0bca7d0321a27b2c03addeae08ba81ea98b03cd3dd237eabed44",
"input": "0x",
"nonce": 3389341,
"to": "0xc67f4e626ee4d3f272c2fb31bad60761ab55ed9f",
"transaction_index": 91,
"value_ether": "0.007175",
"value_wei": 7175000000000000
},
"transaction_hash": "0xbc78ab8a9e9a0bca7d0321a27b2c03addeae08ba81ea98b03cd3dd237eabed44"
}Get a transaction by its position in a block
Get one transaction by which block it is in and where in that block it sits - the way to walk a block's transactions without knowing their hashes.
Inputs
- Block number
block_numbernumberRequired - The block to look at, as an ordinary number.At least 0.
- Position in block
transaction_indexnumberRequired - Which transaction within the block, counting from 0.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
block_numbernumber- The block asked about.
chain_idtext- The chain the call was made against, as its chain id.
transactionobject- The transaction. Null when the block has none at that position.
transaction_indexnumber- The position asked about.
Example output
{
"block_number": 12989533,
"chain_id": "1",
"transaction": {
"block_number": 12989533,
"chain_id": 1,
"from": "0xd1af036d589b6ebfbaa184b339a30d32ef611708",
"gas": 70000,
"gas_price_wei": 24560622503,
"gas_price_wei_gwei": "24.560622503",
"hash": "0xc7ef51f0bfe85eefbb1d4d88f5a39e82fbfc94987d8cbcb515f74d80b6e44902",
"input": "0x2d2da806",
"nonce": 0,
"to": "0xabea9132b05a70803a4e85094fd0e1800777fbef",
"transaction_index": 282,
"value_ether": "0.0246",
"value_wei": 24600000000000000
},
"transaction_index": 282
}Get a transaction receipt
Get a transaction's receipt: whether it succeeded, the gas it used, the price it actually paid, and every event log it emitted.
Inputs
- Transaction hash
transaction_hashtextRequired - The 66-character transaction hash, starting with 0x.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
receiptobject- The receipt. Null while the transaction is still pending.
transaction_hashtext- A 66-character hash, lowercased.
Example output
{
"chain_id": "1",
"receipt": {
"block_number": 13575207,
"contractAddress": null,
"cumulative_gas_used": 15427541,
"effective_gas_price_wei": 114290000934,
"effective_gas_price_wei_gwei": "114.290000934",
"from": "0x292f04a44506c2fd49bac032e1ca148c35a478c8",
"gas_used": 46109,
"log_count": 1,
"logs": [
{
"address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
}
],
"succeeded": true,
"to": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"transaction_index": 290
},
"transaction_hash": "0xadb8aec59e80db99811ac4a0235efa3e45da32928bcff557998552250fa672eb"
}Get an address's transaction count (nonce)
Get how many transactions an address has sent, which is also the nonce its next transaction will use.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Block
block_tagtext - Which block to read the state at. Defaults to the latest block.One of:
latest(Latest block),earliest(Earliest block),pending(Pending block). Default:latest.
Outputs
addresstext- A 42-character address, lowercased.
chain_idtext- The chain the call was made against, as its chain id.
next_noncenumber- The nonce its next transaction will use.
tagtext- The block the count was read at.
transaction_countnumber- How many transactions it has sent.
Example output
{
"address": "0x2910543af39aba0cd09dbb2d50200b3e800a63d2",
"chain_id": "1",
"next_nonce": 115,
"tag": "latest",
"transaction_count": 115
}Get an uncle block
Get one uncle block by its position within a block. Proof-of-work history only.
Inputs
- Block number
block_numbernumberRequired - The block to look at, as an ordinary number.At least 0.
- Uncle position
uncle_indexnumberRequired - Which uncle within the block, counting from 0.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
block_numbernumber- The block asked about.
chain_idtext- The chain the call was made against, as its chain id.
uncleobject- The uncle block. Null when the block had no uncle there.
uncle_indexnumber- The uncle's position in it.
Example output
{
"block_number": 12989556,
"chain_id": "1",
"uncle": {
"gas_limit": 30096282,
"gas_used": 11833825,
"hash": "0x1da88e3581315d009f1cb600bf06f509cd27a68cb3d6437bda8698d04089f14a",
"miner": "0x1ad91ee08f21be3de0ba2ba6918e714da6b45836",
"number": 12989556,
"size": 548,
"timestamp": 1628501274,
"timestamp_iso": "2021-08-09T09:27:54+00:00"
},
"uncle_index": 0
}Get block number by date and time
Find the block produced at a given moment - the bridge between a date and the block numbers the historical balance and block range actions take. Pick the date and time and this converts it for you.
Inputs
- Date and time
timestampdate and timeRequired - The moment to find the block for.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Which side
closesttext - Whether to take the last block before that moment or the first one after it.One of:
before(The last block at or before that moment),after(The first block at or after that moment). Default:before.
Outputs
block_numbernumber- The block at that moment.
chain_idtext- The chain the call was made against, as its chain id.
closesttext- Which side was taken: before or after.
timestampnumber- The moment asked about, in unix seconds.
timestamp_isotext- The moment asked about, as an ISO 8601 UTC timestamp.
Example output
{
"block_number": 9251482,
"chain_id": "1",
"closest": "before",
"timestamp": 1578638524,
"timestamp_iso": "2020-01-10T06:42:04+00:00"
}Get block reward
Get what a block paid: the reward, who earned it, and any uncle rewards it included.
Inputs
- Block number
block_numbernumberRequired - The block to look at, as an ordinary number.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
block_numbernumber- The block asked about.
block_rewardnumber- What the block paid its producer, in wei (the exact on-chain integer).
block_reward_unitstext- What the block paid its producer, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
chain_idtext- The chain the call was made against, as its chain id.
miner_addresstext- Who produced the block.
timestampnumber- When the block was produced, in unix seconds.
timestamp_isotext- When the block was produced, as an ISO 8601 UTC timestamp.
uncle_inclusion_rewardnumber- The extra paid for including uncles, in wei (the exact on-chain integer).
uncle_inclusion_reward_unitstext- The extra paid for including uncles, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
uncleslist- The uncle blocks this block included, if any.
Example output
{
"block_number": 2165403,
"block_reward": 5314181600000000000,
"block_reward_units": "5.3141816",
"chain_id": "1",
"miner_address": "0x13a06d3dfe21e0db5c016c03ea7d2509f7f8d1e3",
"timestamp": 1472533979,
"timestamp_iso": "2016-08-30T04:32:59+00:00",
"uncle_inclusion_reward": 312500000000000000,
"uncle_inclusion_reward_units": "0.3125",
"uncles": [
{
"block_reward": 3750000000000000000,
"block_reward_units": "3.75",
"miner_address": "0xbcdfc35b86bedf72f0cda046a3c16829a2ef41d1",
"position": 0
}
]
}Get chain size over time
Get how much disk the chain occupied on each day of a range. The answer depends on which node software you would run and whether it keeps full history, so both are part of the question.
Inputs
- Start date
start_datedateRequired - The first day to include.
- End date
end_datedateRequired - The last day to include.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Node client
client_typetext - Which node software the size is measured for.One of:
geth,parity. Default:geth. - Sync mode
sync_modetext - A pruned node, or an archive node that keeps every historical state.One of:
default(Default (pruned) node),archive(Archive node). Default:default. - Order
sorttext - Which end of the range to return first. Defaults to oldest first.One of:
asc(Oldest first),desc(Newest first). Default:asc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
dayslist- One entry per day in the range.
end_datetext- The last day asked for.
start_datetext- The first day asked for.
Example output
{
"chain_id": "1",
"count": 1,
"days": [
{
"block_number": 7156164,
"client_type": "Geth",
"date": "2019-02-01",
"size_bytes": 184726421279,
"size_gb": 184.726,
"sync_mode": "Default"
}
],
"end_date": "2019-02-01",
"start_date": "2019-02-01"
}Get contract ABI
Get a verified contract's ABI, parsed into a list you can read plus the raw JSON string a web3 library expects, with its function and event names pulled out. Only works for contracts whose source is published on Etherscan.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
abilist- The parsed ABI.
abi_jsontext- The ABI as the JSON string web3 libraries take.
addresstext- A 42-character address, lowercased.
chain_idtext- The chain the call was made against, as its chain id.
event_nameslist- Every event the contract emits.
function_nameslist- Every function the contract exposes.
Example output
{
"abi": [
{
"name": "transfer",
"type": "function"
}
],
"abi_json": "[{\"name\":\"transfer\",\"type\":\"function\"}]",
"address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"chain_id": "1",
"event_names": [
"Transfer"
],
"function_names": [
"transfer"
]
}Get contract deployers
Find who deployed each of up to five contracts, in which transaction and when, plus the factory that created it if one did. The starting point for auditing a contract's provenance.
Inputs
- Contract addresses
contract_addresseslistRequired - The contracts to look up, up to 5 of them.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
contractslist- One entry per contract asked about.
countnumber- How many records this step returned.
Example output
{
"chain_id": "1",
"contracts": [
{
"block_number": 10720863,
"contract_address": "0xcbdcd3815b5f975e1a2c944a9b2cd1c985a1cb7f",
"creation_bytecode": "0x602d3d8160093d39f3363d3d373d3d3d363d73",
"creator_address": "0x3d080421c9dd5fb387d6e3124f7e1c241ade9568",
"factory_address": null,
"timestamp": 1598242563,
"timestamp_iso": "2020-08-24T04:16:03+00:00",
"transaction_hash": "0xdce495a9261c4a2a5d4e879cfb55c060b4616a846d3425c441a9e31aa34c956f"
}
],
"count": 1
}Get contract source code
Get a verified contract's published source code along with the compiler version, optimizer settings, licence, and - when it is a proxy - the implementation it points at. is_verified is false rather than an error when the source was never published.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
addresstext- A 42-character address, lowercased.
chain_idtext- The chain the call was made against, as its chain id.
contractobject- The contract. Null when the source was never published.
is_verifiedtrue/false- Whether the source is published on Etherscan.
Example output
{
"address": "0xcbdcd3815b5f975e1a2c944a9b2cd1c985a1cb7f",
"chain_id": "1",
"contract": {
"abi_json": "[{\"name\":\"enterValue\",\"type\":\"function\"}]",
"compiler_type": "solc",
"compiler_version": "v0.4.26+commit.4563c3fc",
"constructor_arguments": null,
"evm_version": "Default",
"file_name": null,
"implementation_address": null,
"is_proxy": false,
"library": null,
"license_type": "None",
"name": "Test12345",
"optimization_runs": 200,
"optimization_used": true,
"similar_match_address": "0x60810f4d8a618edb533a168e790ab6c09b0e7707",
"source_code": "pragma solidity 0.4.26;\n\ncontract Test12345 {}",
"swarm_source": "bzzr://f6b932198e10e83a6c872406a4252cf5eea48f37"
},
"is_verified": true
}Get countdown to a future block
Estimate how long until a block that has not happened yet is produced - for counting down to a launch or an unlock. Only answers for a future block.
Inputs
- Block number
block_numbernumberRequired - A block that has not been produced yet.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countdown_blocknumber- The block asked about.
current_blocknumber- The chain's latest block.
estimated_minutesnumber- The same estimate in minutes.
estimated_secondsnumber- Estimated seconds until then.
remaining_blocksnumber- How many blocks are still to come.
Example output
{
"chain_id": "1",
"countdown_block": 25000000,
"current_block": 24884529,
"estimated_minutes": 23094.2,
"estimated_seconds": 1385652.0,
"remaining_blocks": 115471
}Get event logs
Read the events a contract emitted over a range of blocks. Filter by contract address, by topics, or by both: topic 0 is the event signature hash (which event), and topics 1-3 are its indexed arguments (which sender, which token id). This one action covers all three of Etherscan's log queries.
Inputs
- From block
from_blocknumberRequired - The first block to search.At least 0.
- To block
to_blocknumberRequired - The last block to search.At least 0.
- Contract address
addresstext - Only include logs from this contract. Give a contract, at least one topic, or both.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Topic 0 (event signature)
topic0text - The keccak hash of the event signature - which event to match.
- Topic 1
topic1text - The event's first indexed argument, as a 32-byte value.
- Topic 2
topic2text - The event's second indexed argument, as a 32-byte value.
- Topic 3
topic3text - The event's third indexed argument, as a 32-byte value.
- Combine topics with
topic_operatortext - How to combine the topics you gave. Defaults to requiring all of them.One of:
and(The log must carry every topic given),or(The log may carry any of the topics given). Default:and. - Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
from_blocknumber- The first block searched.
logslist- The matching event logs.
to_blocknumber- The last block searched.
Example output
{
"chain_id": "1",
"count": 1,
"from_block": 12878100,
"logs": [
{
"address": "0xbd3531da5cf5857e7cfaa92426877b022e612cf8",
"block_hash": "0x837e109ab8b1b40ec7d1032bff82397325d85e719b97d900fa0d9aa9745b2c27",
"block_number": 12878196,
"data": "0x",
"event_signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"gas_price": 200000000000,
"gas_price_gwei": "200",
"gas_used": 2388485,
"log_index": 0,
"timestamp": 1626984022,
"timestamp_iso": "2021-07-22T20:00:22+00:00",
"topics": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x0000000000000000000000000000000000000000000000000000000000000000",
"0x000000000000000000000000c45a4b3b698f21f88687548e7f5a80df8b99d93d",
"0x00000000000000000000000000000000000000000000000000000000000000b5"
],
"transaction_hash": "0x4ffd22d986913d33927a392fe4319bcd2b62f3afe1c15a2c59f77fc2cc4c20a9",
"transaction_index": 0
}
],
"to_block": 12878300
}Get gas price recommendations
Get Etherscan's low, average and high gas price recommendations in gwei, with the current base fee - the numbers behind the gas tracker on etherscan.io. Poll it on a schedule to alert when gas drops below a threshold.
Inputs
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
fast_gas_price_gweinumber- The high, fastest price.
last_blocknumber- The block the reading is based on.
propose_gas_price_gweinumber- The average, recommended price.
recent_gas_used_ratioslist- How full the last few blocks were.
safe_gas_price_gweinumber- The low, cheapest-but-slower price.
suggested_base_fee_gweinumber- The current EIP-1559 base fee.
Example output
{
"chain_id": "1",
"fast_gas_price_gwei": 0.55411917,
"last_block": 23467872,
"propose_gas_price_gwei": 0.496840168,
"recent_gas_used_ratios": [
0.405942555555556,
0.784013777777778
],
"safe_gas_price_gwei": 0.496839934,
"suggested_base_fee_gwei": 0.496839934
}Get native coin balance
Get an address's balance of the chain's own coin - ETH on Ethereum, BNB on BNB Chain, POL on Polygon. Returns the exact wei figure and the same number in whole coins.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Block number
block_numbernumber - Read the balance as it stood at this block. Etherscan keeps only the last 128 blocks here, so this is for 'a moment ago', not history. Leave blank for the current balance.At least 0.
Outputs
addresstext- A 42-character address, lowercased.
balancenumber- The address's native coin balance, in wei (the exact on-chain integer).
balance_unitstext- The address's native coin balance, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
chain_idtext- The chain the call was made against, as its chain id.
Example output
{
"address": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
"balance": 172774397764084972158218,
"balance_units": "172774.397764084972158218",
"chain_id": "1"
}Get native coin balances for several addresses
Get the native coin balance of up to 20 addresses in one call - one request instead of twenty, which matters against a rate limit.
Inputs
- Addresses
addresseslistRequired - The addresses to look up, up to 20 of them.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
balanceslist- One entry per address asked about.
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
Example output
{
"balances": [
{
"address": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
"balance": 40891631566070000000000,
"balance_units": "40891.63156607"
},
{
"address": "0x63a9975ba31b0b9626b34300f7f627147df1f526",
"balance": 332567136222827062478,
"balance_units": "332.567136222827062478"
}
],
"chain_id": "1",
"count": 2
}Get the code at an address
Get the bytecode deployed at an address, and with it the answer to whether the address is a contract at all - an empty result means it is an ordinary wallet.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Block
block_tagtext - Which block to read the state at. Defaults to the latest block.One of:
latest(Latest block),earliest(Earliest block),pending(Pending block). Default:latest.
Outputs
addresstext- A 42-character address, lowercased.
bytecodetext- The deployed bytecode, or 0x when there is none.
chain_idtext- The chain the call was made against, as its chain id.
is_contracttrue/false- Whether anything is deployed there.
tagtext- The block the code was read at.
Example output
{
"address": "0xa2b4c0af19cc16a6cfacce81f192b024d625817d",
"bytecode": "0x3660008037602060003660003473273930d21e01ee25e4c219b6",
"chain_id": "1",
"is_contract": true,
"tag": "latest"
}Get the current gas price
Get the gas price a node is currently quoting, in wei and in gwei.
Inputs
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
gas_price_gweitext- The same price in gwei, as a decimal string.
gas_price_hextext- The price as the node returned it.
gas_price_weinumber- The gas price, in wei.
Example output
{
"chain_id": "1",
"gas_price_gwei": "0.497666226",
"gas_price_hex": "0x1da9c8b2",
"gas_price_wei": 497666226
}Get the latest block number
Get the number of the most recent block on the chain - the natural first step for a workflow that reads a window of recent history.
Inputs
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
block_numbernumber- The latest block number.
block_number_hextext- The same number as the node returned it.
chain_idtext- The chain the call was made against, as its chain id.
Example output
{
"block_number": 23467872,
"block_number_hex": "0x1661760",
"chain_id": "1"
}Get the native coin price
Get the latest price of the chain's native coin in USD and BTC, with the moment each quote was taken.
Inputs
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
btc_quoted_atnumber- When the BTC price was taken, in unix seconds.
btc_quoted_at_isotext- When the BTC price was taken, as an ISO 8601 UTC timestamp.
chain_idtext- The chain the call was made against, as its chain id.
price_btcnumber- The price in bitcoin.
price_usdnumber- The price in US dollars.
usd_quoted_atnumber- When the USD price was taken, in unix seconds.
usd_quoted_at_isotext- When the USD price was taken, as an ISO 8601 UTC timestamp.
Example output
{
"btc_quoted_at": 1759139509,
"btc_quoted_at_iso": "2025-09-29T09:51:49+00:00",
"chain_id": "1",
"price_btc": 0.0368322132423383,
"price_usd": 4129.30651044757,
"usd_quoted_at": 1759139509,
"usd_quoted_at_iso": "2025-09-29T09:51:49+00:00"
}Get the native coin supply
Get the circulating supply of the chain's native coin. This figure leaves out staking rewards and burned fees - 'Get the native coin supply (detailed)' breaks those out.
Inputs
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
total_supplynumber- The circulating supply, in wei (the exact on-chain integer).
total_supply_unitstext- The circulating supply, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
Example output
{
"chain_id": "1",
"total_supply": 122373866217800000000000000,
"total_supply_units": "122373866.2178"
}Get the native coin supply (detailed)
Get the native coin's supply split into its moving parts: circulating supply, staking rewards issued, EIP-1559 fees burned, and the total withdrawn from the beacon chain. net_supply is issuance minus burn - the figure people mean by 'ETH supply'.
Inputs
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
burnt_feesnumber- Fees burned under EIP-1559, in wei (the exact on-chain integer).
burnt_fees_unitstext- Fees burned under EIP-1559, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
chain_idtext- The chain the call was made against, as its chain id.
net_supplynumber- Supply plus staking rewards, minus burn, in wei (the exact on-chain integer).
net_supply_unitstext- Supply plus staking rewards, minus burn, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
staking_rewardsnumber- Rewards issued to stakers, in wei (the exact on-chain integer).
staking_rewards_unitstext- Rewards issued to stakers, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
total_supplynumber- The circulating supply, in wei (the exact on-chain integer).
total_supply_unitstext- The circulating supply, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
withdrawn_totalnumber- Total withdrawn from the beacon chain, in wei (the exact on-chain integer).
withdrawn_total_unitstext- Total withdrawn from the beacon chain, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
Example output
{
"burnt_fees": 4610942856337430575173814,
"burnt_fees_units": "4610942.856337430575173814",
"chain_id": "1",
"net_supply": 120703250528552602424826186,
"net_supply_units": "120703250.528552602424826186",
"staking_rewards": 2940327167090033000000000,
"staking_rewards_units": "2940327.167090033",
"total_supply": 122373866217800000000000000,
"total_supply_units": "122373866.2178",
"withdrawn_total": 7618584348954597000000000,
"withdrawn_total_units": "7618584.348954597"
}Get the node count
Get how many discoverable nodes the network has right now.
Inputs
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
datetext- The day the count is for, as YYYY-MM-DD.
node_countnumber- How many discoverable nodes there are.
Example output
{
"chain_id": "1",
"date": "2025-09-25",
"node_count": 11786
}Get token balance
Get how much of one ERC-20 token an address holds. The raw figure is in the token's smallest unit; the whole-unit companion is scaled by the token's decimals.
Inputs
- Token contract address
contract_addresstextRequired - The token's contract address.
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
addresstext- The holder asked about.
balancenumber- The token balance, in the token's smallest unit (the exact on-chain integer).
balance_unitstext- The token balance, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
chain_idtext- The chain the call was made against, as its chain id.
contract_addresstext- The token asked about.
Example output
{
"address": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
"balance": 135499,
"balance_units": "0.000000000000135499",
"chain_id": "1",
"contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7"
}Get token total supply
Get how much of an ERC-20 token is in circulation.
Inputs
- Token contract address
contract_addresstextRequired - The token's contract address.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
contract_addresstext- The token asked about.
total_supplynumber- The circulating supply, in the token's smallest unit (the exact on-chain integer).
total_supply_unitstext- The circulating supply, in whole units, as a decimal string. A string because a float cannot hold it without rounding.
Example output
{
"chain_id": "1",
"contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"total_supply": 21265524714464,
"total_supply_units": "0.000021265524714464"
}List blocks validated by an address
List the blocks a validator or mining address produced, and what each one paid it.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Block type
block_typetext - Full blocks, or the uncle blocks of pre-Merge Ethereum.One of:
blocks(Full blocks),uncles(Uncle blocks (pre-Merge only)). Default:blocks. - Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
Outputs
blockslist- The blocks this address produced, newest first.
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
Example output
{
"blocks": [
{
"block_number": 20226140,
"block_reward": 33424103001400554,
"block_reward_units": "0.033424103001400554",
"timestamp": 1720011623,
"timestamp_iso": "2024-07-03T11:40:23+00:00"
}
],
"chain_id": "1",
"count": 1
}List ERC-1155 token transfers
List ERC-1155 transfers for a wallet, for a contract, or for both. ERC-1155 moves a quantity of a token id at a time, so each transfer carries both.
Inputs
- Wallet address
addresstext - The wallet whose transfers you want. Give a wallet, a token contract, or both (both narrows to one wallet's transfers of one token).
- Token contract address
contract_addresstext - Only include transfers of this token. Give a wallet, a token contract, or both.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to start at the first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to run to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
transferslist- The ERC-1155 transfers.
Example output
{
"chain_id": "1",
"count": 1,
"transfers": [
{
"block_hash": "0xa5da536dfbe8125eb146114e2ee0d0bdef2b20483aacbf30fed6b60f092059e6",
"block_number": 13472395,
"confirmations": 9995266,
"contract_address": "0x76be3b62873462d2142405439777e971754e8e77",
"cumulative_gas_used": 11739203,
"from_address": "0x1e63326a84d2fa207bdfa856da9278a93deba418",
"function_name": null,
"gas": 140000,
"gas_price": 52898577246,
"gas_price_gwei": "52.898577246",
"gas_used": 105030,
"hash": "0x643b15f3ffaad5d38e33e5872b4ebaa7a643eda8b50ffd5331f682934ee65d4d",
"method_id": "0x3e6b214b",
"nonce": 41,
"quantity": 1,
"timestamp": 1634973285,
"timestamp_iso": "2021-10-23T07:14:45+00:00",
"to_address": "0x83f564d180b58ad9a02a449105568189ee7de8cb",
"token_id": "10371",
"token_name": "parallel",
"token_symbol": "LL",
"transaction_index": 100
}
]
}List ERC-20 token transfers
List ERC-20 token transfers for a wallet, for a token, or for one wallet's transfers of one token. Each transfer carries the token's name, symbol and decimals, and the amount in both raw and whole units.
Inputs
- Wallet address
addresstext - The wallet whose transfers you want. Give a wallet, a token contract, or both (both narrows to one wallet's transfers of one token).
- Token contract address
contract_addresstext - Only include transfers of this token. Give a wallet, a token contract, or both.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to start at the first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to run to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
transferslist- The ERC-20 transfers.
Example output
{
"chain_id": "1",
"count": 1,
"transfers": [
{
"block_hash": "0x022c5e6a3d2487a8ccf8946a2ffb74938bf8e5c8a3f6d91b41c56378a96b5c37",
"block_number": 4730207,
"confirmations": 18737452,
"contract_address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
"cumulative_gas_used": 2523379,
"from_address": "0x642ae78fafbb8032da552d619ad43f1d81e4dd7c",
"function_name": "redeem()",
"gas": 940000,
"gas_price": 32010000000,
"gas_price_gwei": "32.01",
"gas_used": 77759,
"hash": "0xe8c208398bd5ae8e4c237658580db56a2a94dfa0ca382c99b776fa6e7d31d5b4",
"method_id": "0xbe040fb0",
"nonce": 406,
"timestamp": 1513240363,
"timestamp_iso": "2017-12-14T08:32:43+00:00",
"to_address": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
"token_decimals": 18,
"token_name": "Maker",
"token_symbol": "MKR",
"transaction_index": 81,
"value": 5901522149285533025181,
"value_units": "5901.522149285533025181"
}
]
}List ERC-721 (NFT) transfers
List NFT transfers for a wallet, for a collection, or for one wallet's transfers within one collection. Each transfer names the exact token id that moved.
Inputs
- Wallet address
addresstext - The wallet whose transfers you want. Give a wallet, a token contract, or both (both narrows to one wallet's transfers of one token).
- Token contract address
contract_addresstext - Only include transfers of this token. Give a wallet, a token contract, or both.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to start at the first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to run to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
transferslist- The ERC-721 transfers.
Example output
{
"chain_id": "1",
"count": 1,
"transfers": [
{
"block_hash": "0x4be19c278bfaead5cb0bc9476fa632e2447f6e6259e0303af210302d22779a24",
"block_number": 4708120,
"confirmations": 18759540,
"contract_address": "0x06012c8cf97bead5deae237070f9587f8e7a266d",
"cumulative_gas_used": 4880352,
"from_address": "0xb1690c08e213a35ed9bab7b318de14420fb57d8c",
"function_name": "bid(uint256 _tokenId)",
"gas": 158820,
"gas_price": 40000000000,
"gas_price_gwei": "40",
"gas_used": 60508,
"hash": "0x031e6968a8de362e4328d60dcc7f72f0d6fc84284c452f63176632177146de66",
"method_id": "0x454a2ab3",
"nonce": 0,
"timestamp": 1512907118,
"timestamp_iso": "2017-12-10T11:58:38+00:00",
"to_address": "0x6975be450864c02b4613023c2152ee0743572325",
"token_decimals": 0,
"token_id": "202106",
"token_name": "CryptoKitties",
"token_symbol": "CK",
"transaction_index": 81
}
]
}List internal transactions for an address
List the internal transactions that touched an address - the value moves a contract made on its own, which never appear in the normal transaction list. Withdrawals from an exchange contract or a DeFi position land here.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to start at the first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to run to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
internal_transactionslist- The internal transactions, in the order asked for.
Example output
{
"chain_id": "1",
"count": 1,
"internal_transactions": [
{
"block_number": 13481773,
"contract_address": null,
"error_code": null,
"from_address": "0x3909336de913344701c6f096502d26208210b39f",
"gas": 101300,
"gas_used": 13898,
"hash": "0x8b440f5ec0e986589517b131c5b75e921f2768b9912f028d2cdb009d759036ab",
"input_data": null,
"succeeded": true,
"timestamp": 1635100060,
"timestamp_iso": "2021-10-24T18:27:40+00:00",
"to_address": "0xff62dfadca3b5643d0b283571fe154d886580c0c",
"trace_id": "3",
"type": "call",
"value": 1159078546481168231,
"value_units": "1.159078546481168231"
}
]
}List internal transactions of one transaction
Break one transaction open and list every value move it set off inside contracts. This is what shows where the money actually went in a swap or a multi-step contract call.
Inputs
- Transaction hash
transaction_hashtextRequired - The 66-character transaction hash, starting with 0x.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
internal_transactionslist- The internal transactions this transaction set off.
transaction_hashtext- A 66-character hash, lowercased.
Example output
{
"chain_id": "1",
"count": 1,
"internal_transactions": [
{
"block_number": 13481773,
"contract_address": null,
"error_code": null,
"from_address": "0x3909336de913344701c6f096502d26208210b39f",
"gas": 101300,
"gas_used": 13898,
"hash": "0x8b440f5ec0e986589517b131c5b75e921f2768b9912f028d2cdb009d759036ab",
"input_data": null,
"succeeded": true,
"timestamp": 1635100060,
"timestamp_iso": "2021-10-24T18:27:40+00:00",
"to_address": "0xff62dfadca3b5643d0b283571fe154d886580c0c",
"trace_id": "3",
"type": "call",
"value": 1159078546481168231,
"value_units": "1.159078546481168231"
}
],
"transaction_hash": "0x8b440f5ec0e986589517b131c5b75e921f2768b9912f028d2cdb009d759036ab"
}List L2 deposits for an address
List an address's deposits from Ethereum onto an L2 chain, each linked back to the L1 transaction that started it. Set the Chain to the L2 you are asking about.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
depositslist- The deposits onto this chain.
Example output
{
"chain_id": "10",
"count": 1,
"deposits": [
{
"block_hash": "0xef2ff158c8b12be842429f4a8cde58bfa6a389c5274b46f8a1dd2ee7f958ca4d",
"block_number": 132992375,
"cumulative_gas_used": 169497,
"error_description": null,
"from_address": "0x36bde71c97b33cc4729cf772ae268934f7ab70b2",
"gas": 490798,
"gas_price": 0,
"gas_price_gwei": "0",
"gas_used": 117234,
"hash": "0x64ccd0cfa9f333578b36227492f3bc7f5f3ec4bfa82cdc46f82884db680d8e5b",
"input_data": "0xd764ad0b0001",
"l1_transaction_hash": "0x303bd05c47e62e1243a33210e535ebc70a7567e53a9972fbdef52ee5bcda5acb",
"l1_transaction_origin": "0x36bde71c97b33cc4729cf772ae268934f7ab70b2",
"nonce": 520502,
"queue_index": 999999,
"succeeded": true,
"timestamp": 1741583527,
"timestamp_iso": "2025-03-10T05:12:07+00:00",
"to_address": "0x4200000000000000000000000000000000000007",
"token_address": "ETH",
"token_sent_from": null,
"token_sent_to": "0x80f3950a4d371c43360f292a4170624abd9eed03",
"token_value": 598200000000000,
"token_value_units": "0.0005982",
"value": 598200000000000,
"value_units": "0.0005982"
}
]
}List L2 withdrawals for an address
List an address's withdrawals from an L2 chain back to Ethereum. Set the Chain to the L2 you are asking about.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
withdrawalslist- The withdrawals off this chain.
Example output
{
"chain_id": "10",
"count": 1,
"withdrawals": [
{
"block_hash": "0xef2ff158c8b12be842429f4a8cde58bfa6a389c5274b46f8a1dd2ee7f958ca4d",
"block_number": 132992375,
"cumulative_gas_used": 169497,
"error_description": null,
"from_address": "0x36bde71c97b33cc4729cf772ae268934f7ab70b2",
"gas": 490798,
"gas_price": 0,
"gas_price_gwei": "0",
"gas_used": 117234,
"hash": "0x64ccd0cfa9f333578b36227492f3bc7f5f3ec4bfa82cdc46f82884db680d8e5b",
"input_data": "0xd764ad0b0001",
"l1_transaction_hash": "0x303bd05c47e62e1243a33210e535ebc70a7567e53a9972fbdef52ee5bcda5acb",
"l1_transaction_origin": "0x36bde71c97b33cc4729cf772ae268934f7ab70b2",
"nonce": 520502,
"queue_index": 999999,
"succeeded": true,
"timestamp": 1741583527,
"timestamp_iso": "2025-03-10T05:12:07+00:00",
"to_address": "0x4200000000000000000000000000000000000007",
"token_address": "ETH",
"token_sent_from": null,
"token_sent_to": "0x80f3950a4d371c43360f292a4170624abd9eed03",
"token_value": 598200000000000,
"token_value_units": "0.0005982",
"value": 598200000000000,
"value_units": "0.0005982"
}
]
}List Plasma bridge deposits for an address
List the Plasma bridge deposits an address received. Polygon's older bridge; set the Chain to Polygon.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
depositslist- The Plasma deposits this address received.
Example output
{
"chain_id": "137",
"count": 1,
"deposits": [
{
"address": "0x4880bd4695a8e59dc527d124085749744b6c988e",
"amount": 2341706540000000000,
"amount_units": "2.34170654",
"block_number": 51844560,
"contract_address": "0x0000000000000000000000000000000000001010",
"from_address": "0x0000000000000000000000000000000000000000",
"hash": "0xf645deb2b6fbb8b76ccbcf4bde782e28d3520e8a30e9a568b9b8c526e2fd8434",
"timestamp": 1704181285,
"timestamp_iso": "2024-01-02T07:41:25+00:00",
"token_decimals": 18,
"token_name": "Polygon Token",
"token_symbol": "POL"
}
]
}List staking withdrawals to an address
List the beacon-chain withdrawals paid to an address - the staking rewards and exits that arrive without a transaction, and so never show up in a transaction list. Amounts are in gwei on the consensus layer and are also given in whole coins.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to start at the first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to run to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
withdrawalslist- The withdrawals paid to this address.
Example output
{
"chain_id": "1",
"count": 1,
"withdrawals": [
{
"address": "0xb9d7934878b5fb9610b3fe8a5e441e8fad7e293f",
"amount_ether": "3.402931175",
"amount_gwei": 3402931175,
"block_number": 17034877,
"timestamp": 1681338599,
"timestamp_iso": "2023-04-12T22:29:59+00:00",
"validator_index": 117823,
"withdrawal_index": 13
}
]
}List supported chains
List every chain the Etherscan API covers, with each one's chain id, block explorer and current status. One API key works on all of them; the chain id is what every other action's Chain field holds.
Inputs
None.
Outputs
chainslist- The supported chains, in Etherscan's own order.
countnumber- How many records this step returned.
Example output
{
"chains": [
{
"api_url": "https://api.etherscan.io/v2/api?chainid=1",
"block_explorer_url": "https://etherscan.io/",
"chain_id": "1",
"comment": null,
"is_available": true,
"name": "Ethereum Mainnet",
"status_code": 1
},
{
"api_url": "https://api.etherscan.io/v2/api?chainid=8453",
"block_explorer_url": "https://basescan.org/",
"chain_id": "8453",
"comment": null,
"is_available": true,
"name": "Base Mainnet",
"status_code": 1
}
],
"count": 2
}List transactions for an address
List the transactions an address sent or received, newest first, each with its value, gas, fee, the function it called and whether it succeeded. These are the transactions a wallet signed; value moved inside a contract call shows up under 'List internal transactions' instead.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - From block
start_blocknumber - Only include results from this block onwards. Leave blank to start at the first block.At least 0.
- To block
end_blocknumber - Only include results up to this block. Leave blank to run to the latest block.At least 0.
- Page
pagenumber - Which page of results to return, counting from 1.At least 1.
- Results per page
results_per_pagenumber - How many results to return per page, up to 10000.From 1 to 10000.
- Order
sorttext - Which end of the history to return first. Defaults to newest first.One of:
asc(Oldest first),desc(Newest first). Default:desc.
Outputs
chain_idtext- The chain the call was made against, as its chain id.
countnumber- How many records this step returned.
transactionslist- The transactions, in the order asked for.
Example output
{
"chain_id": "1",
"count": 1,
"transactions": [
{
"block_hash": "0xf5646226f819fbdd6b2f1cb99de6e5d17da3d876ec166e69f4e9736c8ebf7ab4",
"block_number": 23467053,
"confirmations": 589,
"contract_address": null,
"cumulative_gas_used": 22498564,
"error_description": null,
"from_address": "0x2449ecef5012f0a0e153b278ef4fcc9625bc4c78",
"function_name": "delegate(address to)",
"gas": 73271,
"gas_price": 238744402,
"gas_price_gwei": "0.238744402",
"gas_used": 48847,
"hash": "0xf9db905d77704596d3600816bc70201586cfeec13bcf576320e2f38d6ca851a0",
"input_data": "0x5c19a95c0000000000000000000000002449ecef5012f0a0e153b278ef4fcc9625bc4c78",
"method_id": "0x5c19a95c",
"nonce": 8,
"succeeded": true,
"timestamp": 1759129619,
"timestamp_iso": "2025-09-29T07:06:59+00:00",
"to_address": "0xc5102fe9359fd9a28f877a67e36b0f050d81a3cc",
"transaction_fee": 11661947804494,
"transaction_fee_units": "0.000011661947804494",
"transaction_index": 184,
"value": 0,
"value_units": "0"
}
]
}Read a contract storage slot
Read one 32-byte slot of a contract's storage directly - the way to see state a contract never exposed through a getter.
Inputs
- Address
addresstextRequired - The wallet or contract address to look at.
- Storage slot
positionnumberRequired - Which slot to read, counting from 0.At least 0.
- Chain
chain_idtext - Which chain to query. Leave blank for Ethereum mainnet. The same key reaches every chain in this list, though a handful of them - Base, OP Mainnet, BNB Smart Chain and Avalanche among them - need a paid Etherscan plan, and say so if you pick one.Default:
1. - Block
block_tagtext - Which block to read the state at. Defaults to the latest block.One of:
latest(Latest block),earliest(Earliest block),pending(Pending block). Default:latest.
Outputs
addresstext- A 42-character address, lowercased.
chain_idtext- The chain the call was made against, as its chain id.
positionnumber- The slot read.
tagtext- The block it was read at.
value_hextext- The slot's raw 32-byte value.
value_numbernumber- The same value read as a number.
Example output
{
"address": "0x6e03d9cce9d60f3e9f2597e13cd4c54c55330cfd",
"chain_id": "1",
"position": 0,
"tag": "latest",
"value_hex": "0x0000000000000000000000000000000000000000000000000000000000000000",
"value_number": 0
}