Compute Units (CUs)
An explanation for Compute Unite and how it works
A Compute Unit (CU) measures RPC usage on MegaNode. Each method consumes CU according to its metering rules. All API keys on an account share that account's monthly CU allowance and usable purchased CU.
Monthly CU is a usage allowance, not a requests-per-second limit. CUPS controls throughput independently for each API key. A higher CUPS limit does not add CU.
Your subscription supplies recurring monthly CU. CU Packs add one-time usage; Enterprise CU Auto Scaling makes automatic prepaid purchases when enabled. MegaNode does not introduce automatic postpaid overage billing with Enterprise.
CUs of RPC Method
Below are the CUs for each method. We define the CUs based on the resource required for execution.
Supported Method
BSC, Ethereum, Optimism, Arbitrum & Fantom
| Method | CUs |
|---|---|
| eth_accounts | 5 |
| eth_blockNumber | 5 |
| eth_chainId | 5 |
| eth_syncing | 5 |
| net_listening | 5 |
| net_version | 5 |
| web3_clientVersion | 5 |
| eth_subscribe | 10 |
| eth_uninstallFilter | 10 |
| eth_unsubscribe | 10 |
| web3_sha3 | 10 |
| eth_signTransaction | 10 |
| net_peerCount | 10 |
| eth_gasPrice | 15 |
| eth_getBalance | 15 |
| eth_getBlockByNumber | 15 |
| eth_getCode | 15 |
| eth_getStorageAt | 15 |
| eth_getTransactionByBlockHashAndIndex | 15 |
| eth_getTransactionByBlockNumberAndIndex | 15 |
| eth_getTransactionByHash | 15 |
| eth_getTransactionReceipt | 15 |
| eth_getBlockByHash | 18 |
| eth_getBlockTransactionCountByHash | 18 |
| eth_getBlockTransactionCountByNumber | 18 |
| eth_getFilterChanges | 18 |
| eth_newBlockFilter | 18 |
| eth_newFilter | 18 |
| eth_newPendingTransactionFilter | 18 |
| eth_call | 20 |
| eth_getTransactionCount | 25 |
| eth_getFilterLogs | 50 |
| eth_getLogs | 50 |
| eth_estimateGas | 75 |
| eth_sendRawTransaction | 150 |
| debug_traceTransaction | 280 |
| debug_traceCall | 280 |
| debug_traceBlockByNumber | 1800 |
| debug_traceBlockByHash | 1800 |
Ethereum only
| Method | CUs |
|---|---|
| eth_protocolVersion | 5 |
| eth_createAccessList | 10 |
| eth_feeHistory | 10 |
| eth_maxPriorityFeePerGas | 10 |
| eth_getUncleByBlockHashAndIndex | 15 |
| eth_getUncleByBlockNumberAndIndex | 15 |
| eth_getUncleCountByBlockHash | 15 |
| eth_getUncleCountByBlockNumber | 15 |
Optimism API
| Method | CUs |
|---|---|
| eth_getBlockRange | 25 |
| rollup_getInfo | 15 |
| rollup_gasPrices | 15 |
Enhanced API
| Method | CUs |
|---|---|
| trace_block | 2000 |
| trace_call | 300 |
| trace_filter | 10000 |
| trace_get | 280 |
| trace_replayBlockTransactions | 2500 |
| trace_replayTransaction | 2500 |
| trace_transaction | 300 |
| debug_traceTransaction | 280 |
| debug_traceCall | 280 |
| debug_traceBlockByNumber | 1800 |
| debug_traceBlockByHash | 1800 |
| debug_jstraceTransaction | 2800 |
| debug_jstraceCall | 2800 |
| debug_jstraceBlockByNumber | 18000 |
| debug_jstraceBlockByHash | 18000 |
| eth_getDiffAccounts | 1000 |
| eth_getDiffAccountsWithScope | 1200 |
| nr_getTokenBalance1155 | 25 |
| nr_getNFTCollectionHolders | 300 |
| nr_getNFTCollectionHolderCount | 50 |
| nr_getNFTInventory | 200 |
| nr_getNFTHolders | 300 |
| nr_getNFTHoldersWithBalance | 100 |
| nr_getNFTHolderCount | 50 |
| nr_getTokenMeta | 80 |
| nr_getTotalSupply721 | 25 |
| nr_getTotalSupply1155 | 25 |
| nr_getNFTHoldings | 300 |
| nr_getNFTHoldingCount | 50 |
| nr_getTokenBalance721 | 25 |
| nr_getSummedSupply1155 | 100 |
| nr_getNFTTokenCount | 50 |
| nr_getNFTTokens | 100 |
| nr_getNFTTokenOwners | 150 |
| nr_getNFTMeta | 100 |
| nr_getTokenBalance20 | 25 |
| nr_getTotalSupply20 | 25 |
| nr_getTokenCount | 100 |
| nr_getTokenHoldings | 300 |
| nr_getTokenHoldingCount | 50 |
| nr_getTokenHolders | 300 |
| nr_getTokenHolderCount | 50 |
| nr_getTransactionReceiptsByBlockHash | 250 |
| nr_getTransactionReceiptsByBlockNumber | 250 |
| nr_getTransactionDetail | 50 |
| nr_getTransactionByAddress | 250 |
| nr_getTransactionByAddressCount | 250 |
| nr_getTransferByTokenId | 250 |
| nr_getContractCreationTransaction | 250 |
| nr_getAssetTransfersCount | 150 |
| nr_getAssetTransfers | 250 |
| txpool_content | 3000 |
| txpool_inspect | 20 |
| txpool_status | 15 |
Aptos API
| Method | CUs |
|---|---|
| get_account | 25 |
| get_account_modules | 25 |
| get_account_resources | 25 |
| get_account_transaction | 125 |
| get_blocks_by_height | 50 |
| get_blocks_by_version | 50 |
| get_events_by_creation_number | 125 |
| get_events_by_event_handle | 125 |
| get_ledger_information | 25 |
| get_node_health | 25 |
| get_specific_account_module | 25 |
| get_specific_account_resource | 25 |
| get_table_item | 25 |
| get_transaction_by_hash | 25 |
| get_transaction_by_version | 25 |
| get_transactions | 125 |
| simulate_transaction | 50 |
| submit_batch_transactions | 50 |
| submit_transaction | 25 |
| encode_submission | 25 |
| estimate_gas_price | 25 |
| spec | 200 |
Unsupported Method
If MegaNode received requests using unsupported RPC method, the CUs are 2 for each request.
How does MegaNode calculate my monthly CU quota?
We accumulate the monthly usage by account. Regardless of how many API Keys you created in your account, we calculate the usage by summing the entire usage across all API Keys.
Websocket subscription
MegaNode charges the websocket subscription (e.g. eth_subscribe) by bandwidth. For every byte, the cost is 0.04 CU.
What happens if I run out of monthly CU quota?
Remaining valid CU Packs can continue to cover usage after your monthly allowance is exhausted. If no usable CU remains, requests fail with HTTP 429 and error code -32005:
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"code": -32005,
"message": "ran out of cu"
}
}Review your balance in Account. You can purchase a CU Pack, enable eligible CU Auto Scaling, or change the recurring allowance through your subscription. Enterprise manual packs provide 5B CU for $1,000; Enterprise Auto Scaling purchases 1B CU for $200 per trigger. Standard CU Packs remain 5M CU for $1.
A CUPS Burst does not resolve CU exhaustion. See CU Packs and Auto Scaling for purchase details.
What happens if I send a request with incorrect payload?
If you're sending a RPC request with an incorrect payload, it will cost:
- If incorrect method: it will cost you 2 usage for incorrect or unsupported RPC method.
- If other parameters are incorrect, or execution failed due to the wrong payload: it will consume the original cost of each method.
How much monthly quota do I have?
We provide MegaNode users different tiers of monthly quota according to their pricing plan. Pleaserefer to our pricing plan.
Updated 10 days ago

