Skip to main content
Learn how to show one of the most telling numbers about a token, how much of its supply sits in tracked smart hands. You will read the percent each wallet holds, add them up for a combined total, and split that total by wallet type. It is one REST call and a little math, in TypeScript, with no CSS.

What you will build

A supply concentration view with three parts, a headline total (the combined percent of supply held by tracked wallets), a breakdown by wallet type (KOL, Smart Money, Whale), and a per wallet list sorted by how much each holds.

The endpoint

One call returns every tracked holder of a token, each with the percent of supply they hold.

GET /v1/tokens/holders

Every tracked holder of a token, each with a holdings.supply_pct field, plus a total_holders count by type.

Step 1, type the response

You only need a few fields, the per holder supply_pct inside holdings, the wallet type, and the total_holders counts.
src/types.ts

Step 2, fetch the holders

Give it a chain and a mint. Optionally pass a type to restrict to one wallet class, or leave it off to get all of them. A higher limit returns more holders.
src/holders.ts

Step 3, do the math

This is the whole idea. Sum supply_pct for the combined total, and sum it per wallet type for the breakdown. One pass over the holders gives you both.
src/supply.ts

Step 4, render it

The headline is the combined total. The breakdown shows how it splits across wallet types. The list shows who holds what. No CSS here, style it later.
src/render.ts

Step 5, wire it together

src/main.ts
That is the whole feature. One call, one pass of math, three views.

Making it live

The holders endpoint is a snapshot. If you want the supply numbers to move in real time, the holder stream carries the same supply_pct per holder on every update. Subscribe to it, recompute the breakdown when a holder changes, and re render. The math in step 3 does not change, only where the holders come from. See the holder table cookbook for the streaming setup.

Lessons worth knowing

Two things worth keeping in mind. supply_pct is current, supply_pct_peak is the high. Show the current percent for how much a wallet holds now. The peak is useful to flag a wallet that has trimmed, if peak is much higher than current, they have been selling. The total is a sum, not a unique count. Adding supply_pct across holders gives the share of supply in tracked hands. It is a concentration signal, the higher it is, the more of the token sits with wallets you follow.

Reference

GET /v1/tokens/holders

Every tracked holder with supply_pct, plus total_holders by wallet type.