Following up on these. Can we get some help from the devs please?
it should be until next second
there is a new endpoint now for web3api that gives more detailed information (https://admin.moralis.io/web3Api): /info/endpointWeights
Can you please address all four questions? They are not complicated.
it should be until next second
Can we be more definitive? Is it until the next second or not?
there is a new endpoint now for web3api that gives more detailed information (https://admin.moralis.io/web3Api): /info/endpointWeights
Are these the throttle limit request weights? If not, what is the relevance?
an example of output:
{
"endpoint": "getBlock",
"path": "/block/{block_number_or_hash}",
"price": 1,
"rateLimitWeight": 1
},
Thank you for the sample output. I can see that from the endpoint.
Can we please address the questions?
I donât understand this question
Let me recap the questions, which have not been answered yet:
- What do the rate limit error headers mean? These docs only define a few of them. We need a full and precise reference.
- What are the âthrottle limitâ request weights? These docs show weights for âspeedy nodesâ and for âapiâ but not for the âthrottle limit.â
- If a throttle limit is hit, how long is service blocked? Until the next second? minute? day?
- If it is really possible to reach 3,500 requests per minute without hitting a âthrottle limitâ please show code that does so.
when the rateLimitWeight
is same as price
in the above example, then that is what will be counted for the throttle limit
if you make 20 requests with a rateLimitWeight
of 3 in a second then it will use 60 units from the throttle limit for that second.
if you make 20 requests with a
rateLimitWeight
of 3 in a second then it will use 60 units from the throttle limit for that second.
Does this mean that rateLimitWeight
is the request weight that counts toward the throttle limit? What about âhigh offsetâ requests? Those were a problem before, and had a very high weight that depended on the offset, but this is not shown in this endpoint.
when the
rateLimitWeight
is same asprice
in the above example, then that is what will be counted for the throttle limit
And what if they are not the same?
yes to the first question, for the second question, there are few cases where that value is different, for example in the case of resync metadata endpoint, where you can call it only once per second as it has a rateLimitWeight of 60
information about high offset is not present there, we are working on improving the backend infrastructure now and we donât have cursor implementation for every endpoint now
OK. So actually, none of the questions were answered yet. Let me recap them, and the non-answers we got so far:
- What do the rate limit error headers mean? These docs only define a few of them. We need a full and precise reference.
- What are the âthrottle limitâ request weights? These docs show weights for âspeedy nodesâ and for âapiâ but not for the âthrottle limit.â --> You referred to
rateLimitWeight
in the endpoint/info/endpointWeights
but then also said itâs missing some of the current weights. Is there a complete list we can trust somewhere? - If a throttle limit is hit, how long is service blocked? Until the next second? minute? day? --> You said âit should be until the next secondâ - is it actually until the next second?
- If it is really possible to reach 3,500 requests per minute without hitting a âthrottle limitâ please show code that does so.
Bottom line is: Moralis API and features are among the best in this space, but Rate Limits are obscure and overcomplicated. Lets be blunt ----- > rethink, redo.
Hi all
we will update our rate limit pricing and information
its too confusing
thanks for feedback
We changed now so everything is per second
You only have to care about 1 variable which is rate limit per second
Hope it helps!!
Thanks @ivan. This is a great step in the right direction!
But, are we still subject to the ârequest weightâ system for the per-second limit? If so, can we get a complete list of ârequest weightsâ that count toward this limit? @cryptokid mentioned an endpoint above, but then said itâs missing some weights. Like for high-offset.
now that high offset limit will be capped at 25 so you can make one request in a second
@cryptokid I assume you mean
- Yes, we are still subject to the ârequest weightâ system
- The weights are in the endpoint
/info/endpointWeights
- That endpoint now shows all request weights, including the weights of âhigh offsetâ requests and any other corner cases you guys charge extra for
- High offset requests now cost 25 units
Is this what you mean?
Iâll have to check how it is with high offset, in that case the rate was variable based in the offset value.
Right. We need a reference with all the request weights. Not just some.
there is this page:
https://docs.moralis.io/misc/rate-limit
that also contains a link to a forum post that says how the weight for high offset is computed
(If you are using NFT endpoints with offset - please read this as they have temporarily different special weights).