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!
Method
CU
Throughput CU
getNFTMetadata
100 80
10
getContractMetadata
250 160
10
getCollectionMetadata
250 240
10
getNFTsForOwner
600 480
100
getContractsForOwner
350 320
100
getCollectionsForOwner
350 360
100
getNFTsForContract
600 480
50
getOwnersForNFT
100 80
10
getOwnersForContract
600 480
20
getFloorPrice
100 80
10
getNFTSales
180 160
10
computeRarity
100 80
10
summarizeNFTAttributes
100 80
10
isHolderOfContract
100 80
10
searchContractMetadata
500 480
50
getNFTMetadataBatch
600 480
100
getContractMetadataBatch
600 480
100
getSpamContracts
600 480
10
isSpamContract
100 80
10
isAirdropNFT
100 80
10
invalidateContract
100 80
80
refreshNftMetadata
50 40
10
reingestContract
600 480
480
reportSpam
0
10
Transfers API
Method
CU
alchemy_getAssetTransfers
150 120
Token API
Method
CU
alchemy_getTokenBalances
26 20
alchemy_getTokenMetadata
16 10
alchemy_getTokenAllowance
19 20
Prices API
Method
CU
tokens/by-symbol
40
tokens/by-address
40
Transact
Method
CU
alchemy_sendGasOptimizedTransaction
2500
alchemy_getGasOptimizedTransactionStatus
25
eth_sendPrivateTransaction
250
eth_cancelPrivateTransaction
250
alchemy_simulateAssetChanges
2500
alchemy_simulateExecution
2500
Reinforced Transactions
$999/month
requires Reinforced Transactions enabled on app
Debug API
Method
CU
Throughput CU
debug_traceTransaction
170 40
1000
debug_traceCall
170 40
1000
debug_traceBlockByHash
170 40
1000
debug_traceBlockByNumber
170 40
1000
Trace API
Method
CU
Throughput CU
trace_get
17 20
20
trace_block
24 20
20
trace_transaction
26 40
40
trace_call
75 40
40
trace_rawTransaction
75 40
40
trace_filter
75 40
40
trace_replayTransaction
2983 80
3000
trace_replayBlockTransactions
2983 80
3000
Standard EVM JSON-RPC Methods
Method
CU
Throughput CU
net_version
0
eth_chainId
0
eth_syncing
0
eth_protocolVersion
0
net_listening
0
eth_uninstallFilter
10
eth_accounts
10
eth_blockNumber
10
eth_subscribe
10
eth_unsubscribe
10
eth_feeHistory
10
eth_maxPriorityFeePerGas
10
eth_createAccessList
10
eth_getTransactionReceipt
15 20
eth_getUncleByBlockHashAndIndex
15 20
eth_getUncleByBlockNumberAndIndex
15 20
eth_getTransactionByBlockHashAndIndex
15 20
eth_getTransactionByBlockNumberAndIndex
15 20
eth_getUncleCountByBlockHash
15 20
eth_getUncleCountByBlockNumber
15 20
web3_clientVersion
15 20
web3_sha3
15 20
eth_getBlockByNumber
16 20
eth_getStorageAt
17 20
eth_getTransactionByHash
17 20
eth_gasPrice
19 20
eth_getBalance
19 20
eth_getCode
19 20
eth_getFilterChanges
20
eth_newBlockFilter
20
eth_newFilter
20
eth_newPendingTransactionFilter
20
eth_getBlockTransactionCountByHash
20
eth_getBlockTransactionCountByNumber
20
eth_getProof
21 20
eth_getBlockByHash
21 20
erigon_forks
24 20
erigon_getHeaderByHash
24 20
erigon_getHeaderByNumber
24 20
erigon_getLogsByHash
24 20
erigon_issuance
24 20
eth_getTransactionCount
26 20
eth_call
26
eth_getFilterLogs
75 60
eth_getLogs
75 60
eth_estimateGas
87 20
alchemy_getTransactionReceipts
250
eth_sendRawTransaction
250 40
250
eth_getBlockReceipts
500 20
500
batch
CU of method # times called
To view the batch request breakdown in the dashboard, click on "raw request"
Polygon PoS Specific Methods
Method
CU
bor_getAuthor
10
bor_getCurrentProposer
10
bor_getCurrentValidators
10
bor_getRootHash
10
bor_getSignersAtHash
10
Polygon zkEVM Specific Methods
Method
CU
zkevm_batchNumber
10
zkevm_batchNumberByBlockNumber
10
zkevm_consolidatedBlockNumber
10
zkevm_getBatchByNumber
10
zkevm_getBroadcastURI
10
zkevm_isBlockConsolidated
10
zkevm_isBlockVirtualized
10
zkevm_verifiedBatchNumber
10
zkevm_virtualBatchNumber
10
zkevm_estimateFee
40
zkevm_estimateGasPrice
40
zkSync Era Specific Methods
All zkSync Era specific methods cost 10 CUs, this includes the methods listed below:
Similar to the NFT API, the Gas Manager & Bundler APIs implement "Throughput CU" to count separately toward your applications' throughput!
Method
CU
Throughput CU
eth_sendUserOperation
1000
100
eth_estimateUserOperationGas
500 40
50
eth_getUserOperationByHash
17 20
17
eth_getUserOperationReceipt
15 20
15
eth_supportedEntryPoints
5 10
5
rundler_maxPriorityFeePerGas
10
10
alchemy_simulateUserOperationAssetChanges
2500
2500
alchemy_requestPaymasterAndData
1000
100
alchemy_requestGasAndPaymasterAndData
1250
125
Embedded Account APIs
Similar to the NFT API, the Embedded Account APIs implement "Throughput CU" to count separately toward your applications' throughput!
Method
CU
Throughput CU
/signer/auth
100
50
/signer/lookup
100
50
/signer/signup
1000
300
/signer/sign-payload
6000
300
/signer/whoami
100
20
Standard Starknet JSON-RPC Methods
Method
CU
starknet_getBlockWithTxHashes
16 20
starknet_getBlockWithTxs
16 20
starknet_getStateUpdate
21 20
starknet_getStorageAt
17 20
starknet_getTransactionByHash
17 20
starknet_getTransactionByBlockIdAndIndex
15 20
starknet_getTransactionReceipt
15 20
starknet_getClass
19 20
starknet_getClassHashAt
19 20
starknet_getClassAt
19 20
starknet_getBlockTransactionCount
20
starknet_call
26 20
starknet_blockNumber
10 20
starknet_blockHashAndNumber
10 20
starknet_chainId
0
starknet_pendingTransactions
50 20
starknet_syncing
0
starknet_getNonce
26 20
starknet_getEvents
75 20
starknet_estimateFee
87 20
starknet_addInvokeTransaction
250 160
starknet_addDeclareTransaction
250 160
starknet_addDeployAccountTransaction
250 160
starknet_estimateMessageFee
87 20
Standard Solana JSON-RPC Methods
Method
CU
getLeaderSchedule
5 20
requestAirdrop
5 20
getVoteAccounts
5
getBlockCommitment
5
getBlocksWithLimit
5 20
getHealth
5 20
getIdentity
5 20
getLatestBlockhash
7 20
getSlot
7 20
getInflationRate
8 20
getMaxRetransmitSlot
8 20
getRecentPerformanceSamples
8 20
getEpochInfo
9 20
getTokenAccountBalance
9 20
getBlockTime
9 20
getHighestSnapshotSlot
9 20
sendTransaction
10
getEpochSchedule
10 20
getStakeActivation
10 20
getMaxShredInsertSlot
10 20
getVersion
10 20
isBlockhashValid
10 20
getAccountInfo
10
getFeeForMessage
10 20
getFees
10 20
getConfirmedBlocks
10 20
getTokenLargestAccounts
10 20
getTokenOwnersByDelegate
10
getInflationGovernor
10 20
getSlotLeader
11 20
getMultipleAccounts
11
minimumLedgerSlot
11 20
getBlockHeight
11 20
simulateTransaction
11 20
getFeeCalculatorForBlockhash
11
getSignatureStatuses
11 20
getRecentBlockhash
12 10
getBlocks
12 10
getTokenAccountsByOwner
12 10
getMinimumBalanceForRentExemption
12 10
getBalance
12 10
getGenesisHash
13 10
getBlockProduction
13 10
getTokenSupply
14 20
getTransactionCount
16
getSlotLeaders
16 20
getClusterNodes
23 20
getSignaturesForAddress
28 10
getFirstAvailableBlock
33 40
getConfirmedSignaturesForAddress2
35 40
getConfirmedTransaction
38 40
getTransaction
59 40
getBlock
66 40
getProgramAccounts
117 20
getConfirmedBlock
151 40
getInflationReward
341 40
getSupply
822 160
getLargestAccounts
3000
batch*
CU of method # times 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:
Bandwidth
CU
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