Blockscout
SupportWebsiteGithubDiscord
  • Blockscout Open-Source Explorer
  • 💡About BlockScout
    • Features
      • Ethereum Bytecode Database Microservice
      • Blockscout Redesign
    • Chains Using Blockscout
    • Partners & Integrations
      • RaaS Providers
      • Vera: Verifier Alliance
        • Adding your chain to the Vera database
        • Programmatic verification via the API
    • News & Media
      • Newsletter & Blog
    • Funding
      • L2 Funding Proposal
        • Aux Funding Images
    • Roadmap
  • 🙎Using Blockscout
    • Getting Started
      • Glossary of Terms
      • Main Menu
      • Blocks
      • Transaction Types
      • Beacon Chain Withdrawal Views
    • My Account
      • Watch list
      • Private tags
      • Public tags
      • API keys
      • Custom ABI
      • Verified addresses
        • Copy and Sign Message
      • For developers
    • Dappscout Apps Marketplace
      • DApp Integration
    • Swapscout
      • Earn Merits when using Swapscout
    • Revokescout
    • Autoscout Explorer Launchpad
    • CSV Exports
    • Token Support
      • ERC-1155 Support
    • Merits
      • Streak rewards
      • Activity Pass
      • Leaderboard
      • Badges
      • FAQs
  • 👩‍💻Developer Support
    • For Web3 Developers
    • Link to Blockscout
    • Blockscout APIs
      • Requests & Limits
      • REST API Endpoints
        • Stats API
        • Interpreter API
      • JSON RPC & ETH Compatible RPC Endpoints
        • Account
        • Block
        • Contract
        • Logs
        • Stats
        • Token
        • Transaction
        • ETH RPC API
      • GraphQL in Blockscout
    • Smart Contract Verification
      • Blockscout UI
      • Blockscout smart-contract verification API
      • Hardhat Verification Plugin
        • Sourcify Plugin for Hardhat
      • Foundry Verification
      • Sourcify Verification
      • OpenZeppelin Contract Verification
      • Automate verifications with Catapulta
      • Verification via thirdweb
      • Interacting with Smart Contracts
    • Blockscout SDK
    • Integrate Merits
    • Chainscout chains list
  • 🏃‍♂️Setup and Run Blockscout
    • General Overview
      • Separate Indexer, Web App, and API
      • Umbrella Project Organization
      • Indexer Architecture Overview
      • ShareLock
      • EVM Version Information
    • Requirements
      • General Backend Requirements / Blockscout Backend Prerequisites
      • Backend/Frontend Compatibility Matrix
      • Hardware & Hosting Requirements
      • Database Storage Requirements
      • Client Setting Requirements
      • Node Tracing / JSON RPC Requirements
      • L2 -> L1 JSON-RPC Method Requests
    • ☑️ENV Variables
      • Backend ENVs: Common
      • Backend ENVs: Chain-Specific
      • Backend ENVs: Integrations
      • Frontend ENVs: Common
        • ENVs
        • Deprecated ENVs
      • Deprecated Backend ENVs
        • Previous ENV Variable Home Page
    • Deployment
      • ⭐Manual Deployment Guide
        • Ubuntu Setup
        • MacOS setup
      • ⭐Docker-compose Deployment
      • ⭐Kubernetes Deployment
      • Rollup Deployment
      • 🌟Cosmos-based chains
      • 🍀Upgrade Guide (v7.0 & v8.0)
      • Frontend Migration
        • All-In-One Container
        • Separate Frontend
        • Customized Backend
        • Proxy Setup
        • FAQs
      • Manual Deployment (backend + old UI)
        • Manual cleaning an instance from the previous deployment
      • Terraform Deployment
      • Ansible Deployment (AWS Cloud)
        • Overview
        • Prerequisites
        • AWS Permissions & Settings
          • Creating a Secret Key Pair
          • Login with AWS CLI
          • Creating an AWS certificate for SSL
          • Manually Cleaning Terraform Related Instances
        • Variables
        • Deploying the Blockscout Infrastructure
        • Deploying Blockscout
        • Destroying Provisioned Infrastructure
        • Common Additional Tasks
        • Common Errors and Questions
        • AWS Marketplace (deprecated)
          • Overview
          • CloudFormation Template
          • Prerequisites & Install Parameters
          • Install from AWS Marketplace
          • AWS EC2 archive node setup with OpenEthereum (formerly Parity)
          • Updating & Redeploying in AWS
          • Customizing CSS
    • Microservices
      • Blockscout ENS (BENS) Name Service Integration
      • Smart Contract Verification
    • Configuration Options
      • Admin Panel Usage
      • Automating Restarts
      • Branding Configs
      • Circle CI Updates
      • Charts and Stats
      • CSS Configuration & Presets
      • Exchange Rates
      • Front-end Config Files
      • haproxy Settings for Blockscout.com
      • Internationalization
      • Logger Configs
      • Memory Usage
      • Metrics
      • My Account Settings
      • Sorting and Pagination
      • Tracing
      • Reown Project ID for contract Read/Write
    • Indexing
      • How do I fix indexer timeouts?
      • How do I update memory consumption to fix indexer memory errors?
    • Testing
    • DB schema
  • FAQs
    • User FAQs
    • Developer FAQs
  • 🧩Resources
    • EaaS: Hosting with Blockscout
    • Contributing to Blockscout
    • Bug Bounty Program
    • Media kit
    • Release Notes
      • v5.3.0: 10/23/23
      • v5.2.0: 6/20/23
      • v5.1.0: 2/13/23
      • v5.0.0: 1/11/23
    • Discord Channel
    • Discussion
    • GitHub Repo
