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.
List account entities on network
Returns a list of all account entity items on the network.
OK
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. |
Get account by alias, id, or evm address
Return the account transactions and balance information given an account alias, an account id, or an evm address. The information will be limited to at most 1000 token balances for the account as outlined in HIP-367. When the timestamp parameter is supplied, we will return transactions and account state for the relevant timestamp query. Balance information will be accurate to within 15 minutes of the provided timestamp query. Historical ethereum nonce information is currently not available and may not be the exact value at a provided timestamp.
Account alias or account id or evm address
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40}|(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8}))$
OK
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
RFC4648 no-padding base32 encoded account alias
"HIQQEXWKW53RKN4W6XXC4Q232SYNZ3SZANVZZSUME5B5PRGXL663UAQA"
^(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8})$
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
Whether the account declines receiving a staking reward
A network entity encoded as an EVM address in hex.
"0x0000000000000000000000000000000000001f41"
^(0x)?[A-Fa-f0-9]{40}$
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
The public key which controls access to various network entities.
The pending reward in tinybars the account will receive in the next reward payout. Note the value is updated at the end of each staking period and there may be delay to reflect the changes in the past staking period.
The id of the node to which this account is staking
Get crypto allowances for an account info
Returns information for all crypto allowances for an account.
Account alias or account id or evm address
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40}|(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8}))$
OK
Get token relationships info for an account
Returns information for all token relationships for an account.
Account alias or account id or evm address
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40}|(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8}))$
OK
Get nfts for an account info
Returns information for all non-fungible tokens for an account.
Ordering
When considering NFTs, their order is governed by a combination of their numerical token.Id and serialnumber values, with token.id being the parent column. A serialnumbers value governs its order within the given token.id
In that regard, if a user acquired a set of NFTs in the order (2-2, 2-4 1-5, 1-1, 1-3, 3-3, 3-4), the following layouts illustrate the ordering expectations for ownership listing
- All NFTs in ASC order: 1-1, 1-3, 1-5, 2-2, 2-4, 3-3, 3-4
- All NFTs in DESC order: 3-4, 3-3, 2-4, 2-2, 1-5, 1-3, 1-1
- NFTs above 1-1 in ASC order: 1-3, 1-5, 2-2, 2-4, 3-3, 3-4
- NFTs below 3-3 in ASC order: 1-1, 1-3, 1-5, 2-2, 2-4
- NFTs between 1-3 and 3-3 inclusive in DESC order: 3-4, 3-3, 2-4, 2-2, 1-5, 1-3
Note: The default order for this API is currently DESC
Filtering
When filtering there are some restrictions enforced to ensure correctness and scalability.
The table below defines the restrictions and support for the NFT ownership endpoint
Query Param | Comparison Operator | Support | Description | Example |
---|---|---|---|---|
token.id | eq | Y | Single occurrence only. | ?token.id=X |
ne | N | |||
lt(e) | Y | Single occurrence only. | ?token.id=lte:X | |
gt(e) | Y | Single occurrence only. | ?token.id=gte:X | |
serialnumber | eq | Y | Single occurrence only. Requires the presence of a token.id query | ?serialnumber=Y |
ne | N | |||
lt(e) | Y | Single occurrence only. Requires the presence of an lte or eq token.id query | ?token.id=lte:X&serialnumber=lt:Y | |
gt(e) | Y | Single occurrence only. Requires the presence of an gte or eq token.id query | ?token.id=gte:X&serialnumber=gt:Y | |
spender.id | eq | Y | ?spender.id=Z | |
ne | N | |||
lt(e) | Y | ?spender.id=lt:Z | ||
gt(e) | Y | ?spender.id=gt:Z |
Note: When searching across a range for individual NFTs a serialnumber with an additional token.id query filter must be provided. Both filters must be a single occurrence of gt(e) or lt(e) which provide a lower and or upper boundary for search.
Account alias or account id or evm address
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40}|(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8}))$
OK
Get fungible token allowances for an account
Returns information for fungible token allowances for an account.
Ordering
The order is governed by a combination of the spender id and the token id values, with spender id being the parent column. The token id value governs its order within the given spender id.
Note: The default order for this API is currently ASC
Filtering
When filtering there are some restrictions enforced to ensure correctness and scalability.
The table below defines the restrictions and support for the endpoint
Query Param | Comparison Operator | Support | Description | Example |
---|---|---|---|---|
spender.id | eq | Y | Single occurrence only. | ?spender.id=X |
ne | N | |||
lt(e) | Y | Single occurrence only. | ?spender.id=lte:X | |
gt(e) | Y | Single occurrence only. | ?spender.id=gte:X | |
token.id | eq | Y | Single occurrence only. Requires the presence of a spender.id query | ?token.id=lt:Y |
ne | N | |||
lt(e) | Y | Single occurrence only. Requires the presence of an lte or eq spender.id query | ?spender.id=lte:X&token.id=lt:Y | |
gt(e) | Y | Single occurrence only. Requires the presence of an gte or eq spender.id query | ?spender.id=gte:X&token.id=gt:Y |
Both filters must be a single occurrence of gt(e) or lt(e) which provide a lower and or upper boundary for search.
Account alias or account id or evm address
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40}|(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8}))$
OK
Get past staking reward payouts for an account
Returns information for all past staking reward payouts for an account.
Account alias or account id or evm address
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40}|(?:[A-Z2-7]{8})*(?:[A-Z2-7]{2}|[A-Z2-7]{4,5}|[A-Z2-7]{7,8}))$
OK
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.
List account balances
Returns a list of account and token balances on the network. Balance information returned by this API has a 15 minute granularity as it's generated by an asynchronous balance snapshot process. This information is limited to at most 50 token balances per account as outlined in HIP-367. As such, it's not recommended for general use and we instead recommend using either /api/v1/accounts/{id}/tokens
or /api/v1/tokens/{id}/balances
to obtain the current token balance information and /api/v1/accounts/{id}
to return the current account balance.
OK
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
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.
List transactions
Lists transactions on the network. This includes successful and unsuccessful transactions.
OK
Get transaction by id
Returns transaction information based on the given transaction id
Transaction id
"0.0.10-1234567890-000000000"
OK
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
List topic messages by id
Returns the list of topic messages for the given topic id.
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
OK
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 |
Get topic message by id and sequence number
Returns a single topic message the given topic id and sequence number.
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
Topic message sequence number
2
OK
Get topic message by consensusTimestamp
Returns a topic message the given the consensusTimestamp.
The Unix timestamp in seconds.nanoseconds format, the timestamp at which the associated transaction reached consensus. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.
1234567890.0000007
^\d{1,10}(.\d{1,9})?$
OK
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
Tokens
List tokens
Returns a list of tokens on the network.
OK
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 |
List token balances
Returns a list of token balances given the id. This represents the Token supply distribution across the network
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
OK
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
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 |
Get token by id
Returns token entity information given the id
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
OK
The public key which controls access to various network entities.
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
1000
true
1234567890100000
The public key which controls access to various network entities.
false
The public key which controls access to various network entities.
"1000000"
The public key which controls access to various network entities.
"9223372036854775807"
Arbitrary binary data associated with this token class encoded in base64.
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
"Token name"
"token memo"
The public key which controls access to various network entities.
"UNPAUSED"
The public key which controls access to various network entities.
"INFINITE"
"ORIGINALRDKSE"
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
"1000000"
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
"FUNGIBLE_COMMON"
The public key which controls access to various network entities.
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 |
List nfts
Returns a list of non-fungible tokens
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
OK
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 |
Get nft info
Returns information for a non-fungible token
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
The nft serial number
1
OK
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
whether the nft or the token it belongs to has been deleted
Arbitrary binary data associated with this NFT encoded in base64.
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
1
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
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 |
Get an nfts transction history
Returns a list of transactions for a given non-fungible token
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
The nft serial number
1
OK
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 |
Get the network supply
Returns the network's released supply of hbars
OK
The network's released supply of hbars in tinybars
"3999999999999999949"
The network's total supply of hbars in tinybars
"5000000000000000000"
Schedule Transactions
List schedules entities
Lists schedules on the network that govern the execution logic of scheduled transactions. This includes executed and non executed schedules.
OK
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 |
Get schedule by id
Returns schedule information based on the given schedule id
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
OK
The public key which controls access to various network entities.
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
false
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
"created on 02/10/2021"
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
"Kd6tvu8="
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
List contract entities on network
Returns a list of all contract entity items on the network.
OK
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 |
Get contract by id
Return the contract information given an id
The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
OK
The public key which controls access to various network entities.
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
7776000
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
false
A network entity encoded as an EVM address in hex.
"0000000000000000000000000000000000001f41"
^(0x)?[A-Fa-f0-9]{40}$
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
"contract memo"
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
A timestamp range an entity is valid for
The contract bytecode in hex during deployment
"0x01021a1fdc9b"
The contract bytecode in hex after deployment
"0x0302fa1ad39c"
List contract results from a contract on the network
Returns a list of all ContractResults for a contract's function executions.
The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
OK
The contract state from a contract on the network
Returns a list of all contract's slots. If no timestamp is provided, returns the current state.
The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
OK
Get the contract result from a contract on the network executed at a given timestamp
Returns a single ContractResult for a contract's function executions at a specific timestamp.
The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
The Unix timestamp in seconds.nanoseconds format, the timestamp at which the associated transaction reached consensus. See unixtimestamp.com for a simple way to convert a date to the 'seconds' part of the Unix time.
1234567890.0000007
^\d{1,10}(.\d{1,9})?$
OK
The hex encoded access_list of the wrapped ethereum transaction
"0xabcd"
The hex encoded evm address of contract
"0x25fe26adc577cc89172e6156c9e24f7b9751b762"
The number of tinybars sent to the function
10
The total amount of gas used in the block
2000
The hex encoded block (record file chain) hash
"0x6ceecd8bb224da491"
The block height calculated as the number of record files starting from zero since network start.
10
The hex encoded result returned by the function
"0x2b048531b38d2882e86044bc972e940ee0a01938"
The hex encoded chain_id of the wrapped ethereum transaction
"0x0127"
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
The list of smart contracts that were created by the function call.
The message when an error occurs during smart contract execution
"Out of gas"
The hex encoded initcode of a failed contract create transaction
"0x856739"
A network entity encoded as an EVM address in hex.
"0x0000000000000000000000000000000000001f41"
^(0x)?[A-Fa-f0-9]{40}$
The hex encoded parameters passed to the function
"0xbb9f02dc6f0e3289f57a1f33b71c73aa8548ab8b"
The units of consumed gas by the EVM to execute contract
35000
The maximum units of gas allowed for contract execution
100000
The hex encoded gas_price of the wrapped ethereum transaction
"0x4a817c800"
The units of gas used to execute contract
80000
A hex encoded 32 byte hash and it is only populated for Ethereum transaction case
"0xfebbaa29c513d124a6377246ea3506ad917d740c21a88f61a1c55ba338fc2bb1"
The hex encoded max_fee_per_gas of the wrapped ethereum transaction
"0x5"
The hex encoded max_priority_fee_per_gas of the wrapped ethereum transaction
"0x100"
The nonce of the wrapped ethereum transaction
1
The hex encoded signature_r of the wrapped ethereum transaction
"0xd693b532a80fed6392b428604171fb32fdbf953728a3a7ecc7d4062b1652c043"
The result of the transaction
"SUCCESS"
The hex encoded signature_s of the wrapped ethereum transaction
"0x24e9c602ac800b983b035700a14b23f78a253ab762deab5dc27e3555a750b355"
The status of the transaction, 0x1 for a SUCCESS transaction and 0x0 for all else
1
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
A network entity encoded as an EVM address in hex.
"0x0000000000000000000000000000000000001f41"
^(0x)?[A-Fa-f0-9]{40}$
The position of the transaction in the block
1
The type of the wrapped ethereum transaction, 0 (Pre-Eip1559) or 2 (Post-Eip1559)
2
The recovery_id of the wrapped ethereum transaction
1
The hex encoded access_list of the wrapped ethereum transaction
"0xabcd"
The hex encoded evm address of contract
"0x25fe26adc577cc89172e6156c9e24f7b9751b762"
The total amount of gas used in the block
2000
The hex encoded block (record file chain) hash
"0x6ceecd8bb224da491"
The block height calculated as the number of record files starting from zero since network start.
10
The hex encoded chain_id of the wrapped ethereum transaction
"0x0127"
The hex encoded initcode of a failed contract create transaction
"0x856739"
The hex encoded gas_price of the wrapped ethereum transaction
"0x4a817c800"
The hex encoded transaction hash
"0x3531396130303866616264653464"
The hex encoded max_fee_per_gas of the wrapped ethereum transaction
"0x5"
The hex encoded max_priority_fee_per_gas of the wrapped ethereum transaction
"0x100"
The nonce of the wrapped ethereum transaction
1
The hex encoded signature_r of the wrapped ethereum transaction
"0xd693b532a80fed6392b428604171fb32fdbf953728a3a7ecc7d4062b1652c043"
The hex encoded signature_s of the wrapped ethereum transaction
"0x24e9c602ac800b983b035700a14b23f78a253ab762deab5dc27e3555a750b355"
The position of the transaction in the block
1
The type of the wrapped ethereum transaction, 0 (Pre-Eip1559) or 2 (Post-Eip1559)
2
The recovery_id of the wrapped ethereum transaction
1
List contract results from all contracts on the network
Returns a list of all ContractResults for all contract's function executions.
OK
Get the contract result from a contract on the network for a given transactionId or ethereum transaction hash
Returns a single ContractResult for a contract's function executions for a given transactionId or ethereum transaction hash.
Transaction Id or a 32 byte hash with optional 0x prefix
^(0x)?[A-Fa-f0-9]{64}|(\d{1,10})\.(\d{1,10})\.(\d{1,10})-(\d{1,19})-(\d{1,9})$
OK
The hex encoded access_list of the wrapped ethereum transaction
"0xabcd"
The hex encoded evm address of contract
"0x25fe26adc577cc89172e6156c9e24f7b9751b762"
The number of tinybars sent to the function
10
The total amount of gas used in the block
2000
The hex encoded block (record file chain) hash
"0x6ceecd8bb224da491"
The block height calculated as the number of record files starting from zero since network start.
10
The hex encoded result returned by the function
"0x2b048531b38d2882e86044bc972e940ee0a01938"
The hex encoded chain_id of the wrapped ethereum transaction
"0x0127"
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
The list of smart contracts that were created by the function call.
The message when an error occurs during smart contract execution
"Out of gas"
The hex encoded initcode of a failed contract create transaction
"0x856739"
A network entity encoded as an EVM address in hex.
"0x0000000000000000000000000000000000001f41"
^(0x)?[A-Fa-f0-9]{40}$
The hex encoded parameters passed to the function
"0xbb9f02dc6f0e3289f57a1f33b71c73aa8548ab8b"
The units of consumed gas by the EVM to execute contract
35000
The maximum units of gas allowed for contract execution
100000
The hex encoded gas_price of the wrapped ethereum transaction
"0x4a817c800"
The units of gas used to execute contract
80000
A hex encoded 32 byte hash and it is only populated for Ethereum transaction case
"0xfebbaa29c513d124a6377246ea3506ad917d740c21a88f61a1c55ba338fc2bb1"
The hex encoded max_fee_per_gas of the wrapped ethereum transaction
"0x5"
The hex encoded max_priority_fee_per_gas of the wrapped ethereum transaction
"0x100"
The nonce of the wrapped ethereum transaction
1
The hex encoded signature_r of the wrapped ethereum transaction
"0xd693b532a80fed6392b428604171fb32fdbf953728a3a7ecc7d4062b1652c043"
The result of the transaction
"SUCCESS"
The hex encoded signature_s of the wrapped ethereum transaction
"0x24e9c602ac800b983b035700a14b23f78a253ab762deab5dc27e3555a750b355"
The status of the transaction, 0x1 for a SUCCESS transaction and 0x0 for all else
1
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
A network entity encoded as an EVM address in hex.
"0x0000000000000000000000000000000000001f41"
^(0x)?[A-Fa-f0-9]{40}$
The position of the transaction in the block
1
The type of the wrapped ethereum transaction, 0 (Pre-Eip1559) or 2 (Post-Eip1559)
2
The recovery_id of the wrapped ethereum transaction
1
The hex encoded access_list of the wrapped ethereum transaction
"0xabcd"
The hex encoded evm address of contract
"0x25fe26adc577cc89172e6156c9e24f7b9751b762"
The total amount of gas used in the block
2000
The hex encoded block (record file chain) hash
"0x6ceecd8bb224da491"
The block height calculated as the number of record files starting from zero since network start.
10
The hex encoded chain_id of the wrapped ethereum transaction
"0x0127"
The hex encoded initcode of a failed contract create transaction
"0x856739"
The hex encoded gas_price of the wrapped ethereum transaction
"0x4a817c800"
The hex encoded transaction hash
"0x3531396130303866616264653464"
The hex encoded max_fee_per_gas of the wrapped ethereum transaction
"0x5"
The hex encoded max_priority_fee_per_gas of the wrapped ethereum transaction
"0x100"
The nonce of the wrapped ethereum transaction
1
The hex encoded signature_r of the wrapped ethereum transaction
"0xd693b532a80fed6392b428604171fb32fdbf953728a3a7ecc7d4062b1652c043"
The hex encoded signature_s of the wrapped ethereum transaction
"0x24e9c602ac800b983b035700a14b23f78a253ab762deab5dc27e3555a750b355"
The position of the transaction in the block
1
The type of the wrapped ethereum transaction, 0 (Pre-Eip1559) or 2 (Post-Eip1559)
2
The recovery_id of the wrapped ethereum transaction
1
Get the contract actions from a contract on the network for a given transactionId or ethereum transaction hash
Returns a list of ContractActions for a contract's function executions for a given transactionId or ethereum transaction hash.
Transaction Id or a 32 byte hash with optional 0x prefix
^(0x)?[A-Fa-f0-9]{64}|(\d{1,10})\.(\d{1,10})\.(\d{1,10})-(\d{1,19})-(\d{1,9})$
OK
Get the opcode traces for a historical transaction on the network with the given transaction ID or hash
Re-executes a transaction and returns a result containing detailed information for the execution, including all values from the {@code stack}, {@code memory} and {@code storage} and the entire trace of opcodes that were executed during the replay.
Note that to provide the output, the transaction needs to be re-executed on the EVM, which may take a significant amount of time to complete if stack and memory information is requested.
Transaction Id or a 32 byte hash with optional 0x prefix
^(0x)?[A-Fa-f0-9]{64}|(\d{1,10})\.(\d{1,10})\.(\d{1,10})-(\d{1,19})-(\d{1,9})$
OK
The address of the transaction recipient in hex. Zero address is set for transactions without a recipient (e.g., contract create)
Network entity ID in the format of shard.realm.num
"0.0.2"
^\d{1,10}\.\d{1,10}\.\d{1,10}$
Whether the transaction failed to be completely processed.
The gas used in tinybars
The logs produced by the opcode logger
The returned data from the transaction in hex
List contract logs from a contract on the network
Search the logs of a specific contract across multiple contract calls. Chained logs are not
included but can be found by calling /api/v1/contracts/{contractId}/results/{timestamp}
or /api/v1/contracts/results/{transactionId}
. When searching by topic a timestamp parameter must be supplied
and span a time range of at most seven days.
Ordering
The order is governed by the combination of timestamp and index values. If the index param is omitted, the order is determined by the timestamp only.
Note: The default order for this API is currently DESC
Filtering
When filtering there are some restrictions enforced to ensure correctness and scalability.
The table below defines the restrictions and support for the endpoint
Query Param | Comparison Operator | Support | Description | Example |
---|---|---|---|---|
index | eq | Y | Single occurrence only. Requires the presence of timestamp | ?index=X |
ne | N | |||
lt(e) | Y | Single occurrence only. Requires the presence of timestamp | ?index=lte:X | |
gt(e) | Y | Single occurrence only. Requires the presence of timestamp | ?index=gte:X | |
timestamp | eq | Y | Single occurrence only. | ?timestamp=Y |
ne | N | |||
lt(e) | Y | Single occurrence only. Optional second timestamp gt(e) | ?timestamp=lte:Y | |
gt(e) | Y | Single occurrence only. Optional second timestamp lt(e) | ?timestamp=gte:Y |
Both filters must be a single occurrence of gt(e) or lt(e) which provide a lower and or upper boundary for search.
The ID or hex encoded EVM address (with or without 0x prefix) associated with this contract.
^(\d{1,10}\.){0,2}(\d{1,10}|(0x)?[A-Fa-f0-9]{40})$
OK
List contracts logs across many contracts on the network
Search the logs across many contracts with multiple contract calls. Chained logs are not
included but can be found by calling /api/v1/contracts/{contractId}/results/{timestamp}
or /api/v1/contracts/results/{transactionId}
. When searching by topic a timestamp parameter must be supplied
and span a time range of at most seven days.
Ordering
The order is governed by the combination of timestamp and index values. If the index param is omitted, the order is determined by the timestamp only.
Note: The default order for this API is currently DESC
Filtering
When filtering there are some restrictions enforced to ensure correctness and scalability.
The table below defines the restrictions and support for the endpoint
Query Param | Comparison Operator | Support | Description | Example |
---|---|---|---|---|
index | eq | Y | Single occurrence only. Requires the presence of timestamp | ?index=X |
ne | N | |||
lt(e) | Y | Single occurrence only. Requires the presence of timestamp | ?index=lte:X | |
gt(e) | Y | Single occurrence only. Requires the presence of timestamp | ?index=gte:X | |
timestamp | eq | Y | Single occurrence only. | ?timestamp=Y |
ne | N | |||
lt(e) | Y | Single occurrence only. Optional second timestamp gt(e) | ?timestamp=lte:Y | |
gt(e) | Y | Single occurrence only. Optional second timestamp lt(e) | ?timestamp=gte:Y |
Both filters must be a single occurrence of gt(e) or lt(e) which provide a lower and or upper boundary for search.
OK
Invoke a smart contract
Returns a result from EVM execution such as cost-free execution of read-only smart contract queries, gas estimation, and transient simulation of read-write operations. If the estimate
field is set to true gas estimation is executed. However, gas estimation only supports the latest
block. When estimate
is false, it can process calls against the earliest
block and specific historical blocks when a hexadecimal or decimal block number is provided in the block
field for eth_call
operations. Link to Supported/Unsupported Operations Table
The operations types which are not currently supported should return 501 error status.
Hexadecimal block number or the string "latest", "pending", "earliest". Defaults to "latest".
"latest"
^((0x)?[0-9a-fA-F]+|(earliest|pending|latest))$
Hexadecimal method signature and encoded parameters. Up to 24656 bytes as at most 49152 hexidecimal digits plus optional leading 0x.
"0x47f1aae7"
^(0x)?[0-9a-fA-F]+$
Whether gas estimation is called. Defaults to false.
true
The 20-byte hexadecimal EVM address the transaction is sent from.
"00000000000000000000000000000000000004e2"
^(0x)?[A-Fa-f0-9]{40}$
Gas provided for the transaction execution. Defaults to 15000000.
15000000
Gas price used for each paid gas.
100000000
The 20-byte hexadecimal EVM address the transaction is directed to.
"0xd9d0c5c0ff85758bdf05a7636f8036d4d065f5b6"
^(0x)?[A-Fa-f0-9]{40}$
Value sent with this transaction. Defaults to 0.
0
OK
Result in hexadecimal from executed contract call.
"0x0000000000006d8d"
^0x[0-9a-fA-F]+$
Blocks
List blocks
Returns a list of blocks on the network.
OK
Get block by hash or number
Returns the block information by given hash or number.
Accepts both eth and hedera hash format or block number
^(\d{1,10}|(0x)?([A-Fa-f0-9]{64}|[A-Fa-f0-9]{96}))$
OK
A hex encoded 256-byte array with 0x prefix
^0x[0-9a-fA-F]{512}$
A timestamp range an entity is valid for
Network
Get the network supply
Returns the network's released supply of hbars
OK
The network's released supply of hbars in tinybars
"3999999999999999949"
The network's total supply of hbars in tinybars
"5000000000000000000"
Get the network fees
Returns the estimated gas in tinybars per each transaction type. Default order is ASC. Currently only ContractCall
, ContractCreate
and EthereumTransaction
transaction types are supported.
OK
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
Get the network exchange rate to estimate costs
Returns the network's exchange rate, current and next.
OK
A Unix timestamp in seconds.nanoseconds format
"1586567700.453054000"
^\d{1,10}(\.\d{1,9})?$
Get the network address book nodes
Returns the network's list of nodes used in consensus
OK
Get network stake information
Returns the network's current stake information.
OK
The maximum amount of tinybar that can be staked for reward while still achieving the maximum per-hbar reward rate
The maximum reward rate, in tinybars per whole hbar, that any account can receive in a day
The total tinybars to be paid as staking rewards in the ending period, after applying the settings for the 0.0.800 balance threshold and the maximum stake rewarded
The fraction between zero and one of the network and service fees paid to the node reward account 0.0.801
The amount of the staking reward funds of account 0.0.800 reserved to pay pending rewards that have been earned but not collected
The unreserved tinybar balance of account 0.0.800 required to achieve the maximum per-hbar reward rate
The total amount staked to the network in tinybars the start of the current staking period
The number of minutes in a staking period
The number of staking periods for which the reward is stored for each node
The fraction between zero and one of the network and service fees paid to the staking reward account 0.0.800
The total number of tinybars to be distributed as staking rewards each period
The minimum balance of staking reward account 0.0.800 required to active rewards
The unreserved balance of account 0.0.800 at the close of the just-ending period; this value is used to compute the HIP-782 balance ratio
Last updated