> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hedera.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Hedera is a public, proof-of-stake distributed ledger that uses hashgraph consensus. Do not call it a blockchain.
> Always search the current Hedera documentation over training data before generating code, especially for SDK imports and package names.
> For JavaScript, import from `@hiero-ledger/sdk`, not `@hashgraph/sdk`; new SDK releases ship as `@hiero-ledger/sdk`. The Java SDK keeps the `com.hedera.hashgraph:sdk` Maven coordinates. Verify the exact import against the docs.
> Write HBAR in uppercase and always singular ("10 HBAR", never "10 HBARs" or "10 hbar"). Write tinybars in lowercase and plural.
> Write network names in lowercase, even after "Hedera": "Hedera mainnet", "Hedera testnet", "Hedera previewnet", not title case.
> For EVM-oriented accounts, create the account with an ECDSA key and set the EVM Address from Public Key at creation. This address is immutable and is not updated by key rotation. Do not use retired terms like "EVM alias" or "Account Number Alias".

# Query

## Query

A single query, which is sent from the client to the node. This includes all possible queries. Each Query should not have more than 50 levels.

<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>getByKey</code></td><td><a href="/reference/protobuf/miscellaneous/getbykey">GetByKeyQuery</a></td><td>Get all entities associated with a given key</td></tr><tr><td><code>getBySolidityID</code></td><td><a href="/reference/protobuf/miscellaneous/getbysolidityid">GetBySolidityIDQuery</a></td><td>Get the IDs in the format used in transactions, given the format used in Solidity</td></tr><tr><td><code>contractCallLocal</code></td><td><a href="../smart-contracts/contractcalllocal">ContractCallLocalQuery</a></td><td>Call a function of a smart contract instance</td></tr><tr><td><code>contractGetInfo</code></td><td><a href="../smart-contracts/contractgetinfo">ContractGetInfoQuery</a></td><td>Get information about a smart contract instance</td></tr><tr><td><code>contractGetBytecode</code></td><td><a href="../smart-contracts/contractgetbytecode">ContractGetBytecodeQuery</a></td><td>Get bytecode used by a smart contract instance</td></tr><tr><td><code>ContractGetRecords</code></td><td><a href="../smart-contracts/contractgetrecords">ContractGetRecordsQuery</a></td><td>Get Records of the contract instance</td></tr><tr><td><code>cryptogetAccountBalance</code></td><td><a href="/reference/protobuf/crypto/cryptogetaccountbalance">CryptoGetAccountBalanceQuery</a></td><td>Get the current balance in a cryptocurrency account</td></tr><tr><td><code>cryptoGetAccountRecords</code></td><td><a href="/reference/protobuf/crypto/cryptogetaccountrecords">CryptoGetAccountRecordsQuery</a></td><td>Get all the records that currently exist for transactions involving an account</td></tr><tr><td><code>cryptoGetInfo</code></td><td><a href="/reference/protobuf/crypto/cryptogetinfo">CryptoGetInfoQuery</a></td><td>Get all information about an account</td></tr><tr><td><code>cryptoGetLiveHash</code></td><td><a href="/reference/protobuf/crypto/cryptogetinfo">CryptoGetLiveHashQuery</a></td><td>Get a single livehash from a single account (or null if it doesn't exist)</td></tr><tr><td><code>cryptoGetProxyStakers</code></td><td><a href="/reference/protobuf/crypto/cryptogetstakers">CryptoGetStakersQuery</a></td><td>Get all the accounts that proxy stake to a given account, and how much they proxy stake (not yet implemented in the current API)</td></tr><tr><td><code>fileGetContents</code></td><td><a href="/reference/protobuf/file/filegetcontents">FileGetContentsQuery</a></td><td>Get the contents of a file (the bytes stored in it)</td></tr><tr><td><code>fileGetInfo</code></td><td><a href="/reference/protobuf/file/filegetinfo">FileGetInfoQuery</a></td><td>Get information about a file, such as its expiration date</td></tr><tr><td><code>transactionGetReceipt</code></td><td><a href="/reference/protobuf/miscellaneous/transactiongetreceipt">TransactionGetReceiptQuery</a></td><td>Get a receipt for a transaction (lasts 180 seconds)</td></tr><tr><td><code>transactionGetRecord</code></td><td><a href="/reference/protobuf/miscellaneous/transactiongetrecord">TransactionGetRecordQuery</a></td><td>Get a record for a transaction (lasts 1 hour)</td></tr><tr><td><code>transactionGetFastRecord</code></td><td><a href="/reference/protobuf/miscellaneous/transactiongetfastrecord">TransactionGetFastRecordQuery</a></td><td>Get a record for a transaction (lasts 180 seconds)</td></tr><tr><td><code>consensusGetTopicInfo</code></td><td><a href="../consensus/consensusgettopicinfo">ConsensusGetTopicInfoQuery</a></td><td>Get the parameters of and state of a consensus topic.</td></tr><tr><td><code>networkGetVersionInfo</code></td><td><a href="/reference/protobuf/miscellaneous/networkgetversioninfo">NetworkGetVersionInfoQuery</a></td><td>Get the version of the network</td></tr><tr><td><code>tokenGetInfo</code></td><td><a href="/reference/protobuf/token/tokengetinfo#tokengetinfoquery">TokenGetInfoQuery</a></td><td>Get all information about a token</td></tr><tr><td><code>scheduleGetInfo</code></td><td><a href="/reference/protobuf/schedule/schedulegetinfo#schedulegetinfoquery">ScheduleGetInfoQuery</a></td><td>Get all information about a schedule entity</td></tr><tr><td><code>tokenGetAccountNftInfo</code></td><td><a href="/reference/protobuf/token/tokengetaccountnftinfo">TokenGetAccountNftInfoQuery</a></td><td>Get a list of NFTs associated with the account</td></tr><tr><td><code>tokenGetNftInfo</code></td><td><a href="/reference/protobuf/token/tokengetnftinfo#tokengetnftinfoquery">TokenGetNftInfoQuery</a></td><td>Get all information about a NFT</td></tr><tr><td><code>tokenGetNftInfos</code></td><td><a href="/reference/protobuf/token/tokengetnftinfo#tokengetnftinfoquery">TokenGetNftInfosQuery</a></td><td>Get a list of NFTs for the token</td></tr></tbody></table>
