# Avalanche Documentation > Subnet-based L1 with the EVM C-Chain, asset-focused X-Chain, and validator P-Chain. C/X/P-Chain APIs plus Debug, Avalanche Index, and Info. - [Quicknode Avalanche RPC Overview](https://www.quicknode.com/docs/avalanche.md): Get started with Avalanche RPC on Quicknode. Access reliable, low-latency blockchain infrastructure with globally distributed endpoints for seamless development. ## Making API Requests - [Avalanche QuickStart](https://www.quicknode.com/docs/avalanche/quickstart.md): Get started with Avalanche RPC on Quicknode. Follow this QuickStart to get up and running with your own Quicknode endpoint and making your first API request to the Avalanche blockchain. - [Avalanche API Endpoints](https://www.quicknode.com/docs/avalanche/endpoints.md): Learn about Avalanche endpoint URLs, API credits, and method compatibility - [Avalanche Endpoint Security](https://www.quicknode.com/docs/avalanche/endpoint-security.md): Learn about endpoint security options and how to set up a Quicknode Avalanche RPC endpoint for optimal performance and security. - [Avalanche Error Code Reference](https://www.quicknode.com/docs/avalanche/error-references.md): Learn about Avalanche error codes, including HTTP, JSON-RPC, and Quicknode's own custom error codes. ## API Reference - [Avalanche API Overview](https://www.quicknode.com/docs/avalanche/api-overview.md): Overview of supported Avalanche APIs, networks and supported products on Quicknode. ## Platform Chain (P-Chain) API /ext/bc/P - [platform.getBalance RPC Method](https://www.quicknode.com/docs/avalanche/platform.getBalance.md): Get the balance of an asset controlled by a given address. - [platform.getBlockchainStatus RPC Method](https://www.quicknode.com/docs/avalanche/platform.getBlockchainStatus.md): Get the status of a blockchain. - [platform.getBlockchains RPC Method](https://www.quicknode.com/docs/avalanche/platform.getBlockchains.md): Get all the blockchains that exist (excluding the P-Chain). - [platform.getCurrentSupply RPC Method](https://www.quicknode.com/docs/avalanche/platform.getCurrentSupply.md): Returns an upper bound on the number of AVAX that exist. This is an upper bound because it does not account for burnt tokens, including transaction fees. - [platform.getCurrentValidators RPC Method](https://www.quicknode.com/docs/avalanche/platform.getCurrentValidators.md): List the current validators of the given Subnet. - [platform.getFeeConfig RPC Method](https://www.quicknode.com/docs/avalanche/platform.getFeeConfig.md): Retrieves the current fee configuration settings for the platform. - [platform.getFeeState RPC Method](https://www.quicknode.com/docs/avalanche/platform.getFeeState.md): Retrieves the current state of transaction fees on the platform. - [platform.getHeight RPC Method](https://www.quicknode.com/docs/avalanche/platform.getHeight.md): Returns the height of the last accepted block. - [platform.getMinStake RPC Method](https://www.quicknode.com/docs/avalanche/platform.getMinStake.md): Get the minimum amount of AVAX required to validate the Primary Network and the minimum amount of AVAX that can be delegated. - [platform.getRewardUtxOs RPC Method](https://www.quicknode.com/docs/avalanche/platform.getRewardUtxOs.md): Returns the UTXOs that were rewarded after the provided transaction's staking or delegation period ended. - [platform.getStake RPC Method](https://www.quicknode.com/docs/avalanche/platform.getStake.md): Returns the staked amount for an array of addresses. - [platform.getStakingAssetId RPC Method](https://www.quicknode.com/docs/avalanche/platform.getStakingAssetId.md): Retrieve an assetID for a subnet’s staking asset. Currently this always returns the Primary Network’s staking assetID. - [platform.getSubnets RPC Method](https://www.quicknode.com/docs/avalanche/platform.getSubnets.md): Get all the Subnets that exist. - [platform.getTimestamp RPC Method](https://www.quicknode.com/docs/avalanche/platform.getTimestamp.md): Returns the specified transaction. - [platform.getTotalStake RPC Method](https://www.quicknode.com/docs/avalanche/platform.getTotalStake.md): Get the total amount of nAVAX staked on the Primary Network. - [platform.getTx RPC Method](https://www.quicknode.com/docs/avalanche/platform.getTx.md): Returns the specified transaction. - [platform.getTxStatus RPC Method](https://www.quicknode.com/docs/avalanche/platform.getTxStatus.md): Returns the specified transaction. - [platform.getUtxOs RPC Method](https://www.quicknode.com/docs/avalanche/platform.getUtxOs.md): Get the UTXOs that reference a given address. - [platform.getValidatorFeeConfig RPC Method](https://www.quicknode.com/docs/avalanche/platform.getValidatorFeeConfig.md): Retrieves the validator fee configuration of the P-Chain. - [platform.getValidatorFeeState RPC Method](https://www.quicknode.com/docs/avalanche/platform.getValidatorFeeState.md): Retrieves the current validator fee state of the P-Chain. - [platform.getValidatorsAt RPC Method](https://www.quicknode.com/docs/avalanche/platform.getValidatorsAt.md): Get the validators and their weights of a subnet or the Primary Network at a given P-Chain height. - [platform.getAllValidatorsAt RPC Method](https://www.quicknode.com/docs/avalanche/platform.getAllValidatorsAt.md): Returns all validators for all subnets at a specific P-Chain height. - [platform.issueTx RPC Method](https://www.quicknode.com/docs/avalanche/platform.issueTx.md): Issue a transaction to the Platform Chain. - [platform.sampleValidators RPC Method](https://www.quicknode.com/docs/avalanche/platform.sampleValidators.md): Sample validators from the specified Subnet. - [platform.validatedBy RPC Method](https://www.quicknode.com/docs/avalanche/platform.validatedBy.md): Get the Subnet that validates a given blockchain. - [platform.validates RPC Method](https://www.quicknode.com/docs/avalanche/platform.validates.md): Get the IDs of the blockchains a Subnet validates. ## ProposerVM RPC /ext/bc/P/proposervm - [proposervm.getProposedHeight RPC Method](https://www.quicknode.com/docs/avalanche/proposervm.getProposedHeight.md): Returns the proposed height of the ProposerVM. - [proposervm.getCurrentEpoch RPC Method](https://www.quicknode.com/docs/avalanche/proposervm.getCurrentEpoch.md): Returns the current epoch information for the ProposerVM. ## Contract Chain (C-Chain) API /ext/bc/C/rpc — Ethereum API - [eth_blockNumber RPC Method](https://www.quicknode.com/docs/avalanche/eth_blockNumber.md): Returns the latest block number of the blockchain. - [eth_call RPC Method](https://www.quicknode.com/docs/avalanche/eth_call.md): Executes a new message call immediately without creating a transaction on the block chain. - [eth_chainId RPC Method](https://www.quicknode.com/docs/avalanche/eth_chainId.md): Returns the current network/chain ID, used to sign repplay-protected transaction introduced in EIP-155. - [eth_estimateGas RPC Method](https://www.quicknode.com/docs/avalanche/eth_estimateGas.md): Returns an estimation of gas for a given transaction. - [eth_gasPrice RPC Method](https://www.quicknode.com/docs/avalanche/eth_gasPrice.md): Returns the current gas price on the network in wei. - [eth_getBalance RPC Method](https://www.quicknode.com/docs/avalanche/eth_getBalance.md): Returns the balance of given account address in wei. - [eth_getBlockByHash RPC Method](https://www.quicknode.com/docs/avalanche/eth_getBlockByHash.md): Returns information of the block matching the given block hash. - [eth_getBlockByNumber RPC Method](https://www.quicknode.com/docs/avalanche/eth_getBlockByNumber.md): Returns information of the block matching the given block number. - [eth_getBlockReceipts RPC Method](https://www.quicknode.com/docs/avalanche/eth_getBlockReceipts.md): Returns all transaction receipts for a given block. - [eth_getBlockTransactionCountByHash RPC Method](https://www.quicknode.com/docs/avalanche/eth_getBlockTransactionCountByHash.md): Returns the number of transactions for the block matching the given block hash. - [eth_getBlockTransactionCountByNumber RPC Method](https://www.quicknode.com/docs/avalanche/eth_getBlockTransactionCountByNumber.md): Returns the number of transactions for the block matching the given block number. - [eth_getCode RPC Method](https://www.quicknode.com/docs/avalanche/eth_getCode.md): Returns the compiled bytecode of a smart contract. - [eth_getFilterChanges RPC Method](https://www.quicknode.com/docs/avalanche/eth_getFilterChanges.md): Polling method for a filter, which returns an array of events that have occurred since the last poll. - [eth_getFilterLogs RPC Method](https://www.quicknode.com/docs/avalanche/eth_getFilterLogs.md): Returns an array of all logs matching filter with given id. - [eth_getLogs RPC Method](https://www.quicknode.com/docs/avalanche/eth_getLogs.md): Returns an array of all logs matching a given filter object. - [eth_getStorageAt RPC Method](https://www.quicknode.com/docs/avalanche/eth_getStorageAt.md): Returns the value from a storage position at a given address. - [eth_getTransactionByBlockHashAndIndex RPC Method](https://www.quicknode.com/docs/avalanche/eth_getTransactionByBlockHashAndIndex.md): Returns information about a transaction given a blockhash and transaction index position. - [eth_getTransactionByBlockNumberAndIndex RPC Method](https://www.quicknode.com/docs/avalanche/eth_getTransactionByBlockNumberAndIndex.md): Returns information about a transaction given a block number and transaction index position. - [eth_getTransactionByHash RPC Method](https://www.quicknode.com/docs/avalanche/eth_getTransactionByHash.md): Returns the information about a transaction from a transaction hash. - [eth_getTransactionCount RPC Method](https://www.quicknode.com/docs/avalanche/eth_getTransactionCount.md): Returns the number of transactions sent from an address. - [eth_getTransactionReceipt RPC Method](https://www.quicknode.com/docs/avalanche/eth_getTransactionReceipt.md): Returns the receipt of a transaction by transaction hash. - [eth_getUncleCountByBlockHash RPC Method](https://www.quicknode.com/docs/avalanche/eth_getUncleCountByBlockHash.md): Returns the number of uncles for the block matching the given block hash. - [eth_getUncleCountByBlockNumber RPC Method](https://www.quicknode.com/docs/avalanche/eth_getUncleCountByBlockNumber.md): Returns the number of uncles for the block matching the given block number. - [eth_newBlockFilter RPC Method](https://www.quicknode.com/docs/avalanche/eth_newBlockFilter.md): Creates a filter in the node, to notify when a new block arrives. To check if the state has changed, call eth_getFilterChanges. - [eth_newFilter RPC Method](https://www.quicknode.com/docs/avalanche/eth_newFilter.md): Creates a filter object, based on filter options, to notify when the state changes (logs). To check if the state has changed, call eth_getFilterChanges. - [eth_newPendingTransactionFilter RPC Method](https://www.quicknode.com/docs/avalanche/eth_newPendingTransactionFilter.md): Creates a filter in the node to notify when new pending transactions arrive. To check if the state has changed, call eth_getFilterChanges. - [eth_sendRawTransaction RPC Method](https://www.quicknode.com/docs/avalanche/eth_sendRawTransaction.md): Creates new message call transaction or a contract creation for signed transactions. The new API Credit value for this method is 20 when used part of the Core API. If you are using eth_sendRawTransaction as part of a Marketplace add-on, view the add-on's homepage for more information about the specific charge. - [eth_signTransaction RPC Method](https://www.quicknode.com/docs/avalanche/eth_signTransaction.md): Signs a transaction that can be submitted to the network later using eth_sendRawTransaction - not supported by Quicknode! - [eth_subscribe RPC Method](https://www.quicknode.com/docs/avalanche/eth_subscribe.md): Starts a subscription to a specific event. - [eth_syncing RPC Method](https://www.quicknode.com/docs/avalanche/eth_syncing.md): Returns an object with the sync status of the node if the node is out-of-sync and is syncing. Returns false when the node is already in sync. - [eth_uninstallFilter RPC Method](https://www.quicknode.com/docs/avalanche/eth_uninstallFilter.md): It uninstalls a filter with the given filter id. - [eth_unsubscribe RPC Method](https://www.quicknode.com/docs/avalanche/eth_unsubscribe.md): Cancels an existing subscription so that no further events are sent. - [net_listening RPC Method](https://www.quicknode.com/docs/avalanche/net_listening.md): Returns true if client is actively listening for network connections. - [net_peerCount RPC Method](https://www.quicknode.com/docs/avalanche/net_peerCount.md): Returns number of peers currently connected to the client. - [net_version RPC Method](https://www.quicknode.com/docs/avalanche/net_version.md): Returns the current network id. - [web3_clientVersion RPC Method](https://www.quicknode.com/docs/avalanche/web3_clientVersion.md): Getting the current client version. - [web3_sha3 RPC Method](https://www.quicknode.com/docs/avalanche/web3_sha3.md): Calculates a cryptographic hash. - [eth_get_asset_balance RPC Method](https://www.quicknode.com/docs/avalanche/eth_get_asset_balance.md): Getting an account's non-AVAX balance. - [eth_max_priority_fee_per_gas RPC Method](https://www.quicknode.com/docs/avalanche/eth_max_priority_fee_per_gas.md): Get the priority fee needed to be included in a block. - [eth_base_fee RPC Method](https://www.quicknode.com/docs/avalanche/eth_base_fee.md): Get the base fee for the next block. - [txpool_content RPC Method](https://www.quicknode.com/docs/avalanche/txpool_content.md): Returns all pending and queued transactions (Supported only on Geth). - [txpool_status RPC Method](https://www.quicknode.com/docs/avalanche/txpool_status.md): Returns the number of transactions in pending and queued states (Supported only on Geth). ## Contract Chain (C-Chain) API /ext/bc/C/rpc — Avalanche API - [avax.getAtomicTx RPC Method](https://www.quicknode.com/docs/avalanche/avax.getAtomicTx.md): Returns the specified transaction. - [avax.getAtomicTxStatus RPC Method](https://www.quicknode.com/docs/avalanche/avax.getAtomicTxStatus.md): Get the status of a transaction sent to the network. - [avax.getUTXOs RPC Method](https://www.quicknode.com/docs/avalanche/avax.getUTXOs.md): Get the UTXOs that reference a given address. - [avax.issueTx RPC Method](https://www.quicknode.com/docs/avalanche/avax.issueTx.md): Send a signed transaction to the network. ## Exchange Chain (X-Chain) API /ext/bc/X - [avm.buildGenesis RPC Method](https://www.quicknode.com/docs/avalanche/avm.buildGenesis.md): Given a JSON representation of this Virtual Machine's genesis state, create the byte representation of that state. - [avm.getAllBalances RPC Method](https://www.quicknode.com/docs/avalanche/avm.getAllBalances.md): Get the balances of all assets controlled by a given address. - [avm.getAssetDescription RPC Method](https://www.quicknode.com/docs/avalanche/avm.getAssetDescription.md): Get information about an asset. - [avm.getBalance RPC Method](https://www.quicknode.com/docs/avalanche/avm.getBalance.md): Get the balance of an asset controlled by a given address. - [avm.getBlockByHeight RPC Method](https://www.quicknode.com/docs/avalanche/avm.getBlockByHeight.md): Returns block at the given height. - [avm.getHeight RPC Method](https://www.quicknode.com/docs/avalanche/avm.getHeight.md): Returns the height of the last accepted block. - [avm.getTx RPC Method](https://www.quicknode.com/docs/avalanche/avm.getTx.md): Returns the specified transaction. - [avm.getTxFee RPC Method](https://www.quicknode.com/docs/avalanche/avm.getTxFee.md): Returns the transaction fee for the X-Chain. - [avm.getTxStatus RPC Method](https://www.quicknode.com/docs/avalanche/avm.getTxStatus.md): Get the status of a transaction sent to the network. - [avm.getUtxOs RPC Method](https://www.quicknode.com/docs/avalanche/avm.getUtxOs.md): Get the UTXOs that reference a given address. - [avm.issueTx RPC Method](https://www.quicknode.com/docs/avalanche/avm.issueTx.md): Send a signed transaction to the network. ## Index API - [index.getContainerById RPC Method](https://www.quicknode.com/docs/avalanche/index.getContainerById.md): Get container by ID. - [index.getContainerByIndex RPC Method](https://www.quicknode.com/docs/avalanche/index.getContainerByIndex.md): Get container by index. The first container accepted is at index 0, the second is at index 1, etc. - [index.getContainerRange RPC Method](https://www.quicknode.com/docs/avalanche/index.getContainerRange.md): Returns containers with indices in [startIndex, startIndex+1, ... , startIndex + numToFetch - 1]. numToFetch must be in \[0,1024\]. - [index.getIndex RPC Method](https://www.quicknode.com/docs/avalanche/index.getIndex.md): Get a container's index. - [index.getLastAccepted RPC Method](https://www.quicknode.com/docs/avalanche/index.getLastAccepted.md): Get the most recently accepted container. - [index.isAccepted RPC Method](https://www.quicknode.com/docs/avalanche/index.isAccepted.md): Returns true if the container is in this index. ## Info API - [info.upgrades RPC Method](https://www.quicknode.com/docs/avalanche/info.upgrades.md): Returns activation times and details for key protocol upgrades on the Avalanche network. ## Debug API - [debug_traceBlockByHash RPC Method](https://www.quicknode.com/docs/avalanche/debug_traceBlockByHash.md): Replay the block that is already present in the database. - [debug_traceBlockByNumber RPC Method](https://www.quicknode.com/docs/avalanche/debug_traceBlockByNumber.md): Replay the block that is already present in the database. - [debug_traceCall RPC Method](https://www.quicknode.com/docs/avalanche/debug_traceCall.md): Let's you run eth_call on top of a block. - [debug_traceTransaction RPC Method](https://www.quicknode.com/docs/avalanche/debug_traceTransaction.md): Returns all traces of given transaction. ## Marketplace - [Supported Marketplace Add-Ons for Avalanche](https://www.quicknode.com/docs/avalanche/marketplace-addons.md): Supported Marketplace Add-Ons for Avalanche ## Multi-Region Broadcast - [eth_sendRawTransaction RPC Method](https://www.quicknode.com/docs/avalanche/eth_sendRawTransaction.md): Creates new message call transaction or a contract creation for signed transactions. The new API Credit value for this method is 20 when used part of the Core API. If you are using eth_sendRawTransaction as part of a Marketplace add-on, view the add-on's homepage for more information about the specific charge. - [qn_broadcastRawTransaction RPC Method - Multi-Region Broadcast](https://www.quicknode.com/docs/avalanche/qn_broadcastRawTransaction.md): Sends a transaction to multiple regions to encourage faster mining. ## Single Flight - [qn_getBlockWithReceipts RPC Method - Single Flight](https://www.quicknode.com/docs/avalanche/qn_getBlockWithReceipts.md): Returns information about the specified block and the transaction receipts within it. - [qn_getReceipts RPC Method - Single Flight](https://www.quicknode.com/docs/avalanche/qn_getReceipts.md): Returns transaction receipts for the block specified. ## Synchronous SendTransaction - [eth_sendRawTransactionSync RPC Method](https://www.quicknode.com/docs/avalanche/eth_sendRawTransactionSync.md): Broadcasts a raw transaction to the network and synchronously returns the complete transaction receipt once mined, eliminating the need for manual polling.