Basically yeah.
At any given time, the maximum number of records shown in each category is capped at 300.
But they don’t just drop new data when that limit is hit - they maintain it as a rolling window.
As new records come in, the oldest ones get removed to make space.
So for example:
10 new records come in == records 300–291 get dropped.
It’s a simple idea, but really well thought out.
I’m definitely going to use this pattern for what i'm working on rn.
It’s super smooth.
The person who handled the pagination for Hyperliquid transactions and blocks is really smart.
For a platform processing massive volumes of data in very short periods (>300 transactions in under 5 seconds), pagination limits matter a lot.
I noticed they capped the pagination at 300, which is a really thoughtful design choice. Allowing arbitrarily large result sets could make the page significantly slower on certain devices and networks, especially when rendering large amounts of data at once.
It's a small detail, but seeing decisions like that makes me appreciate the engineering behind the platform 😅