Powered by GitBook
LogoLogo

Privacy and Terms

  • Privacy Notice
  • Terms and Conditions

Copyright © Blockscout Limited 2023-2024

On this page
  • https://instance_base_url/api?module=account
  • Return balance from a provided block
  • Get the native token balance for an address
  • Get balance for multiple addresses
  • Get pending transactions by address
  • Get transactions by address
  • Get internal transactions
  • Get token transfer events by address
  • Get ERC-721 token transfer events by address
  • Get token account balance for token contract address
  • Get list of tokens owned by address
  • Get list of blocks mined by address
  • Get a list of accounts and their balances

Was this helpful?

Export as PDF
  1. Developer Support
  2. Blockscout APIs
  3. JSON RPC & ETH Compatible RPC Endpoints

Account

?module=account

https://instance_base_url/api?module=account

Return balance from a provided block

eth_get_balance

Mimics Ethereum JSON RPC's eth_getBalance

Example:

https://instance_base_url/api
   ?module=account
   &action=eth_get_balance
   &address={addressHash}
Parameter
Description

address

string containing the address hash.

block

optional. Block number as a string, or latest, earliest or pending Latest is the latest balance in a consensus block. Earliest is the first recorded balance for the address. Pending is the latest balance in a consensus or nonconsensus block.

{
  "id": 1,
  "jsonrpc": "2.0",
  "result": "0x0234c8a3397aab58"
}

Get the native token balance for an address

balance

Many chains use their own native tokens. On Ethereum, this will return the result in "Ether", on Gnosis it will be "xDai", etc. Results are returned in wei.

Example:

https://instance_base_url/api
   ?module=account
   &action=balance
   &address={addressHash}
Parameter
Description

address

string containing the address hash.

{
  "message": "OK",
  "result": "663046792267785498951364",
  "status": "1"
}

Also available through a GraphQL address query.

If the balance hasn't been updated recently, the node is double-checked to fetch the absolute latest balance. This will not be reflected in the current request, but once it is updated, subsequent requests will show the updated balance. If you want to know if there is a check for another balance, use the balancemulti action. That contains a property called stale that will let you know to recheck that balance in the near future.

Get balance for multiple addresses

balancemulti

Example:

https://instance_base_url/api
   ?module=account
   &action=balancemulti
   &address={addressHash1,addressHash2,addressHash3}
Parameter
Description

address

string containing the address hash, comma separated. Max 20 addresses.

