Crypto whale flow API for Base and Solana tokens

One call returns the last 24 hours of large DEX trades for any Base or Solana token: whale buys vs sells, net flow, an accumulation or distribution signal, hourly flow, the largest trades and the wallets accumulating or dumping.

A price move means more when you know who is behind it. GET /crypto/whale-flow pulls the large DEX trades for a Base or Solana token from its top 3 pools and tells you, in one JSON object for $0.02, whether big wallets are net buying or net selling, which wallets they are and when it happened. Call it before you chase a pump, before you add to a position, or as a check after the token safety verdict.

What it returns

Params: token (Base 0x address or Solana mint), chain (base or solana, detected if omitted), hours (1-24, default 24) and minUsd (the whale threshold, default scaled to the token's liquidity and volume).

Example

GET /crypto/whale-flow?token=DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263

Trimmed real response for BONK on Nov 13, 2026:

{
  "chain": "solana",
  "token": { "symbol": "Bonk", "priceUsd": 0.0000027 },
  "window": { "hours": 24, "minTradeUsd": 2100, "autoMin": true },
  "summary": { "whaleBuys": 2, "whaleSells": 2, "whaleBuyUsd": 18232, "whaleSellUsd": 16078,
    "netFlowUsd": 2154, "netFlowPctOfLiquidity": 0.21, "uniqueWhaleWallets": 3, "signal": "neutral" },
  "largestTrades": [{ "side": "buy", "usd": 10869, "wallet": "8otZDUSp…7Zb3", "dex": "orca wp" }],
  "market": { "volume24hUsd": 563243, "buyVolume24hUsd": 377445, "sellVolume24hUsd": 340768 },
  "exchangeFlows": { "available": false }
}

Pay per call on Base or Solana

An unpaid request returns HTTP 402 offering USDC on Base and on Solana. A bad address, or a token with no DEX pool, gets a 400 or 422 before payment, so you are never charged for it. The route is also a tool called whale_flow on the remote MCP server.

Limits, stated plainly

It reads DEX trades only, from free public data (DexScreener for pools, GeckoTerminal for trades, Jupiter for Solana volume). It does not cover centralized-exchange deposits and withdrawals: there is no free, reliable list of exchange wallets on Base or Solana, so exchangeFlows says so instead of guessing. Each pool returns at most 300 large trades, so on very busy tokens the oldest part of the window can be cut off; the response flags this. Large trades can be bots, arbitrage or market makers. Not investment advice.

Try it free

Get a free API key (100 calls a month, no card), then pass it in the x-api-key header. This route uses 1 call of the monthly quota.

curl -X POST https://signals.incomefather.com/billing/free \
  -H 'content-type: application/json' -d '{"email":"you@example.com"}'

curl -H "x-api-key: $TRADING_SIGNALS_API_KEY" \
  "https://signals.incomefather.com/crypto/whale-flow?token=DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263"

Agents that hold a wallet can skip the key entirely and pay per call over x402 (USDC on Base or Solana) or Stripe MPP (USDC on Tempo). See x402 pay-per-call market data. Copy-paste code for curl, JavaScript, Python, MCP (Claude Desktop, Cursor, Cline), LangChain and the OpenAI Agents SDK is in gdietsch/trading-signals-examples.

More guides