Compute Unit Costs

New CU Costs

Build and scale apps with lower CU costs on key APIs

Get started for free

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.

What are Throughput Compute Units?

Throughput Compute Units define how often you can run the request within your throughput limits. For example, a 500 CU per second limit would be able to run 50 requests per second that cost 10 throughput CUs. The actual cost of the method is still reflected by the CU amount while the threshold CU allows you to increase the number of requests before you hit your rate limit. If there is no throughput CU listed, it defaults to the actual CU cost.

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
getNFTMetadata8010
getContractMetadata16010
getCollectionMetadata24010
getNFTsForOwner480100
getContractsForOwner320100
getCollectionsForOwner360100
getNFTsForContract48050
getOwnersForNFT8010
getOwnersForContract48020
getFloorPrice8010
getNFTSales16010
computeRarity8010
summarizeNFTAttributes8010
isHolderOfContract8010
searchContractMetadata48050
getNFTMetadataBatch480100
getContractMetadataBatch480100
getSpamContracts48010
isSpamContract8010
isAirdropNFT8010
invalidateContract8080
refreshNftMetadata4010
reingestContract480480
reportSpam010

🆕 Solana DAS (NFT/Token) APIs

MethodCUThroughput CU
getAsset80200
getAssets480200
getAssetProof160200
getAssetProofs480200
getAssetsByAuthority480200
getAssetsByOwner480200
getAssetsByGroup480200
getAssetsByCreator480200
searchAssets480200
getAssetSignatures160200
getNftEditions160200
getTokenAccounts160200

Transfers API

MethodCU
alchemy_getAssetTransfers120

Portfolio APIs

MethodCU
assets/nfts/by-address1000
assets/nfts/contracts/by-address600
assets/tokens/by-address360
assets/tokens/balances/by-address200
/transactions/history/by-address1000

Token API

MethodCU
alchemy_getTokenBalances20
alchemy_getTokenMetadata10
alchemy_getTokenAllowance20

Prices API

MethodCU
tokens/by-symbol40
tokens/by-address40
tokens/historical40

Utility APIs

MethodCU
blocks/by-timestamp10
alchemy_getTransactionReceipts250

Transact

MethodCU
alchemy_sendGasOptimizedTransaction2500
alchemy_getGasOptimizedTransactionStatus25
eth_sendPrivateTransaction250
eth_cancelPrivateTransaction250
alchemy_simulateAssetChanges2500
alchemy_simulateExecution2500

Debug API

MethodCUThroughput CU
debug_traceTransaction401000
debug_traceCall401000
debug_traceBlockByHash401000
debug_traceBlockByNumber401000

Trace API

MethodCUThroughput CU
trace_get2020
trace_block2020
trace_transaction4040
trace_call4040
trace_rawTransaction4040
trace_filter4040
trace_replayTransaction803000
trace_replayBlockTransactions803000

Standard EVM JSON-RPC Methods

MethodCUThroughput CU
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_getTransactionReceipt20
eth_getUncleByBlockHashAndIndex20
eth_getUncleByBlockNumberAndIndex20
eth_getTransactionByBlockHashAndIndex20
eth_getTransactionByBlockNumberAndIndex20
eth_getUncleCountByBlockHash20
eth_getUncleCountByBlockNumber20
web3_clientVersion20
web3_sha320
eth_getBlockByNumber20
eth_getStorageAt20
eth_getTransactionByHash20
eth_gasPrice20
eth_getBalance20
eth_getCode20
eth_getFilterChanges20
eth_newBlockFilter20
eth_newFilter20
eth_simulateV140
eth_newPendingTransactionFilter20
eth_getBlockTransactionCountByHash20
eth_getBlockTransactionCountByNumber20
eth_getProof20
eth_getBlockByHash20
erigon_forks20
erigon_getHeaderByHash20
erigon_getHeaderByNumber20
erigon_getLogsByHash20
erigon_issuance20
eth_getTransactionCount20
eth_call26
eth_getFilterLogs60
eth_getLogs60
eth_estimateGas20
eth_sendRawTransaction40250
eth_getBlockReceipts20500
batchCU of method # times 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
zkevm_estimateFee40
zkevm_estimateGasPrice40

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_getUserOperationByHash2017
eth_getUserOperationReceipt2015
eth_supportedEntryPoints105
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_getBlockWithTxHashes20
starknet_getBlockWithTxs20
starknet_getStateUpdate20
starknet_getStorageAt20
starknet_getTransactionByHash20
starknet_getTransactionByBlockIdAndIndex20
starknet_getTransactionReceipt20
starknet_getClass20
starknet_getClassHashAt20
starknet_getClassAt20
starknet_getBlockTransactionCount20
starknet_call20
starknet_blockNumber20
starknet_blockHashAndNumber20
starknet_chainId0
starknet_pendingTransactions20
starknet_syncing0
starknet_getNonce20
starknet_getEvents20
starknet_estimateFee20
starknet_addInvokeTransaction160
starknet_addDeclareTransaction160
starknet_addDeployAccountTransaction160
starknet_estimateMessageFee20
starknet_getBlockWithReceipts20
starknet_traceBlockTransactions80
starknet_specVersion10
starknet_getTransactionStatus20
starknet_simulateTransactions20

Standard Solana JSON-RPC Methods

MethodCU
getLeaderSchedule20
requestAirdrop20
getVoteAccounts5
getBlockCommitment5
getBlocksWithLimit20
getHealth20
getIdentity20
getLatestBlockhash20
getSlot20
getInflationRate20
getMaxRetransmitSlot20
getRecentPerformanceSamples20
getEpochInfo20
getTokenAccountBalance20
getBlockTime20
getHighestSnapshotSlot20
sendTransaction10
getEpochSchedule20
getStakeActivation20
getMaxShredInsertSlot20
getVersion20
isBlockhashValid20
getAccountInfo10
getFeeForMessage20
getFees20
getConfirmedBlocks20
getTokenLargestAccounts20
getTokenOwnersByDelegate10
getInflationGovernor20
getSlotLeader20
getMultipleAccounts11
minimumLedgerSlot20
getBlockHeight20
simulateTransaction20
getFeeCalculatorForBlockhash11
getSignatureStatuses20
getRecentBlockhash10
getBlocks10
getTokenAccountsByOwner10
getMinimumBalanceForRentExemption10
getBalance10
getGenesisHash10
getBlockProduction10
getTokenSupply20
getTransactionCount16
getSlotLeaders20
getClusterNodes20
getSignaturesForAddress20
getFirstAvailableBlock40
getConfirmedSignaturesForAddress240
getConfirmedTransaction40
getTransaction40
getBlock40
getProgramAccounts20
getConfirmedBlock40
getInflationReward40
getSupply160
getLargestAccounts3000
batch*CU of method # times called
  • To view the batch request breakdown in the dashboard, click on “raw request”

Webhooks and Subscription APIs

Webhooks 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