Weights and Rate Limits

Request weights

All Moralis plans have generous limits on the amount of requests you can make per month. How many included requests you have depends on the plan you have, check the pricing page for more details.

However some requests are more expensive than other. By giving some heavy requests higher weight we ensure that you ONLY pay for what you use and not a cent more - period!

This way you get cheap requests for most use-cases while we can protect our systems from abuse by weighing the computationally expensive endpoints.

What is a compute unit (CU)?

Compute unit is a measure for the requests needed to query computationally expensive API endpoints. Each request weighs a certain amount of compute units.

See the tables below for details about API Endpoints that are weighted.

Solana API Endpoints

PathWeight
all Solana API endpoints1 CUs

Auth API Endpoints

PathWeight
all Auth API endpoints0 CUs

EVM and NFT API Endpoints

PathWeight
/info/endpointWeights0 CUs
/{address}1 CUs
/{address}/balance1 CUs
/erc20/metadata1 CUs
/erc20/metadata/symbols1 CUs
/erc20/{address}/allowance1 CUs
/resolve/{domain}1 CUs
/{pair_address}/reserves1 CUs
/resolve/{address}/reverse1 CUs
/web3/version1 CUs
/{address}/events2 CUs
/{address}/erc20/transfers2 CUs
/erc20/{address}/transfers2 CUs
/block/{block_number_or_hash}/nft/transfers2 CUs
/nft/{address}/{token_id}2 CUs
/nft/{address}/{token_id}/transfers2 CUs
/{address}/logs2 CUs
/{address}/function2 CUs
/{address}2 CUs
/erc20/{address}/price3 CUs
/nft/{address}/trades4 CUs
/nft/{address}/lowestprice4 CUs
/{address}/erc205 CUs
/block/{block_number_or_hash}5 CUs
/nft/search5 CUs
/{address}/nft5 CUs
/{address}/nft/transfers5 CUs
/{address}/nft/{token_address}5 CUs
/nft/{address}5 CUs
/nft/{address}/transfers5 CUs
/nft/{address}/owners5 CUs
/nft/{address}/metadata5 CUs
/nft/{address}/sync5 CUs
/nft/{address}/{token_id}/metadata/resync5 CUs
/nft/transfers5 CUs
/nft/{address}/{token_id}/owners20 CUs

Note: for exact rate limit values the endpoint https://deep-index.moralis.io/api/v2/info/endpointWeights can be used.

Note: /nft/{address}/{token_id}/metadata/resync has a billing cost of 5 and a rate limit cost of 25, meaning that you can call it only once per second with a free plan and twice a second with a Pro plan

example of output:

[
  {
    "endpoint": "getBlock",
    "path": "/block/{block_number_or_hash}",
    "price": 1
  },
  {
    "endpoint": "getContractEvents",
    "path": "/{address}/events",
    "price": 2
  },
  {
    "endpoint": "getTransactions",
    "path": "/{address}",
    "price": 1
  },
 ...
  {
    "endpoint": "endpointWeights",
    "path": "/info/endpointWeights",
    "price": 0
  }
]