Individual KOL trades are noisy. A single wallet buying a token can mean many things: a speculative small position, a test buy, a gift from a project team, or a genuine high-conviction entry. Without context, one trade tells you very little.
When three or more tracked KOL wallets buy the same token in the same one-hour window, that is a different situation. The probability of independent coincidence drops. If the KOLs involved have strong track records and the net SOL flow is meaningful, you have a signal worth acting on.
The MadeOnSol coordination endpoint tracks this pattern across 1,000+ KOL wallets simultaneously. This post explains how it works, what the response fields mean, and three concrete trading strategies built around it.
What the Coordination Endpoint Detects
The /api/v1/kol/coordination endpoint monitors all tracked wallets and groups trades by token within a sliding time window. When the number of distinct KOLs trading a token meets or exceeds your min_kols threshold, that token appears in the response.
The endpoint accepts three parameters:
period — time window: 1h, 6h, 24h, or 7d
min_kols — minimum number of distinct KOLs required (range: 2-50)
limit — maximum number of results to return
A typical request:
GET /api/v1/kol/coordination?period=1h&min_kols=3&limit=20
Each result in the response contains:
{
"token_mint": "7xKpQ3r...",
"token_symbol": "MOONCAT",
"token_name": "Moon Cat",
"kol_count": 5,
"total_buys": 4,
"total_sells": 1,
"net_sol_flow": 8.4,
"signal": "accumulating",
"kols": [
{ "name": "KOL_A", "wallet": "WaLLeT..." },
{ "name": "KOL_B", "wallet": "WaLLeT..." }
]
}
signal is the most important field. "accumulating" means net buys dominate: more KOLs are entering positions than exiting, and/or the buy-side SOL volume exceeds the sell-side. "distributing" means the opposite: net sells dominate, KOLs are reducing exposure.
net_sol_flow is the total SOL in minus total SOL out across all tracked KOL trades in the window. A high positive number means significant capital is flowing into the token from smart money. A negative number means capital is flowing out.
kol_count is the number of distinct tracked wallets that traded the token in the window. Higher is more meaningful.
Why Coordination Matters
A single KOL buying a token is a weak signal. Consider the base rate: with 1,000+ tracked wallets making hundreds of trades per day, any individual token will have at least one KOL touching it by chance.
Three KOLs buying the same token in the same hour is less likely to be random coincidence, especially if those three wallets are geographically and socially distinct. Five KOLs with a combined net SOL inflow of 15 SOL is a meaningful signal.
There is also an information asymmetry argument. Many top-performing KOLs have access to alpha — private groups, early deployer relationships, insider knowledge of upcoming marketing campaigns. When multiple of them enter the same token independently, it suggests the underlying reason is real.
Historical context supports this: on Pump.fun, tokens with multi-KOL accumulation signals before the bonding curve fills have historically shown higher graduation rates than the base rate. This is not a guarantee, and it is not always predictive, but the correlation is real enough to trade around.
Strategy 1: Fresh Accumulation Snipe
This is the highest-velocity strategy. You are looking for tokens where KOL accumulation just started, before the broader market has noticed.
Parameters:
GET /api/v1/kol/coordination?period=1h&min_kols=3&limit=20
Filter criteria:
signal = "accumulating"
net_sol_flow > 3 (adjust based on your position sizing)
- Token is on Pump.fun and below 50% of bonding curve
Cross-reference step: Before entering, check the deployer tier via /api/v1/token/{mint}. Elite or good-tier deployers dramatically improve the odds. A coordination signal on a token from a deployer with a 90% graduation rate is a very different setup from the same signal on a token from a deployer who has never graduated a coin.
Entry: Market buy on Pump.fun or PumpSwap. The window is narrow — coordination signals on 1h periods can fade quickly.
Risk management: Set a hard stop at 30-40% below entry. KOL coordination can reverse fast. Some of what looks like coordination is actually a group dump: KOLs buy, tweet, drive retail in, then sell into the volume. The stop prevents a large loss when this happens.
Position sizing: Keep individual positions small relative to your bankroll. You are trading on a probabilistic edge, not a certainty.
Strategy 2: Momentum Confirmation
The fresh snipe is high-risk, high-reward. This strategy trades lower risk for a later but more confirmed entry.
Instead of entering on the 1h signal immediately, you wait to see whether the signal persists into the 6h window. If KOLs are still accumulating six hours later, the probability of a sustained move is higher. Quick pumps-and-dumps typically resolve within one to two hours. Persistent accumulation over six hours suggests more genuine demand.
Parameters:
- First, check
period=1h, note which tokens show accumulation with min_kols >= 3
- Two to four hours later, re-check those same tokens with
period=6h
- If they still appear with
signal = "accumulating" and net_sol_flow is growing, the signal is persistent
Entry: The token will have moved from your initial observation point, but persistent multi-KOL accumulation over six hours justifies a larger position than the speculative snipe.
Exit: Either a time-based exit (6-12 hours after entry) or when you see the signal flip. Re-check coordination at period=1h every hour after entry. When net_sol_flow starts declining or the signal approaches "distributing", begin reducing.
Why this works: The 6h period filters out the rapid pump-and-dump coordination pattern. If someone is staging a pump, it will have resolved (and the KOLs will have exited) before the 6h window closes. Genuine accumulation persists.
Strategy 3: Distribution Exit Signal
This strategy is not about entry — it is about exit. You are watching for the moment KOL sentiment flips from accumulation to distribution on tokens you already hold.
Monitoring setup:
For any token in your portfolio, poll coordination at period=1h every 10-15 minutes:
GET /api/v1/kol/coordination?period=1h&min_kols=2&limit=50
Keep a map of tokens you hold. For each token that appears in the coordination feed:
- If
signal = "accumulating" — hold, KOLs are still in
- If
signal = "distributing" — KOLs are exiting, consider reducing or closing
- If
net_sol_flow crosses zero from positive to negative — strongest exit signal
Why net_sol_flow crossing zero matters: A large positive net_sol_flow means KOLs have significant unrealized profit in the position. When the flow starts moving toward zero or goes negative, the KOLs with the best information about the token are reducing exposure. Following them out is often the right move.
Caution with perps: If you are short-selling based on distribution signals using perpetual DEXs (Drift, Zeta, etc.), the signal can be noisy. "distributing" can also mean KOLs are taking profit after a successful pump — not necessarily bearish. Context matters. Cross-reference with overall price action before entering a short.
Risk Management Considerations
Not all coordination is alpha. Some patterns to watch for:
Coordinated pump-and-dump: A group of wallets (some tracked as KOLs) coordinate to buy, tweet about, and sell a token. The kol_count looks high but the KOLs involved have low PnL track records. Check the leaderboard for the specific wallets listed in the kols array before trusting the signal.
False coordination from wash trading: Volume bots that operate across multiple wallets can create the appearance of multi-wallet accumulation. Check that the kols array contains named, tracked wallets (not unknowns) and that those wallets have historical PnL data.
The min_kols tradeoff: Lower thresholds (min_kols=2) generate more signals but more noise. Higher thresholds (min_kols=5) are less frequent but higher conviction. Start at min_kols=3 and adjust based on your backtest results.
Time-of-day effects: KOL activity peaks during US and EU trading hours. Coordination signals detected during low-liquidity hours (late night UTC) may be less meaningful because the baseline activity rate is lower.
Automating with the API
A basic polling loop in Python that alerts when new coordination signals appear:
import time
import requests
import os
API_KEY = os.environ["MADEONSOL_API_KEY"]
HEADERS = {"X-API-Key": API_KEY}
SEEN = set()
def poll_coordination():
url = "https://madeonsol.com/api/v1/kol/coordination"
params = {"period": "1h", "min_kols": 3, "limit": 20}
response = requests.get(url, headers=HEADERS, params=params)
data = response.json()
for item in data.get("results", []):
mint = item["token_mint"]
if mint not in SEEN and item["signal"] == "accumulating":
SEEN.add(mint)
print(
f"NEW SIGNAL: {item['token_symbol']} | "
f"KOLs: {item['kol_count']} | "
f"Net SOL: {item['net_sol_flow']:.1f} | "
f"Signal: {item['signal']}"
)
while True:
try:
poll_coordination()
except Exception as e:
print(f"Error: {e}")
time.sleep(300) # Poll every 5 minutes
This polls every five minutes and prints new coordination signals as they appear. The SEEN set prevents duplicate alerts for the same token. On the BASIC free tier (200 calls/day), polling every five minutes gives you 288 calls per day — just within the limit. Upgrade to PRO to poll more frequently or run additional queries in the same session.
To enrich each alert with deployer data, add a call to /api/v1/token/{mint} when a new signal appears. That costs one additional call per new signal, not per poll.
Where to Go From Here
Coordination signals are one input into a trading decision, not a complete strategy on their own. The most robust approach combines them with deployer intelligence:
- Use deployer alerts to find new launches from high-graduation-rate deployers
- Use coordination signals to confirm KOL interest on those launches
- Use the KOL leaderboard to vet the specific wallets driving the coordination signal
For building a complete automated system around these signals, see the KOL copy trading bot tutorial and the deployer tracker guide.
Get a free API key and review the full endpoint documentation at madeonsol.com/developer.