{
  "message": "OK",
  "result": [
    {
      "account": "0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a",
      "balance": "40807168566070000000000",
      "stale": true
    },
    {
      "account": "0x63a9975ba31b0b9626b34300f7f627147df1f526",
      "balance": "332567136222827062478",
      "stale": false
    },
    {
      "account": "0x198ef1ec325a96cc354c7266a038be8b5c558f67",
      "balance": "185178830000000000",
      "stale": false
    }
  ],
  "status": "1"
}

Also available through a GraphQL 'addresses' query

If the balance hasn't been updated in a long time, the node is double checked to fetch the absolute latest balance. This is not reflected in the current request, but once it is updated, subsequent requests will show the updated balance. The stale attribute will be set to true if a new balance is being fetched.

Get pending transactions by address

pendingtxlist

Example:

https://instance_base_url/api
   ?module=account
   &action=pendingtxlist
   &address={addressHash}
   &page=1
   &offset=5
Parameter
Description

address

string containing the address hash.

page

optional integer representing the page number used for pagination. 'offset' must also be provided.

offset

optional integer representing number of transactions returned per page. page must also be provided.


  "message": "OK",
  "result": [
    {
      "contractAddress": "",
      "cumulativeGasUsed": "122207",
      "from": "0x3fb1cd2cd96c6d5c0b5eb3322d807b34482481d4",
      "gas": "122261",
      "gasPrice": "50000000000",
      "gasUsed": "122207",
      "hash": "0x98beb27135aa0a25650557005ad962919d6a278c4b3dde7f4f6a3a1e65aa746c",
      "input": "0xf00d4b5d000000000000000000000000036c8cecce8d8bbf0831d840d7f29c9e3ddefa63000000000000000000000000c5a96db085dda36ffbe390f455315d30d6d3dc52",
      "nonce": "0",
      "to": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
      "value": "0"
    }
  ],
  "status": "1"
}

Get transactions by address

txlist

Maximum of 10,000 transactions. Also available through a GraphQL 'address' query. For faster results, specify a smaller block range to search using the startblock and endblock parameters

Example:

https://instance_base_url/api
   ?module=account
   &action=txlist
   &address={addressHash}
   &startblock=555555
   &endblock=666666
   &page=1
   &offset=5
   &sort=asc
Parameter
Description

address

string containing the address hash.

sort

optional sorting preference, asc for ascending and desc for descending. Descending is default.

startblock

optional integer block number to start transaction search

endblock

optionalinteger block number to stop transaction search.

page

optional integer representing the page number used for pagination. offset must also be provided.

offset

optional integer representing number of transactions returned per page. page must also be provided.

filter_by

optional string representing the field to filter by. Values include to and from. If none provided returns transactions that match to, from, or contract address.

start_timestamp

optional starting block unix timestamp.

end_timestamp

optional ending block unix timestamp.

{
  "message": "OK",
  "result": [
    {
      "blockHash": "0x373d339e45a701447367d7b9c7cef84aab79c2b2714271b908cda0ab3ad0849b",
      "blockNumber": "65204",
      "confirmations": "5994246",
      "contractAddress": "",
      "cumulativeGasUsed": "122207",
      "from": "0x3fb1cd2cd96c6d5c0b5eb3322d807b34482481d4",
      "gas": "122261",
      "gasPrice": "50000000000",
      "gasUsed": "122207",
      "hash": "0x98beb27135aa0a25650557005ad962919d6a278c4b3dde7f4f6a3a1e65aa746c",
      "input": "0xf00d4b5d000000000000000000000000036c8cecce8d8bbf0831d840d7f29c9e3ddefa63000000000000000000000000c5a96db085dda36ffbe390f455315d30d6d3dc52",
      "isError": "0",
      "nonce": "0",
      "timeStamp": "1439232889",
      "to": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
      "transactionIndex": "0",
      "txreceipt_status": "1",
      "value": "0"
    }
  ],
  "status": "1"
}

Get internal transactions

txlistinternal

Up to a maximum of 10,000 internal transactions. Also available through a GraphQL 'transaction' query. For faster results, specify a smaller block range to search using the start_block and end_block parameters.

Example:

https://instance_base_url/api
   ?module=account
   &action=txlistinternal
   &startblock=555555
   &endblock=666666
   &page=1
   &offset=5
   &sort=asc
