KOL trade feed (real-time on PRO+; 5-min delay on free)
Stream-of-consciousness feed of every buy/sell of at least 0.05 SOL (or $3.50 in USDC/USDT) from 2,000+ tracked Solana KOL wallets. Sub-3s latency from on-chain confirmation on PRO and up (and x402 pay-per-call); the free tier serves this feed on a 5-minute delay (response carries delay/as_of).
Request
- Base URL: https://madeonsol.com/api/v1
- URL: https://madeonsol.com/api/v1/kol/feed
- Auth: HTTP bearer
Query parameters
Only trades strictly newer than this ISO8601 time — the poll cursor. Feed back the response's next_since.
include=token embeds the /token/{mint} snapshot on each row (≤20 distinct mints per page). Runs the sibling handler in-process and embeds its body under its own key; a failing include lands in include_errors and never fails the request; counts as ONE call.
Cursor: return trades strictly older than this ISO timestamp. Use next_before from the previous response.
PREFERRED pagination (audit F09 follow-up): the next_cursor from a previous page — an opaque strict (traded_at, id) keyset, so paging never repeats or skips rows that share a timestamp and progresses with limit=1 through runs of identical timestamps. Malformed or tampered → 400. Cannot be combined with before= (400); before= stays supported as the legacy bound.
Filter by KOL wallet address
Min SOL size per trade
Max token age (min) at trade time
Drop sell-side trades
Min 7d winrate of the buying KOL
Filter by auto-classified trader style
v1.6: lower bound on market_cap_usd_at_trade. Trades with unknown MC drop out when set.
v1.6: upper bound on market_cap_usd_at_trade.
Response
OK. Response includes next_before (ISO timestamp of the last row — pass to the before param on the next call). Every row carries token_image_url and launchpad (pumpfun/launchlab/bags, null for non-launchpad mints).
Changes
No recorded changes to this operation across all 1 revision of this API.