Compute Unit Costs

A breakdown of Alchemy's compute unit costs per method, chain, and product.

Table of Contents

What are Compute Units
NFT API
Transfers API
Token API
Transact
Debug API
Trace API
EVM API
Polygon PoS API
Polygon zkEVM API
Gas Manager & Bundler APIs
Embedded Account APIs
Starknet JSON-RPC APIs
Solana API
Notify & Subscription APIs
Error Codes

What are Compute Units?

Compute units (CUs) are the measure of the total computational resources your apps use on our platform. Different methods consume different amounts of CUs based on their complexity. For example, a lightweight query like eth_blockNumber uses fewer CUs than a more intensive query like eth_getLogs. For more details, please check out the Compute Units page.

NFT API

We want builders to be able to use as much of the NFT API as they need without worrying about throughput. Because of that, we have discounted how NFT API requests count towards your applications’ guaranteed throughput by 6-10x. This means you can make more concurrent NFT API requests, and use the “Throughput CU” below to calculate how much you can use!

MethodCUThroughput CU
getNFTMetadata10010
getContractMetadata25010
getCollectionMetadata25010
getNFTs / getNFTsForOwner600100
getContractsForOwner350100
getCollectionsForOwner350100
getNFTsForCollection60050
getOwnersForNFT10010
getOwnersForCollection60020
getFloorPrice10010
getNFTSales18010
computeRarity10010
summarizeNFTAttributes10010
isHolderOfCollection10010
searchContractMetadata50050
getNFTMetadataBatch600100
getContractMetadataBatch600100
getSpamContracts60010
isSpamContract10010
isAirdrop10010
invalidateContract100500

Transfers API

MethodCU
alchemy_getAssetTransfers150

Token API

MethodCU
alchemy_getTokenBalances26
alchemy_getTokenMetadata16
alchemy_getTokenAllowance19

Prices API

MethodCU
tokens/by-symbol40
tokens/by-address40

Transact

MethodCU
alchemy_sendGasOptimizedTransaction2500
alchemy_getGasOptimizedTransactionStatus25
eth_sendPrivateTransaction250
eth_cancelPrivateTransaction250
alchemy_simulateAssetChanges2500
alchemy_simulateExecution2500
Reinforced Transactions$999/month

requires Reinforced Transactions enabled on app

Debug API

MethodCU
debug_traceTransaction170
debug_traceCall170
debug_traceBlockByHash170
debug_traceBlockByNumber170

Trace API

MethodCU
trace_get17
trace_block24
trace_transaction26
trace_call75
trace_rawTransaction75
trace_filter75
trace_replayTransaction2983
trace_replayBlockTransactions2983

Standard EVM JSON-RPC Methods (Ethereum, Polygon PoS, Polygon zkEVM, Optimism, Arbitrum, zkSync, Base, Astar)

MethodCU
net_version0
eth_chainId0
eth_syncing0
eth_protocolVersion0
net_listening0
eth_uninstallFilter10
eth_accounts10
eth_blockNumber10
eth_subscribe10
eth_unsubscribe10
eth_feeHistory10
eth_maxPriorityFeePerGas10
eth_createAccessList10
eth_getTransactionReceipt15
eth_getUncleByBlockHashAndIndex15
eth_getUncleByBlockNumberAndIndex15
eth_getTransactionByBlockHashAndIndex15
eth_getTransactionByBlockNumberAndIndex15
eth_getUncleCountByBlockHash15
eth_getUncleCountByBlockNumber15
web3_clientVersion15
web3_sha315
eth_getBlockByNumber16
eth_getStorageAt17
eth_getTransactionByHash17
eth_gasPrice19
eth_getBalance19
eth_getCode19
eth_getFilterChanges20
eth_newBlockFilter20
eth_newFilter20
eth_newPendingTransactionFilter20
eth_getBlockTransactionCountByHash20
eth_getBlockTransactionCountByNumber20
eth_getProof21
eth_getBlockByHash21
erigon_forks24
erigon_getHeaderByHash24
erigon_getHeaderByNumber24
erigon_getLogsByHash24
erigon_issuance24
eth_getTransactionCount26
eth_call26
eth_getFilterLogs75
eth_getLogs75
eth_estimateGas87
alchemy_getTransactionReceipts250
eth_sendRawTransaction250
eth_getBlockReceipts500
batchCU of method # of times the method is called
  • To view the batch request breakdown in the dashboard, click on "raw request"

Polygon PoS Specific Methods

MethodCU
bor_getAuthor10
bor_getCurrentProposer10
bor_getCurrentValidators10
bor_getRootHash10
bor_getSignersAtHash10

