Skip to content

Get Spike Alerts

GET/v1/cryptodata/on-chain/exchange-flows/spike-alerts

Recent large transfers (≥ `min_amount` USD) to/from tracked CEX wallets. Useful for catching whale-sized deposits in real time. Each alert carries `amount` in TOKEN-NATIVE units (with `unit`) plus `amount_usd` converted at ingestion from the live price — the `min_amount` threshold applies to `amount_usd`, so meme-token unit counts can't masquerade as dollar spikes. Rows whose USD value can't be verified (no live price) are excluded. This is a LIVE feed of the last 500 large transfers (roughly the last 10h). The full history — every row, from 2026-10-08 — is the `exchange_flow_spikes` type on `/api/v1/backtesting/snapshots`; each snapshot is the batch of rows first seen in that 5-minute tick, so concatenating a range lists each transfer once.

Price

$0.01/ call

Edge cache

Off

Uptime 24h

100.00%

p95

228ms

Parameters

NameInTypeDescription
min_amount query number = 1000000 Minimum transfer size in USD (applies to amount_usd; default $1M)
limit query integer = 50
symbol query string Only this token (e.g. ETH, USDT)
exchange query string Only this exchange (e.g. binance)
chain query string Only this chain (eth, btc, sol, tron, bsc, base, arb, op)
direction query string inflow | outflow
source query string transfer (decoded Transfer event) | balance_delta (inferred from a wallet balance change)

Code

curl
# 1. No key, no payment: the gateway answers 402 with the price
curl -i "https://api.realtimeapi.ai/v1/cryptodata/on-chain/exchange-flows/spike-alerts"

# 2. Pay: retry with a signed x402 payment (any x402 client builds this header)
curl "https://api.realtimeapi.ai/v1/cryptodata/on-chain/exchange-flows/spike-alerts" -H "PAYMENT-SIGNATURE: $X402_PAYMENT"
TypeScript · @x402/fetch
// npm i @x402/fetch @x402/core @x402/evm viem
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = x402Client.fromConfig({ schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(privateKeyToAccount(PRIVATE_KEY)) }] });
const pay = wrapFetchWithPayment(fetch, client);
const data = await (await pay("https://api.realtimeapi.ai/v1/cryptodata/on-chain/exchange-flows/spike-alerts")).json();
console.log(data);
Python · x402
# pip install x402 eth-account requests
from eth_account import Account
from x402.clients.requests import x402_requests

session = x402_requests(Account.from_key(PRIVATE_KEY))
print(session.get("https://api.realtimeapi.ai/v1/cryptodata/on-chain/exchange-flows/spike-alerts").json())
With an API key
curl "https://api.realtimeapi.ai/v1/cryptodata/on-chain/exchange-flows/spike-alerts" -H "X-API-Key: $RTAPI_KEY"

Frequently asked questions

How do I get get spike alerts from CryptoDataAPI?

Send GET https://api.realtimeapi.ai/v1/cryptodata/on-chain/exchange-flows/spike-alerts. Pay $0.01 per request with x402, or send an X-API-Key header.

What does GET /on-chain/exchange-flows/spike-alerts cost?

$0.01 per successful request in USDC on Base. Failed requests are never charged.

Can I call this endpoint from an MCP client?

Yes. Connect any MCP client to the RealtimeAPI server and use call_feed with this endpoint's URL, or get_quote to check the price first.

Get a free key

1,000 calls a month across every feed. Who is setting it up?

No key needed at all: agents can pay per call in USDC with x402.