Parameter
Description

txhash

optional string representing the transaction hash to check for internal transactions

address

optional string containing the address hash.

sort

optional sorting preference, asc for ascending and desc for descending. Descending is default. Only available if 'address' is provided.

startblock

optional integer block number to start transaction search. Only available if 'address' is provided.

endblock

optionalinteger block number to stop transaction search. Only available if 'address' is provided.

page

optional integer representing the page number used for pagination. offset must also be provided. Only available if 'address' is provided.

offset

optional integer representing number of transactions returned per page. page must also be provided. Only available if 'address' is provided.

{
  "message": "OK",
  "result": [
    {
      "blockNumber": "6153702",
      "callType": "delegatecall",
      "contractAddress": "0x883103875d905c11f9ac7dacbfc16deb39655361",
      "errCode": "",
      "from": "0x2ca1e3f250f56f1761b9a52bc42db53986085eff",
      "gas": "814937",
      "gasUsed": "536262",
      "index": "0",
      "input": "",
      "isError": "0",
      "timeStamp": "1534362606",
      "to": "",
      "transactionHash": "0xd65b788c610949704a5f9aac2228c7c777434dfe11c863a12306f57fcbd8cdbb",
      "type": "call",
      "value": "5488334153118633"
    }
  ],
  "status": "1"
}

Get token transfer events by address

tokentx

Up to a maximum of 10,000 token transfer events. Also available through the GraphQL token_transfers query.

Example:

https://instance_base_url/api
   ?module=account
   &action=tokentx
   &address={addressHash}
   &page=1
   &offset=10
   &sort=asc
Parameter
Description

address

string containing the address hash.

contract address

optional string with the token contract address to identify a contract.

sort

optional sorting preference, asc for ascending and desc for descending. Descending is default.

startblock

optional integer block number to start transaction search

endblock

optionalinteger block number to stop transaction search.

page

optional integer representing the page number used for pagination. offset must also be provided.

offset

optional integer representing number of transactions returned per page. page must also be provided.

{
  "message": "OK",
  "result": [
    {
      "blockHash": "0x6169c5dc05d0051564ba3eae8ebfbdefda640c5f5ffc095846b8aed0b44f64ea",
      "blockNumber": "5997843",
      "confirmations": "199384",
      "contractAddress": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
      "cumulativeGasUsed": "1043649",
      "from": "0x4e83362442b8d1bec281594cea3050c8eb01311c",
      "gas": "44758",
      "gasPrice": "7000000000",
      "gasUsed": "37298",
      "hash": "0xd65b788c610949704a5f9aac2228c7c777434dfe11c863a12306f57fcbd8cdbb",
      "input": "0xa9059cbb00000000000000000000000021e21ba085289f81a86921de890eed30f1ad23750000000000000000000000000000000000000000000000008ac7230489e80000",
      "logIndex": "0",
      "nonce": "765",
      "timeStamp": "1532086946",
      "to": "0x21e21ba085289f81a86921de890eed30f1ad2375",
      "tokenDecimal": "18",
      "tokenName": "Maker",
      "tokenSymbol": "MKR",
      "transactionIndex": "27",
      "value": "10000000000000000000"
    }
  ],
  "status": "1"
}

Get ERC-721 token transfer events by address

tokennfttx

Example:

https://instance_base_url/api
   ?module=account
   &action=tokennfttx
   &address={addressHash}
   &page=1
   &offset=10
   &sort=asc
Parameter
Description

address

string containing the address hash.

contractaddress

optional string with the token contract address to identify a contract.

sort

optional sorting preference, asc for ascending and desc for descending. Descending is default.

startblock

optional integer block number to start transaction search

endblock

optional integer block number to stop transaction search.

page

optional integer representing the page number used for pagination. offset must also be provided.

offset

optional integer representing number of transactions returned per page. page must also be provided.

