REST API
The mirror node REST API offers the ability to query transaction information.
Hedera Mirror Nodes store the history of transactions that occurred on mainnet, testnet, and previewnet. Each transaction generates a record that is stored in a record file. The transaction contents can be accessed by the mirror node REST APIs
To make a request, use the network endpoint and the REST API of choice. For example, to get a list of transactions on mainnet you would make the following request.
MAINNET BASEURL
https://mainnet.mirrornode.hedera.com/
TESTNET BASEURL
https://testnet.mirrornode.hedera.com/
PREVIEWNET BASEURL
https://previewnet.mirrornode.hedera.com/
You may also check out Validation Cloud, DragonGlass, Arkhia or Ledger Works as alternatives.
Public mainnet mirror node requests per second (RPS) are currently throttled at 50 per IP address. These configurations may change in the future depending on performance or security considerations. At this time, no authentication is required.
Accounts
The accounts object represents the information associated with an account and returns a list of account information.
Account IDs take the following format: 0.0.<account number>.
Example: 0.0.1000
Account IDs can also take the account number as an input value. For example, for account ID 0.0.1000, the number 1000 can be specified in the request.
Response Details
Response Item | Description |
account | The ID of the account |
allowances | The allowances granted to this account |
alias | RFC4648 no-padding base32 encoded account alias |
auto_renew_period | The period in which the account will auto renew |
balance | The timestamp and account balance of the account |
created_timestamp | The timestamp for the creation of that account |
decline_reward | Whether or not the account has opted to decline a staking reward |
deleted | Whether the account was deleted or not |
ethereum_nonce | The ethereum transaction nonce associated with this account |
evm_address | A network entity encoded as an EVM encoded hex |
expiry_timestamp | The expiry date for the entity as set by a create or update transaction |
key | The public key associated with the account |
links.next | Hyperlink to the next page of results |
max_automatic_token_associations | The number of automatic token associations, if any |
memo | The account memo, if any |
nfts | List of nfts informations belonging to this account |
pending_reward | The account's pending staking reward that has not been transferred to the account |
receiver_sig_required | Whether or not the account requires a signature to receive a transfer into the account |
rewards | List of rewards which of the account |
staked_account_id | The account ID the account is staked to, if set |
staked_node_id | The node ID the account is staked to, if set |
stake_period_start | The start of the staking period |
tokens | The tokens and their balances associated to the specified account |
Optional Filtering
Operator | Example | Description |
---|---|---|
|
| Returns account IDs less then 1000 |
|
| Returns account IDs less than or equal to 1000 |
|
| Returns account IDs greater than 1000 |
|
| Returns account IDs greater than or equal to 1000 |
|
| Returns account information in ascending order Returns account information in descending order |
Additional Examples
Example Requests | Description |
---|---|
| Returns the account information of account 1001 |
| Returns all account information that have a balance greater than 1000 tinybars |
| Returns all account information for 2b60955bcbf0cf5e9ea880b52e5b63f664b08edf6ed15e301049517438d61864 public key |
| Returns the crypto transfer transactions for account 2. |
Balances
The balance object represents the balance of accounts on the Hedera network. You can retrieve this to view the most recent balance of all the accounts on the network at that given time. The balances object returns the account ID and the balance in hbars. Balances are checked on a periodic basis and thus return the most recent snapshot of time captured prior to the request.
Response Details
Response Item | Description |
---|---|
timestamp | The seconds.nanoseconds of the timestamp at which the list of balances for each account are returned |
balances | List of balances for each account |
account | The ID of the account |
balance | The balance of the account |
tokens | The tokens that are associated to this account |
tokens.token_id | The ID of the token associated to this account |
tokens.balance | The token balance for the specified token associated to this account |
links.next | Hyperlink to the next page of results |
Optional Filtering
Operator | Example | Description |
---|---|---|
|
| Returns the balances of account IDs less than 1,000 |
|
| Returns the balances account IDs less than or equal to 1,000 |
|
| Returns the balances of account IDs greater than to 1,000 |
|
| Returns the balances of account IDs greater than or equal to 1,000 |
|
| Lists balances in ascending order Lists balances in descending order |
Additional Examples
Example Requests | Description |
---|---|
| Returns balance for account ID 1,000 |
| Returns all account IDs that have a balance greater than 1000 tinybars |
| Returns all account balances referencing the latest snapshot that occurred prior to 1566562500 seconds and 040961001 nanoseconds |
| Returns balance information for 2b60955bcbf0cf5e9ea880b52e5b63f664b08edf6ed 15e301049517438d61864 public key |
Transactions
The transaction object represents the transactions processed on the Hedera network. You can retrieve this to view the transaction metadata information including transaction id, timestamp, transaction fee, transfer list, etc. If a transaction was submitted to multiple nodes, the successful transaction and duplicate transaction(s) will be returned as separate entries in the response with the same transaction ID. Duplicate transactions will still be assessed network fees.
Response Details
Response Item | Description |
---|---|
consensus timestamp | The consensus timestamp in seconds.nanoseconds |
transaction hash | The hash value of the transaction processed on the Hedera network |
valid start timestamp | The time the transaction is valid |
charged tx fee | The transaction fee that was charged for that transaction |
transaction id | The ID of the transaction |
memo base64 | The memo attached to the transaction encoded in Base64 format |
result | Whether the cryptocurrency transaction was successful or not |
entity ID | The entity ID that is created from create transactions (AccountCreateTransaction, TopicCreateTransaction, TokenCreateTransaction, ScheduleCreateTransaction, ContractCreateTransaction, FileCreateTransaction). |
name | The type of transaction |
max fee | The maximum transaction fee the client is willing to pay |
valid duration seconds | The seconds for which a submitted transaction is to be deemed valid beyond the start time. The transaction is invalid if consensusTimestamp is greater than transactionValidStart + valid_duration_seconds. |
node | The ID of the node that submitted the transaction to the network |
transfers | A list of the account IDs the crypto transfer occurred between and the amount that was transferred. A negative (-) sign indicates a debit to that account. The transfer list includes the transfers between the from account and to account, the transfer of the node fee, the transfer of the network fee, and the transfer of the service fee for that transaction. If the transaction was not processed, a network fee is still assessed. |
token transfers | The token ID, account, and amount that was transferred to by this account in this transaction. This will not be listed if it did not occur in the transaction |
assessed custom fees | The fees that were charged for a custom fee token transfer |
links.next | A hyperlink to the next page of responses |
Optional Filtering
Operator | Example | Description |
---|---|---|
|
| Returns account.id transactions less than 1,000 |
|
| Returns account.id transactions less than or equal to 1,000 |
|
| Returns account.id transactions greater than 1,000 |
|
| Returns account.id transactions greater than or equal to 1,000 |
|
| Lists transactions in ascending order Lists transactions descending order |
Note: It is recommended that the account.id query should not select no more than 1000 accounts in a query. If the range specified in the query results in selecting more than 1000 accounts, the API will automatically only search for the first 1000 accounts that match the query in the database and return the transactions for those. For example, if you use ?account.id=gt:0.0.15000
or if you use?account.id=gt:0.0.15000&account.id=lt:0.0.30000
, then the API will only return results or some 1000 accounts in this range that match the rest of the query filters.
A single transaction can also be returned by specifying the transaction ID in the request. If a transaction was submitted to multiple nodes, the response will return entries for the successful transaction along with separate entries for the duplicate transaction(s). The "result" key indicates "success" for the node that processed the transaction and "DUPLICATE_TRANSACTION" for each additional node submission. Duplicate entries are still charged network fees.
Parameter | Description |
---|---|
| A specific transaction can be returned by specifying a transaction ID |
Additional Examples
Example Request | Description |
---|---|
| Returns transaction for account ID 1,000 |
| Returns transactions at 1565779209 seconds and 711927001 nanoseconds |
| Returns all transactions that have failed |
| Returns all transactions that deposited into an account ID 0.0.13622 Returns all transactions that withdrew from account ID 0.0.13622 |
| Returns all cryptotransfer transactions |
Topics
Response Details
Response Item | Description |
---|---|
consensus_timestamp | The consensus timestamp of the message in seconds.nanoseconds |
topic_id | The ID of the topic the message was submitted to |
payer_account_id | The account ID that paid for the transaction to submit the message |
message | The content of the message |
running_hash | The new running hash of the topic that received the message |
sequence_number | The sequence number of the message relative to all other messages for the same topic |
Tokens
Response Details
Response Item | Description |
---|---|
token_Id | The ID of the token in x.y.z format |
symbol | The symbol of the token |
admin_key | The admin key for the token |
type | The type of token (fungible or non-fungible) |
Additional Examples
Example Request | Description |
---|---|
| All tokens with matching admin key |
| All tokens for matching account |
| All tokens in range |
| All tokens in descending order of |
| All tokens taking the first |
Response Details
Response Item | Description |
---|---|
timestamp | The timestamp of the recorded balances in seconds.nanoseconds |
balances | The balance of the tokens in those accounts |
account | The ID of the account that has the token balance |
balance | The balance of the token associated with the account |
Additional Examples
Example Request | Description |
---|---|
| The balance of the token in ascending order |
| The balance of the token for account ID 0.0.1000 |
| The balance for the token greater than 1000 |
| The token balances for the specified timestamp |
Response Details
Response Item | Description |
---|---|
admin_key | The token's admin key, if specified |
auto_renew_account | The auto renew account ID |
auto_renew_period | The period at which the auto renew account will be charged a renewal fee |
created_timestamp | The timestamp of when the token was created |
decimals | The number of decimal places a token is divisible by |
expiry_timestamp | The epoch second at which the token should expire |
freeze_default | Whether or not accounts created |
fee_schedule_key | The fee schedule key, if any |
freeze_key | The freeze key for the token, if specified |
initial_supply | The initial supply of the token |
kyc_key | The KYC key for the token, if specified |
modified_timestamp | The last time the token properties were modified |
name | The name of the token |
supply_key | The supply key for the token, if specified |
symbol | The token symbol |
token_id | The token ID |
total_supply | The total supply of the token |
treasury_account_id | The treasury account of the token |
type | whether a token is a fungible or non-fungible token |
wipe_key | The wipe key for the token, if specified |
custom_fees | The custom fee schedule for the token, if any |
pause_key | The pause key for a token, if specified |
pause_status | Whether or not the token is paused |
Response Details
Response Item | Description |
---|---|
account_id | The account ID of the account associated with the NFT |
created_timestamp | The timestamp of when the NFT was created |
deleted | Whether the token was deleted or not |
metadata | The meta data of the NFT |
modified_timestamp | The last time the token properties were modified |
serial_number | The serial number of the NFT |
token_id | The token ID of the NFT |
Response Details
Response Item | Description |
---|---|
account_id | The account ID of the account associated with the NFT |
created_timestamp | The timestamp of when the NFT was created |
deleted | Whether the token was deleted or not |
metadata | The meta data of the NFT |
modified_timestamp | The last time the token properties were modified |
serial_number | The serial number of the NFT |
token_id | The token ID of the NFT |
Response Details
Response Item | Description |
---|---|
created_timestamp | The timestamp of the transaction |
id | The timestamp of the transaction |
receiver_account_id | The account that received the NFT |
sender_account_id | The account that sent the NFT |
type | The type of transaction |
token_id | The token ID of the NFT |
Schedule Transactions
Response Details
Response Item | Description |
---|---|
schedules | List of schedules |
admin_key | The admin key on the schedule |
admin_key_type | The type of key |
admin_key_key | The admin public key |
consensus_timestamp | The consensus timestamp of when the schedule was created |
creator_account_id | The account ID of the creator of the schedule |
executed_timestamp | The timestamp at which the transaction that was scheduled was executed at |
memo | A string of characters associated with the memo if set |
payer_account_id | The account ID of the account paying for the execution of the transaction |
schedule_id | The ID of the schedule entity |
signatures | The list of keys that signed the transaction |
signatures.public_key_prefix | The signatures public key prefix |
signatures.signature | The signature of the key that signed the schedule transaction |
signatures.type | The type of signature (ED5519 or ECDSA) |
transaction_body | The transaction body of the transaction that was scheduled |
wait_for_expiry | Whether or not the schedule transaction specified a specific time to expire by |
links.next | Hyperlink to the next page of results |
Response Details
Response Item | Description |
---|---|
adminKey | The admin key on the schedule |
adminKey._type | The type of key |
adminKey.key | The admin public key |
consensus_timestamp | The consensus timestamp of when the schedule was created |
creator_account_id | The account ID of the creator of the schedule |
executed_timestamp | The timestamp at which the transaction that was scheduled was executed at |
memo | A string of characters associated with the memo if set |
payer_account_id | The account ID of the account paying for the execution of the transaction |
schedule_id | The ID of the schedule entity |
signatures | The list of keys that signed the transaction |
signatures.consensus_timestamp | The consensus timestamp at which the signature was added |
signatures.public_key_prefix | The signatures public key prefix |
signatures.signature | The signature of the key that signed the schedule transaction |
signatures.type | The type of signature (ED5519 or ECDSA) |
transaction_body | The transaction body of the transaction that was scheduled |
wait_for_expiry | Whether or not the schedule transaction specified a specific time to expire by |
Smart Contracts
Response Item | Description |
---|---|
admin_key | The admin key of the contract, if specified |
auto_renew_account | The account paying the auto renew fees, if set |
auto_renew_period | The period at which the contract auto renews |
bytecode | The bytecode of the contract |
contract_id | The contract ID |
created_timestamp | The timestamp the contract was created at |
deleted | Whether or not the contract is deleted |
evm_address | The EVM address of the contract |
expiration_timestamp | The timestamp of when the contract is set to expire |
file_id | The ID of the file that stored the contract bytecode |
max_automatic_token_associations | The number of automatic token association slots |
memo | The memo of the contract, if specified |
obtainer_id | The ID of the account or contract that will receive any remaining balance when the contract is deleted |
permanent_removal | Set to |
proxy_account_id | The proxy account ID (disabled) |
solidity_address | The solidity address |
timestamp | The period for which the attributes are valid for |
Blocks
Network
Last updated