Compute Units
Jonathan Blackburn avatar
Written by Jonathan Blackburn
Updated over a week ago

A compute unit is a measure of the requests needed to query computationally expensive API endpoints. Each request has both price and rate limit cost that is measured in terms of compute units.
โ€‹
All Moralis plans have generous limits on the number of requests you can make per month. Some requests are more expensive than others. By giving some heavy requests higher weight, we ensure that you only pay for what you use and not a cent more.

Rate limit Cost

On the other hand, request rate limit cost refers to the amount of compute units that an API request cost in terms of rate limits.

Endpoints list

Name

Path

Price (Base)

Price (Additional)

Rate Limit Cost

/block/{block_number_or_hash}

100

0

20

/{address}/events

20

0

20

/transaction/{transaction_hash}

10

0

10

/{address}

30

0

20

/transaction/{transaction_hash}/verbose

20

0

10

/nft/getMultipleNFTs

150

0

20

/{address}/verbose

50

0

20

/transaction/{transaction_hash}/internal-transactions

20

0

10

/{address}/balance

10

0

10

/wallets/balances

10

+10 CUs per wallet addresses

10

/{address}/erc20

100

0

20

/{address}/tokens

100

0

20

/{address}/erc20/transfers

50

0

20

/erc20/{address}/transfers

50

0

20

/{address}/nft

50

0

20

/{address}/nft/transfers

50

0

20

/block/{block_number_or_hash}/nft/transfers

20

0

20

/erc20/metadata

10

0

20

/web3/version

1

0

1

/erc20/metadata/symbols

10

0

10

/erc20/{address}/price

50

+50 per token, if you add the query parameter include=percent_change

20

/erc20/prices

100

+50 per token, if you add the query parameter include=percent_change

20

/erc20/{address}/allowance

10

0

20

/nft/{address}

50

0

20

/nft/{address}/transfers

50

0

20

/nft/{address}/collections

50

0

20

/nft/{address}/owners

50

0

20

/nft/{address}/metadata

50

0

20

/nft/{address}/sync

50

0

50

/nft/{address}/{token_id}/metadata/resync

50

0

50

/nft/{address}/{token_id}

20

0

20

/nft/{address}/{token_id}/owners

50

0

20

/nft/{address}/{token_id}/transfers

20

0

20

/resolve/{domain}

10

0

10

/resolve/{address}/domain

10

0

10

/resolve/ens/{domain}

10

0

10

/resolve/{address}/reverse

10

0

10

/{pair_address}/reserves

10

0

10

/{address}/logs

20

0

20

/nft/transfers

50

0

20

/nft/{address}/trades

40

0

20

/nft/{address}/lowestprice

40

0

20

/wallets/{address}/chains

50

+50 CUs per chains

50

/market-data/erc20s/top-tokens

200

0

20

/market-data/erc20s/top-movers

200

0

20

/market-data/nfts/top-collections

200

0

20

/market-data/nfts/hottest-collections

200

0

20

/contracts-review

1

0

10

/info/endpointWeights

1

0

10

/wallets/{address}/stats

50

0

50

/nft/{address}/stats

50

0

50

/nft/{address}/{token_id}/stats

50

0

50

/erc20/{token_address}/owners

50

0

20

/erc20/{address}/stats

50

0

50

/block/{block_number_or_hash}/stats

50

0

50

/wallets/{address}/net-worth

500

+500 CUs per chains

50

/wallets/{address}/history

150

0

30

How to Check Compute Units?

To check the latest compute units of our API offerings, you can check our docs here or use endpointWeights to do so.

Your output for the API request will be as follows:

[
{
"endpoint": "getBlock",
"path": "/block/{block_number_or_hash}",
"price": 100,
"rateLimitCost": 20
},
{
"endpoint": "getContractEvents",
"path": "/{address}/events",
"price": 20,
"rateLimitCost": 20
},
{
"endpoint": "getTransactions",
"path": "/transaction/{transaction_hash}",
"price": 10,
"rateLimitCost": 10
}
]
Did this answer your question?