Holder set and concentration for a Robinhood Chain token (PRO+)
Holder balances and concentration metrics. Not trade-derived — balances are folded from ERC-20 Transfer logs, which our node retains in full, so they are exact rather than estimated. The Solana counterpart is GET /tokens/{mint}/holders — a live on-chain census via mint-scoped getProgramAccounts (shipped 2026-08-16).
Every token carries a reconciliation. verified is true only when the reconstructed sum(balance) equals on-chain totalSupply() at a pinned block. A token that fails, or has not been swept yet, returns verified: false with a stated unverified_reason — never as though it were exact.
Concentration excludes pools and burn addresses. The largest holder of a token is normally its own liquidity pool, so counting it would make top1_share meaningless; pools and burns are reported separately as pool_held_pct / burned_pct and excluded from the circulating denominator. Balances are raw uint256 and are returned as strings to preserve precision. Holder addresses may be ERC-4337 smart accounts, so holder_count is not a headcount of people.
Holder growth (2026-08-17). holder_growth.{1h,24h,7d} reports entered (first Transfer at-or-after the window's cutoff_block), entered_still_holding, exited (pre-existing holders whose last movement in the window left them at zero) and net ≈ Δ holder_count — possible because the fold keeps first_seen_block/last_block and retains zero-balance rows. The Solana census has no history and cannot answer this.
Request
- Base URL: https://madeonsol.com/api/v1
- URL: https://madeonsol.com/api/v1/rhc/tokens/{address}/holders
- Auth: HTTP bearer
Path parameters
Token address (0x, 40 hex).
Query parameters
Capped at 50 on PRO, 200 on ULTRA/BUSINESS.
Position paging, capped at 10,000 (OFFSET is O(n)). For a full walk use after.
Keyset cursor (2026-09-05): pass the previous page's next_after unchanged to continue past the offset cap. Same order (balance DESC, holder ASC); supersedes offset. next_after is null on the last page.
Opt in (TR-07) to per-holder wallet_flags + top-level wallet_flags_meta. Robinhood Chain: current holder page only; holders may be contracts or ERC-4337 accounts. Flags come from MadeOnSol's indexed wallet populations: a false/null with label_coverage.evaluated=false means insufficient evidence, NOT a verified negative. Any value other than true/false is a 400 (invalid_include_wallet_flags).
Response
OK. Check verified before relying on the numbers.
Changes
No recorded changes to this operation across all 1 revision of this API.