POST /v1/discovery returns all three columns in one request.
1. Request the columns
sortBy, order, limit and filters. Every filter and sort field is documented in Filtering and sorting.
The graduating and graduated columns also apply minimums of their own, such as 10 holders. Your filters can raise these minimums but not lower them.
2. Render the response
deltas is the whole ranked list. Draw the items in rank order. data is the full token object, so each card can show:
3. Keep it fresh
Poll the endpoint on an interval. Every 2 to 5 seconds suits a fast-movingnewPairs column, and your request budget leaves plenty of room.
When you redraw, match cards by chain + address, so a token that moves between ranks animates instead of flickering. A token that has left a column’s ranked list is gone from that column; a token that graduated shows up in graduated.
Now and then a card’s windowed stats read zero for a response while the token’s full record catches up. Keep the previous values for a card when that happens, and the next refresh corrects it.
Filter presets
Tune the numbers to your users; these are starting points, not recommendations.
Several chains
Send more than one slug inchains, for example ["solana", "base", "bsc"]. Each column then ranks tokens from every listed chain as one set. Use data.chain to badge each card.