{
  "message": "OK",
  "result": [
    {
      "blockHash": "0x3b8e5e9ecb0ad53e58cd99182de99a1166946dc758b85a5529710bd47e35a49d",
      "blockNumber": "8879951",
      "confirmations": "1295191",
      "contractAddress": "0xe0617cd5b8271070b68bfc275220ef5dd32b8f58",
      "cumulativeGasUsed": "15289706",
      "from": "0x0000000000000000000000000000000000000000",
      "gas": "59636",
      "gasPrice": "1503183880",
      "gasUsed": "59636",
      "hash": "0x844ddc178dbeed48c9caef9a71a86b2d017529c1074a0390d2a61d29baa94c94",
      "input": "deprecated",
      "logIndex": "83",
      "nonce": "301",
      "timeStamp": "1682283420",
      "to": "0x34aa3f359a9d614239015126635ce7732c18fdf3",
      "tokenDecimal": "0",
      "tokenID": "2",
      "tokenName": "YourMintableSoulboundCollectible",
      "tokenSymbol": "YMSC",
      "transactionIndex": "42"
    }
  ],
  "status": "1"
}

Usage:

  • To fetch ERC-721 token transfers by address, specify address parameter

  • To fetch ERC-721 token transfers by token, specify contractaddress parameter

  • To fetch ERC-721 token transfers by address filtered by token, specify both address and contractaddress parameters

Get token account balance for token contract address

tokenbalance

Example:

https://instance_base_url/api
   ?module=account
   &action=tokenbalance
   &contractaddress={contractAddressHash}
   &address={addressHash}
Parameter
Description

contract address

string containing the contract address hash.

address

string containing the account address hash to retrieve balance for.

{
  "message": "OK",
  "result": "135499",
  "status": "1"
}

Get list of tokens owned by address

tokenlist

Example:

https://instance_base_url/api
   ?module=account
   &action=tokenlist
   &address={addressHash}
Parameter
Description

address

string containing the account address hash.

{
  "message": "OK",
  "result": [
    {
      "balance": "135499",
      "contractAddress": "0x0000000000000000000000000000000000000000",
      "decimals": "18",
      "name": "Example Token",
      "symbol": "ET",
      "type": "ERC-20"
    },
    {
      "balance": "1",
      "contractAddress": "0x0000000000000000000000000000000000000001",
      "decimals": "18",
      "name": "Example ERC-721 Token",
      "symbol": "ET7",
      "type": "ERC-721"
    }
  ],
  "status": "1"
}

Get list of blocks mined by address

getminedblocks

Example:

https://instance_base_url/api
   ?module=account
   &action=getminedblocks
   &address={addressHash}
Parameter
Description

address

string containing the address hash.

page

optional integer representing the page number used for pagination. 'offset' must also be provided.

offset

optional integer representing number of transactions returned per page. page must also be provided.

{
  "message": "OK",
  "result": [
    {
      "blockNumber": "3462296",
      "blockReward": "5194770940000000000",
      "timeStamp": "1491118514"
    }
  ],
  "status": "1"
}

Get a list of accounts and their balances

listaccounts

Lists accounts and native balances, sorted ascending by the time they were first seen by the explorer.

Example:

https://instance_base_url/api
   ?module=account
   &action=listaccounts
   &address={addressHash}
   &page=1
   &offset=3
Parameter
Description

page

optional integer representing the page number used for pagination. 'offset' must also be provided.

offset

optional integer representing number of transactions returned per page. page must also be provided.

If the balance hasn't been updated in a long time, the node is double checked to fetch the absolute latest balance. This is not reflected in the current request, but once it is updated, subsequent requests will show the updated balance. The stale attribute will be set to true if a new balance is being fetched.

{
  "message": "OK",
  "result": [
    {
      "address": "0x3870c57fbf1d7e49b154269331c7bc66c64d8857",
      "balance": "3790064387342000000",
      "stale": false
    },
    {
      "address": "0x497d69ae30d7cca0aa84d647c6d85a59a82c16ef",
      "balance": "2047176464264000000",
      "stale": false
    },
    {
      "address": "0x9233042b8e9e03d5dc6454bbbe5aee83818ff103",
      "balance": "444111960222208758647",
      "stale": false
    }
  ],
  "status": "1"
}

Last updated 3 months ago

Was this helpful?

👩‍💻