Polygon zkEVM Specific Methods

MethodCU
zkevm_batchNumber10
zkevm_batchNumberByBlockNumber10
zkevm_consolidatedBlockNumber10
zkevm_getBatchByNumber10
zkevm_getBroadcastURI10
zkevm_isBlockConsolidated10
zkevm_isBlockVirtualized10
zkevm_verifiedBatchNumber10
zkevm_virtualBatchNumber10

zkSync Era Specific Methods

All zkSync Era specific methods cost 10 CUs, this includes the methods listed below:

Gas Manager & Bundler APIs

Similar to the NFT API, the Gas Manager & Bundler APIs implement "Throughput CU" to count separately toward your applications' throughput!

MethodCUThroughput CU
eth_sendUserOperation1000100
eth_estimateUserOperationGas50050
eth_getUserOperationByHash1717
eth_getUserOperationReceipt1515
eth_supportedEntryPoints55
rundler_maxPriorityFeePerGas1010
alchemy_simulateUserOperationAssetChanges25002500
alchemy_requestPaymasterAndData1000100
alchemy_requestGasAndPaymasterAndData1250125

Embedded Account APIs

Similar to the NFT API, the Embedded Account APIs implement "Throughput CU" to count separately toward your applications' throughput!

MethodCUThroughput CU
/signer/auth10050
/signer/lookup10050
/signer/signup1000300
/signer/sign-payload6000300
/signer/whoami10020

Standard Starknet JSON-RPC Methods

MethodCU
starknet_getBlockWithTxHashes16
starknet_getBlockWithTxs16
starknet_getStateUpdate21
starknet_getStorageAt17
starknet_getTransactionByHash17
starknet_getTransactionByBlockIdAndIndex15
starknet_getTransactionReceipt15
starknet_getClass19
starknet_getClassHashAt19
starknet_getClassAt19
starknet_getBlockTransactionCount20
starknet_call26
starknet_blockNumber10
starknet_blockHashAndNumber10
starknet_chainId0
starknet_pendingTransactions50
starknet_syncing0
starknet_getNonce26
starknet_getEvents75
starknet_estimateFee87
starknet_addInvokeTransaction250
starknet_addDeclareTransaction250
starknet_addDeployAccountTransaction250
starknet_estimateMessageFee87

Standard Solana JSON-RPC Methods

MethodCU
getLeaderSchedule5
requestAirdrop5
getVoteAccounts5
getBlockCommitment5
getBlocksWithLimit5
getHealth5
getIdentity5
getLatestBlockhash7
getSlot7
getInflationRate8
getMaxRetransmitSlot8
getRecentPerformanceSamples8
getEpochInfo9
getTokenAccountBalance9
getBlockTime9
getHighestSnapshotSlot9
sendTransaction10
getEpochSchedule10
getStakeActivation10
getMaxShredInsertSlot10
getVersion10
isBlockhashValid10
getAccountInfo10
getFeeForMessage10
getFees10
getConfirmedBlocks10
getTokenLargestAccounts10
getTokenOwnersByDelegate10
getInflationGovernor10
getSlotLeader11
getMultipleAccounts11
minimumLedgerSlot11
getBlockHeight11
simulateTransaction11
getFeeCalculatorForBlockhash11
getSignatureStatuses11
getRecentBlockhash12
getBlocks12
getTokenAccountsByOwner12
getMinimumBalanceForRentExemption12
getBalance12
getGenesisHash13
getBlockProduction13
getTokenSupply14
getTransactionCount16
getSlotLeaders16
getClusterNodes23
getSignaturesForAddress28
getFirstAvailableBlock33
getConfirmedSignaturesForAddress235
getConfirmedTransaction38
getTransaction59
getBlock66
getProgramAccounts117
getConfirmedBlock151
getInflationReward341
getSupply822
getLargestAccounts3000
batch*CU of method # of times the method is called
  • To view the batch request breakdown in the dashboard, click on "raw request"

Notify and Subscription APIs

Webhook (Notify API) and WebSocket WebSocket Subscriptions on Alchemy are priced based on bandwidth: the amount of data delivered as part of the subscription.

Each subscription type is priced identically per byte:

BandwidthCU
1 byte.04

On average, a typical webhook or WebSocket subscription event is about 1000 bytes, so it would consume 40 compute units. Note that this can vary significantly based on the specific event delivered Subscription API Quickstart

Compute unit cost for error codes

ErrorCompute Units
Non-existing methods0
4290
Other 4xx or 5xxCU value of specific endpoint
32600: IP Address not on whitelist0
32600: App is inactive0
32600: Unspecified origin not on whitelist0
ReadMe