Tokens

Share of supply held now by all bundle wallets (PRO+)

ONE figure for a terminal (2026-10-15): bundled_pct_of_supply_now, the share of circulating supply held RIGHT NOW by every bundle wallet: the launch bundle (first-20 early buyers flagged as bundle) plus every wallet of a coordinated buy cluster in the window (/tokens/{mint}/bundles), each wallet counted once, read from chain balances (one getTokenAccountsByOwner per wallet, at most 60). Null when not every wallet could be read, never a partial sum. Cached 30 seconds per token and shared by every caller (as_of), so polling it is cheap. Before migration 501 is applied it counts the launch bundle only and says so (scope: launch_cohort_only).

get/tokens/{mint}/bundle-share

Request

  • Base URL: https://madeonsol.com/api/v1
  • URL: https://madeonsol.com/api/v1/tokens/{mint}/bundle-share
  • Auth: HTTP bearer

Path parameters

mintstring required

Query parameters

window'1h' | '6h' | '24h'

Which later clusters to include (the launch bundle is always included).

min_walletsinteger

Response

OK

mintstring
windowstring
min_walletsinteger
bundled_pct_of_supply_nownumber nullable

RATIO in [0, 1]: share of supply held now by every bundle wallet. Null unless the wallet set is known complete (clusters_complete true) AND every wallet was read (see held_now.incomplete_reason).

scope'launch_and_clusters' | 'launch_cohort_only'

launch_cohort_only = the cluster function was not available; only the launch bundle is counted.

clusters_status'ok' | 'unavailable' | 'timeout' | 'error'
clusters_completeboolean

True only when every coordinated buy cluster in the window was read: clusters_status ok AND fewer than clusters_limit clusters came back. False when the cluster list hit clusters_limit (older clusters in the window may be missing; held_now.incomplete_reason clusters_truncated) or the cluster function was not available (scope launch_cohort_only). bundled_pct_of_supply_now is null whenever this is false (2026-10-15).

clusters_limitinteger

Most clusters read per request (200). A response with this many clusters is treated as possibly truncated.

held_nowobject

Same shape as the bundle held_now of this chain. incomplete_reason adds clusters_truncated (the cluster list hit clusters_limit; balances are not read) next to cluster_wallets_truncated (a cluster has more wallets than the 50 listed).

as_ofstring date-time
notestring

Changes

No recorded changes to this operation across all 2 revisions of this API.