Rate limiting is managed through a weighted scoring system, known as Compute Units (CUs). Each API request consumes a specified number of CUs, determined by the complexity of the request. This system is designed to accommodate basic requests while efficiently handling more computationally intensive operations.

Rate Limit Tiers

The maximum CUs (rate-limiting score) for a user depends on their subscription level and is delineated in the following table:

Subscription LevelPer Minute Limit (CUs)Per Day Limit (CUs)
Unauthenticated6,0001,200,000
Free8,0002,000,000
Base10,0003,750,000
Growth14,00011,200,000
Pro20,00025,000,000

To update your subscription level use the AvaCloud Portal

Note: Rate limits apply collectively across both Webhooks and Data APIs, with usage from each counting toward your total CU limit.

Rate Limit Categories

The CUs for each category are defined in the following table:

WeightCU Value
Free1
Small10
Medium20
Large50
XL100
XXL200

Rate Limits for Data API Endpoints

The CUs for each route are defined in the table below:

EndpointMethodWeightCU Value
/v1/health-checkGETMedium20
/v1/chains/{chainId}/nfts/collections/{address}/tokens/{tokenId}:reindexPOSTSmall10
/v1/chains/{chainId}/nfts/collections/{address}/tokensGETMedium20
/v1/chains/{chainId}/nfts/collections/{address}/tokens/{tokenId}GETMedium20
/v1/operations/{operationId}GETSmall10
/v1/operations/transactions:exportPOSTMedium20
/v1/networks/{network}/blockchains/{blockchainId}/transactions/{txHash}GETMedium20
/v1/networks/{network}/blockchains/{blockchainId}/transactionsGETXL100
/v1/networks/{network}/blockchains/{blockchainId}/transactions:listStakingGETXL100
/v1/networks/{network}/rewards:listPendingGETXL100
/v1/networks/{network}/rewardsGETXL100
/v1/networks/{network}/blockchains/{blockchainId}/utxosGETXL100
/v1/networks/{network}/blockchains/{blockchainId}/balancesGETXL100
/v1/networks/{network}/blockchains/{blockchainId}/blocks/{blockId}GETXL100
/v1/networks/{network}/blockchains/{blockchainId}/nodes/{nodeId}/blocksGETMedium20
/v1/networks/{network}/blockchains/{blockchainId}/blocksGETMedium20
/v1/networks/{network}/blockchains/{blockchainId}/verticesGETMedium20
/v1/networks/{network}/blockchains/{blockchainId}/vertices/{vertexHash}GETMedium20
/v1/networks/{network}/blockchains/{blockchainId}/vertices:listByHeightGETMedium20
/v1/networks/{network}/blockchains/{blockchainId}/assets/{assetId}GETXL100
/v1/networks/{network}/blockchains/{blockchainId}/assets/{assetId}/transactionsGETXL100
/v1/networks/{network}/addresses:listChainIdsGETXL100
/v1/networks/{network}GETXL100
/v1/networks/{network}/blockchainsGETMedium20
/v1/networks/{network}/subnetsGETMedium20
/v1/networks/{network}/subnets/{subnetId}GETMedium20
/v1/networks/{network}/validatorsGETMedium20
/v1/networks/{network}/validators/{nodeId}GETMedium20
/v1/networks/{network}/delegatorsGETMedium20
/v1/networks/{network}/l1ValidatorsGETMedium20
/v1/teleporter/messages/{messageId}GETMedium20
/v1/teleporter/messagesGETMedium20
/v1/teleporter/addresses/{address}/messagesGETMedium20
/v1/apiUsageMetricsGETXXL200
/v1/apiLogsGETXXL200
/v1/rpcUsageMetricsGETXXL200
/v1/signatureAggregator/aggregateSignaturesPOSTMedium20
/v1/chains/{chainId}/addresses/{address}/balances:getNativeGETMedium20
/v1/chains/{chainId}/addresses/{address}/balances:listErc20GETMedium20
/v1/chains/{chainId}/addresses/{address}/balances:listErc721GETMedium20
/v1/chains/{chainId}/addresses/{address}/balances:listErc1155GETMedium20
/v1/chains/{chainId}/addresses/{address}/balances:listCollectiblesGETMedium20
/v1/chains/{chainId}/blocksGETSmall10
/v1/chains/{chainId}/blocks/{blockId}GETSmall10
/v1/chains/{chainId}/contracts/{address}/transactions:getDeploymentGETMedium20
/v1/chains/{chainId}/contracts/{address}/deploymentsGETMedium20
/v1/chains/{chainId}/addresses/{address}GETMedium20
/v1/chainsGETFree1
/v1/chains/{chainId}GETFree1
/v1/chains/address/{address}GETFree1
/v1/chains/{chainId}/tokens/{address}/transfersGETMedium20
/v1/chains/{chainId}/addresses/{address}/transactionsGETMedium20
/v1/chains/{chainId}/addresses/{address}/transactions:listNativeGETMedium20
/v1/chains/{chainId}/addresses/{address}/transactions:listErc20GETMedium20
/v1/chains/{chainId}/addresses/{address}/transactions:listErc721GETMedium20
/v1/chains/{chainId}/addresses/{address}/transactions:listErc1155GETMedium20
/v1/chains/{chainId}/addresses/{address}/transactions:listInternalsGETMedium20
/v1/chains/{chainId}/transactions/{txHash}GETMedium20
/v1/chains/{chainId}/blocks/{blockId}/transactionsGETMedium20
/v1/chains/{chainId}/transactionsGETMedium20

Rate Limits for RPC endpoints

The CUs for RPC calls are calculated based on the RPC method(s) within the request. The CUs assigned to each method are defined in the table below:

MethodWeightCU Value
eth_accountsFree1
eth_blockNumberSmall10
eth_callSmall10
eth_coinbaseSmall10
eth_chainIdFree1
eth_gasPriceSmall10
eth_getBalanceSmall10
eth_getBlockByHashSmall10
eth_getBlockByNumberSmall10
eth_getBlockTransactionCountByNumberMedium20
eth_getCodeMedium20
eth_getLogsXXL200
eth_getStorageAtMedium20
eth_getTransactionByBlockNumberAndIndexMedium20
eth_getTransactionByHashSmall10
eth_getTransactionCountSmall10
eth_getTransactionReceiptSmall10
eth_signTransactionMedium20
eth_sendTransactionMedium20
eth_signMedium20
eth_sendRawTransactionSmall10
eth_syncingFree1
net_listeningFree1
net_peerCountMedium20
net_versionFree1
web3_clientVersionSmall10
web3_sha3Small10
eth_newPendingTransactionFilterMedium20
eth_maxPriorityFeePerGasSmall10
eth_baseFeeSmall10
rpc_modulesFree1
eth_getChainConfigSmall10
eth_feeConfigSmall10
eth_getActivePrecompilesAtSmall10
All rate limits, weights, and CU values are subject to change.