How to Look Up Transaction History on Hedera Using Mirror… | Hedera Hedera Network Services Token Service Mint and configure tokens and accounts. Consensus Service Verifiable timestamps and ordering of events. Smart Contracts Run Solidity smart contracts. HBAR The Hedera network's native cryptocurrency. Insights How It Works Learn about Hedera from end to end. Explorers View live and historical data on Hedera. Dashboards Analyze network activity and metrics. Network Nodes Understand networks and node types. Devs Start Building Get Started Learn core concepts and build the future. Documentation Review the API and build using your favorite language. Developer Resources Integrations Plugins and microservices for Hedera. Fee Estimator Understand and estimate transaction costs. Open Source Hedera is committed to open, transparent code. Learning Center Learn about web3 and blockchain technologies. Grants Grants & accelerators for your project. Bounties Find bugs. Submit a report. Earn rewards. Ecosystem ECOSYSTEM Hedera Ecosystem Applications, developer tools, network explorers, and more. NFT Ecosystem Metrics Analyze on-chain and market NFT ecosystem metrics. CATEGORIES Web3 Applications Connect into the innovative startups decentralizing the web on Hedera. Enterprise Applications Learn about the Fortune 500 companies decentralizing the web on Hedera. Wallets & Custodians Create a Hedera account to manage HBAR, fungible tokens, and NFTs. Network Explorers Hedera mainnet and testnet graphical network explorers. Developer Tooling Third-party APIs, integrations, and plugins to build apps on Hedera. Grants & Accelerators Boost your project with support from the Hedera ecosystem. Partner Program Explore our partners to bring your vision into reality. Hedera Council Over 30 highly diversified organizations govern Hedera. Use Cases Hedera Solutions Asset Tokenization Studio Open source toolkit for tokenizing assets securely. Stablecoin Studio All-in-one toolkit for stablecoin solutions. Hedera Guardian Auditable carbon markets and traceability. Functional Use Cases Data Integrity & AI Reliable, secure, and ethically governed insights. Sustainability Enabling fair carbon markets with trust. Real-World Asset Tokenization Seamless tokenization of real-world assets and digital at scale. Consumer Engagement & Loyalty Mint, distribute, and redeem loyalty rewards. Decentralized Identity Maintain the lifecycle of credentials. Decentralized Logs Scalable, real-time timestamped events. DeFi Dapps built for the next-generation of finance. NFTs Low, fixed fees. Immutable royalties. Payments Scalable, real-time, and affordable crypto-payments. HBAR Overview Learn about Hedera's token, HBAR. Treasury Management Hedera’s report of the HBAR supply. Governance Decentralized Governance Hedera Council See the world's leading organizations that own Hedera. About Meet Hedera's Board of Directors and team. Journey Watch Hedera's journey to build an empowered digital future for all. Transparent Governance Public Policy Hedera's mission is to inform policy and regulation that impact the industry. Meeting Minutes Immutably recorded on Hedera. Roadmap Follow Hedera's roadmap in its journey to build the future. Resources Company What's New Partners Papers Careers Media Blog Technical Press Podcast Community Events Meetups Store Brand Navigation QUICKSTART How to Look Up Transaction History on Hedera Using Mirror Nodes - Back to the Basics technical Jan 13, 2022 by Ed Marquez Head of Developer Relations In this article you will learn about mirror nodes and how to use them for your applications. What are Mirror Nodes? With the high number of transactions that the Hedera Network is able to process every second, keeping this transaction history in all the network nodes for all time would eventually turn those nodes into massive data centers. Mirror nodes help address that issue by separating the consensus operations and the record keeping. Mirror nodes receive information from the consensus nodes (mainnet or testnet), but the former do not contribute to consensus themselves - that’s the job of the consensus nodes only. However, the trust from the consensus nodes is transferred to the mirror nodes using signatures, chain of hashes, and state proofs. This all means that mirror nodes provide an efficient way to perform activities like queries, analytics, audit support, and monitoring without having a major impact on the performance of consensus nodes. How to Use Mirror Nodes? You have a few options available when it comes to using mirror nodes. You can choose from Hedera-operated, community-operated, or running your own mirror node. One consideration when choosing an option is that the Hedera-managed mirror node is throttled at 100 requests per second (rps) for mainnet. This non-production mainnet mirror node is meant to help developers build applications without having to run their own mirror node. Once your application is ready for production, consider using one of the community-operated mirror node services, like HashScan and DragonGlass. For the Hedera-managed mirror node, you can access network transaction records and account balances via REST and gRPC APIs. Hedera Mirror Node REST API The Hedera mirror node REST API enables you to query transactions and account information from mirror nodes managed by Hedera. You can use this REST API for all Hedera environments (mainnet, testnet, and previewnet). With the REST API, you use the base URL for the appropriate Hedera network and customize the endpoints to get results that match your search criteria. You can look up transaction history and filter by account, balance, transaction, topic, token, NFT, smart contract, and more. These are the base URLs for each Hedera network: https://mainnet-public.mirrornode.hedera.com/ https://testnet.mirrornode.hedera.com/ https://previewnet.mirrornode.hedera.com/ And in this page, you can see all the options for customizing the endpoints to filter your query results: https://docs.hedera.com/hedera/sdks-and-apis/rest-api Now let’s do a few queries to help you get started. Submit Queries on a Web Browser For the first query, we want to get a JSON schema of the testnet accounts that have a balance greater than 10,000 tinybar in descending order. After using the testnet base URL and customizing the endpoints, our query looks like: https://testnet.mirrornode.hed... You can just copy paste that text in your web browser and see the results for yourself! There are a lot of results, so notice that the last item in the page is: "links":{"next":"/api/v1/accounts?account.balance=gt:10000ℴ=desc&account.id=lt:0.0.26568308"} Adding that last item to the base URL takes you to the next page of results. Here are a few more query examples that you can enter in your web browser for: Balances of all accounts with ID less than 0.0.10 in descending ID order: https://testnet.mirrornode.hedera.com/api/v1/balances?account.id=lt:0.0.10ℴ=desc Balances of 5 accounts with ID less than 0.0.10 in ascending ID order: https://testnet.mirrornode.hedera.com/api/v1/balances?account.id=lt:0.0.10ℴ=asc&limit=5 Tokens of non-fungible type with token ID within a specified range in descending ID order: https://testnet.mirrornode.hedera.com/api/v1/tokens?type=NON_FUNGIBLE_UNIQUE&token.id=gte:0.0.26568401&token.id=lte:0.0.26568403ℴ=desc Information about NFT with serial 1 of token ID 0.0.19159052: https://testnet.mirrornode.hedera.com/api/v1/tokens/0.0.19159052/nfts/1 A list of all smart contract entities on the network: https://testnet.mirrornode.hedera.com/api/v1/contracts Keep in mind that in release v0.44 of the Hedera mirror node, the maximum number of rows the REST API can return was changed from 500 to 100. In addition, the default number of rows the REST API returns if the limit parameter is unspecified was changed from 500 to 25. However, if a request is sent requesting more than 100 it won't fail. Instead, it will use the smaller of the two values. Submit Queries in Your Code You can also use the REST API in your code to consume transaction history information in your application. There are many ways to do this, but we’ll simply use the fetch API in JavaScript to wrap some of the REST commands we learned above. console.clear(); import fetch from "node-fetch"; async function main() { let firstLink = "https://testnet.mirrornode.hedera.com/api/v1/tokens?type=NON_FUNGIBLE_UNIQUE&token.id=gte:0.0.26568401&token.id=lte:0.0.26568403&order=desc"; let results1 = await mirrorQuery(firstLink); console.log(`- One of the tokens has ID: ${results1.tokens[0].token_id} \n`); let secondLink = "https://testnet.mirrornode.hedera.com/api/v1/balances?account.id=lt:0.0.10&order=asc&limit=5"; let results2 = await mirrorQuery(secondLink); console.table(results2.balances); console.log( `\n - There are ${results2.balances[0].balance * 1e-8} test hbar in account ${results2.balances[0].account} \n` ); async function mirrorQuery(url) { let response = await fetch(url); let info = await response.json(); return info; } } main(); Copy Based on the console.log commands, the code above outputs: In our code, using fetch returns a data object with the information from the query that we can use in our application. Here’s what that data object looks like from the debug console for the variable results1. It’s worth mentioning that the Hedera SDKs provide a way to get transaction confirmations from the consensus nodes. However, confirmations from those nodes are only available for a few minutes after a transaction is submitted to the network. In addition, some queries from consensus nodes may have an associated fee, whereas mirror node queries are free. If you want to get information about a transaction or entity from hours, days, weeks, months, or years ago, then querying the mirror nodes is the way to go. Mirror Node gRPC API When you configure the Hedera client for a network (mainnet, testnet, previewnet) through the SDKs, the connection with the corresponding mirror node is handled automatically. This automatic connection to the mirror node, however, is only valid for subscribing to Hedera Consensus Service (HCS) topics and querying those messages. Other history like transactions, account-specific activity, and similar can be fetched using the REST API. You can customize the mirror node network you connect to, which is useful if you’re connecting to a community-operated mirror node or running your own. If you would like to modify the mirror client, follow the documentation. Running Your Own Hedera Mirror Node You have multiple options when it comes to running your own mirror node: One-click deploy on GCP of the open-source mirror node software Getting network data from buckets in GCP and AWS Hedera-ETL (extract, transform, load) scripts for use with Google BigQuery For more details on these options, be sure give this blog post and the documentation instructions a good read! Continue Learning about Mirror Nodes https://hedera.com/learning/what-is-the-hedera-mirror-network https://docs.hedera.com/hedera/core-concepts/mirror-nodes Share This Back to blog What is gRPC, gRPC-Web, and Proxies? Ed Marquez Pragmatic Blockchain Design Patterns – Integrating Blockchain into Business Processes Michiel Mulders Zero Cost EthereumTransaction on Success: Hedera's New Fee Model for Relay Operators Oliver Thorn Hedera Adopts Chainlink Standard for Cross-Chain Interoperability To Accelerate Ecosystem Adoption Hedera Team Hedera Developer Highlights March 2025 Michiel Mulders Hedera Release Cycle Overview Ed Marquez View All Posts Sign up for the newsletter CONNECT WITH US Transparency Open Source Audits & Standards Sustainability Commitment Carbon Offsets Governance Hedera Council Public Policy Treasury Management Meeting Minutes LLC Agreement Node Requirements Community Events Meetups HBAR Telegram Developer Discord Twitter Community Support FAQ Network Status Developer Discord StackOverflow Brand Brand Guidelines Built on Hedera Logo Hedera Store About Team Partners Journey Roadmap Careers Contact General Inquiry Public Relations © 2018-2025 Hedera Hashgraph, LLC. All trademarks and company names are the property of their respective owners. All rights in the Deutsche Telekom mark are protected by Deutsche Telekom AG. All rights reserved. Hedera uses the third party marks with permission. Terms of Use  |  Privacy Policy