For bots and AI agents
Atomik Signals API
The same data this site shows, as JSON, plus the signals feed of our paper lanes and its 7-day history. Plug it into a trading bot, a notebook or an AI agent. Every signal is an experimental paper signal and is graded in public on the tests page, winners and losers both counted.
Free tier
Get a free API key
We email the key to you, so it always belongs to an inbox you control. It is never shown on this page.
Quick start
Send your key as a bearer token. Everything is a GET and returns JSON.
curl -H "Authorization: Bearer $ATOMIK_API_KEY" https://atomikl.com/api/v1/signals # every signal after a time (epoch ms), oldest first curl -H "Authorization: Bearer $ATOMIK_API_KEY" "https://atomikl.com/api/v1/signals?since=1792890000000&limit=500" # funding for BTC and ETH on Hyperliquid curl -H "Authorization: Bearer $ATOMIK_API_KEY" "https://atomikl.com/api/v1/funding?coin=BTC,ETH&venue=hl"
The machine-readable index is at https://atomikl.com/api/v1 (no key needed).
Endpoints
| GET https://atomikl.com/api/v1 | Returns |
|---|---|
| /signals | Latest signals per lane, newest first, with each lane's status (collecting data, or its graded result). Params: lane, limit. |
| /signals?since=<ms> | Every signal after a time, oldest first, from the last 7 days. limit default 200, max 1000; next_since gives the next page. |
| /signals?id=<id> | One signal and its lane. |
| /launches | pump.fun launches per hour and the last launches with the creator-history flag of paper test #1. Params: flag_only=1, limit. |
| /funding | Current and predicted funding per coin and venue, annualized percent. Params: coin (BTC or BTC,ETH), venue (hl, okx, kraken, binance, bybit), limit. |
| /market | BTC, ETH and SOL perp prices on Hyperliquid, OKX and Kraken Futures, with 24 h change. |
| /papers | Every paper test: its rules, written before it started, its phase and its results once it has its sample. |
| /tg-digest | Telegram caller digest: public calls from caller channels, graded on paper with costs. |
| /health | Publisher health: which files are fresh. No key needed. |
The signal format
One object per signal, schema 1. A signal is never changed after it is published.
{
"schema": 1,
"id": "<lane>-<ts>-<8 hex>",
"lane": "pt1_creator_flag",
"rule_version": "...",
"ts": 1792895969682, // epoch ms UTC
"asset": { "chain": "solana", "symbol": "...", "mint": "..." }, // perps: { "chain": "perp", "symbol": "BTC", "venue": "hl" }
"kind": "creator_flag",
"side": null, // long, short, flat or null
"ref_price": null,
"horizon_s": 3600,
"confidence": null, // always null in v1
"note": "plain text"
}| Lane | Kinds and meaning |
|---|---|
| pt1_creator_flag | creator_flag: the creator's earlier launches scored badly under the frozen rule, paper test #1 skips the launch. creator_clear: scored and not flagged. |
| a2_exit_now | exit_alert: early holders of a pump.fun token are selling into a pump. Paper lane, collecting data. |
| c1_funding_carry | carry_open and carry_close: a cross-venue funding carry on BTC, ETH or SOL perps. Paper lane, collecting data. |
| d1_btc_regime | regime: a BTC market regime read. Paper lane, in preparation. |
| s1_shred_entry | enter_long: a buy call on a fresh pump.fun or PumpSwap pool; the note carries the exit plan (take profit, stop, trailing stop, sell-by time). Paper lane, collecting data. |
| s2_shred_rug_exit | exit_alert: the creator of a pump.fun token sold, liquidity was pulled or the rug detector fired. Paper lane, collecting data. |
Rate limits and errors
- Free tier: 60 requests per minute per key. Every response carries x-ratelimit-limit, x-ratelimit-remaining and x-ratelimit-reset.
- Over the limit: HTTP 429 with retry-after (seconds). The files change once a minute, so polling every 30 to 60 s misses nothing.
- 401: missing or invalid key. 404: unknown resource, unknown signal id, or a feed not published yet. 503: the data source is not readable right now.
- Pro is not open yet. Keys are free; they expire after a year and can be revoked if abused.
For AI agents: the MCP server
atomik-signals-mcp gives Claude, Cursor or any MCP client these endpoints as tools: get_signals, get_launches, get_funding, get_market, get_papers, get_tg_digest and explain_signal. It runs on your machine with your key.
pip install mcp claude mcp add atomik-signals -s local -e ATOMIK_API_KEY=atk_your_key -- python /path/to/atomik-signals-mcp/server.py
Honest data notes
- The signals are experimental. Each lane has rules written before it starts and shows a graded result only after it has its sample. Until then its status says collecting data.
- We follow every signal ourselves with a paper bot that reads only this API, like any customer, and grade it with realistic delay and costs.
- Every file carries generated_at and data_as_of (epoch ms UTC) and ok. When a source is not readable, ok is false and the data is empty: an old number is never shown as live.
- The Binance and Bybit funding columns are the predictions Hyperliquid publishes for those venues, not read from them.
- Paper results use no real money. Not financial advice. Crypto is high risk.