DOCS
Everything about Terminal 7 in one place: the data API's reference for bot and agent builders, and plain-words guides to the site's scores, the brain, the forum, tips and sign-in.
DATA API
QUICKSTART
Terminal 7's data for stonkfun coins on Solana: which signal families fire on which coin and when, the coins the most signals agree on (the TOP 10), and our own scores and payout numbers for each coin. REST, an OpenAPI file and an MCP server. Data, not financial advice.
- Go to terminal7.xyz/api, connect your wallet (a signed message, not a transaction) and press MAKE A KEY. The key is shown once: copy it.
- Call the API with it:
curl -H "Authorization: Bearer t7_YOUR_KEY" https://api.terminal7.xyz/v1/top
Base URL: https://api.terminal7.xyz/v1 (the same API also answers at https://terminal7.xyz/v1). Every answer is JSON. Times are unix seconds (UTC). Coins are named by their mint address; s fields carry the ticker when we know it.
KEYS AND AUTH
Send your key on every request, in the header (preferred) or as a query parameter:
Authorization: Bearer t7_0123456789abcdef0123456789abcdef01234567
https://api.terminal7.xyz/v1/top?key=t7_0123...
- A key is
t7_followed by 40 hex characters. We keep only a hash of it, so we can't show it again: lost it, make a new one. - One key per wallet. REPLACE KEY makes a new one and switches the old one off at once (a bot still using it gets
401). - Keep it out of public code and front-end pages. Anyone holding it uses your plan's requests.
PLANS AND LIMITS
| PLAN | PRICE / 30 DAYS | DATA | REQUESTS A DAY | SIGNAL HISTORY | LIVE BRAIN ON THE SITE | EXTRAS |
|---|---|---|---|---|---|---|
| FREE | $0 | 15 minutes behind | 1,000 (and 30 a minute) | 6 hours | No | Every call, MCP, 100 coins a page |
| BUILDER | $29 | Real time | 25,000 | 24 hours | Yes | Every call, MCP, 500 coins a page |
| BOT | $99 | Real time | 150,000 | 30 days | Yes | + push alerts |
| PRO | $299 | Real time | 500,000 | 30 days | Yes | + bulk export; coming soon: the fast lane (25 seats) |
- Daily counts reset at 00:00 UTC. Every data answer carries
tier,delay(seconds held back: 900 on free, 0 on paid) andleft(requests left today). - Paid in USDC from your wallet on /api. 30 days a purchase; buying the same plan again adds 30 days.
- Hold $MARINE for money off every plan: a 7-day average of $20 = 10% off, $1,000 = 20% off.
GET /v1/top
The coins the most signal families agree on now: Terminal 7's TOP 10, best first. Only coins that pass a basic health check (size, liquidity, holders, real buyers, no dump or bundle flags) can make the list.
curl -H "Authorization: Bearer t7_YOUR_KEY" https://api.terminal7.xyz/v1/top
RESPONSE (EXAMPLE)
{
"tier": "free", "delay": 900, "left": 998,
"top": [
{ "m": "F8Sc8HoZvJcMrTY6vBsetTqGPv6XQmM2XgVAZo1sSTNK", "s": "MARINE",
"f": ["holders", "flow", "scores"],
"mc": 412000, "h24": 6.4, "hd": 2310, "liq": 61000, "w": 3 }
]
}
| FIELD | MEANING |
|---|---|
m | The coin's mint address |
s | Ticker (may be null) |
f | The signal families agreeing on it |
mc | Market cap, USD |
h24 | 24 h price change, % |
hd | Holders |
liq | Liquidity, USD |
w | How many of the T7 bot's paper wallets hold it |
An empty list means no snapshot is old enough yet for a free key's delay (rare; try again in a few minutes).
GET /v1/coin/{mint}
Everything we score on one coin. A part we have nothing for is null (a coin that pays no rewards has no payouts or compound; a coin off the launch radar has no radar).
curl -H "Authorization: Bearer t7_YOUR_KEY" \
https://api.terminal7.xyz/v1/coin/F8Sc8HoZvJcMrTY6vBsetTqGPv6XQmM2XgVAZo1sSTNK
RESPONSE (EXAMPLE)
{
"tier": "builder", "delay": 0, "left": 24871,
"mint": "F8Sc8HoZvJcMrTY6vBsetTqGPv6XQmM2XgVAZo1sSTNK", "symbol": "MARINE",
"real": { "score": 74, "call": "REAL" },
"compound": { "score": 48, "d7": 55 },
"conviction": null,
"payouts": { "boardRank": 12, "apy7d": 86.2, "apy24h": 91.0, "apr7d": 62.1,
"paidUsd": 48210, "payouts": 1520, "lastPayout": "2026-10-21T14:02:11Z",
"minHoldUsd": 20, "quote": "LINK" },
"market": { "mcap": 412000, "vol24": 38000, "chg24": 6.4, "holders": 2310 },
"trend": { "holders24hPct": 1.8, "organicBuyers24h": 64, "price1hPct": 0.9, "price24hPct": 6.4 },
"life": { "ageDays": 31.2, "athMcap": 1250000, "athDaysAgo": 18.5, "offAthPct": 67,
"floorMcapSinceAth": 290000, "pumps": 2, "activeShare48h": 0.96 },
"radar": null,
"top10": { "rank": 4, "families": ["holders", "flow", "scores"] },
"recent": [ { "t": 1792591200, "f": "flow", "m": "F8Sc8H...", "s": "MARINE", "a": "signal" } ]
}
| FIELD | MEANING |
|---|---|
real | The REAL score (0-100) and its call: REAL, WATCH, FARM or THIN. See the scores |
compound | Reward coins: how much of their rewards the biggest holders buy back in, since launch (score) and over 7 days (d7) |
conviction | Coins that pay no rewards: are the biggest holders adding, holding or selling (30 days) |
payouts | From the Stonk Board: rank, APY (7 d / 24 h), APR (7 d), USD paid to holders, number of payouts, the last one, the minimum holding to be paid and the reward token |
market | Market cap, 24 h volume, 24 h change %, holders |
trend | Holders' change over 24 h (%), real (organic) buyers in 24 h, price change over 1 h and 24 h. For coins Terminal 7 read in the last 48 hours, else null |
life | The coin's whole life from launch: age in days, its all-time-high market cap and how long ago, how far under it now (%), the lowest market cap since that high, how many times it pumped and dumped, and the share of the last 48 hours it traded. Null until read |
radar | For recent launches: the launch radar's score and call |
top10 | Its rank in the TOP 10 and the families behind it, else null |
recent | Its last 20 events |
GET /v1/signals
The event feed: each time a signal family fires on a coin, and each paper buy and sell by the T7 bot, oldest first. Poll it with since set to the newest t you have, or page back through the history with before.
| PARAMETER | MEANING |
|---|---|
mint | Only this coin |
since | Unix seconds: only events after it |
before | Unix seconds: only events before it (paging back through the history) |
limit | At most this many, the newest ones in the window (default 200, max 500) |
curl -H "Authorization: Bearer t7_YOUR_KEY" \
"https://api.terminal7.xyz/v1/signals?since=1792590000&limit=100"
RESPONSE (EXAMPLE)
{
"tier": "builder", "delay": 0, "left": 24870,
"events": [
{ "t": 1792590412, "f": "radar", "m": "7xKX...pump", "s": "NEWCOIN", "a": "signal" },
{ "t": 1792590530, "f": "chart", "m": "7xKX...pump", "s": "NEWCOIN", "a": "paper_buy" },
{ "t": 1792591200, "f": "holders", "m": "F8Sc8H...", "s": "MARINE", "a": "signal" }
]
}
| FIELD | MEANING |
|---|---|
t | When, unix seconds |
f | The signal family |
m, s | Mint and ticker |
a | signal (a family fired), paper_buy or paper_sell (the T7 bot's paper trades, no real money) |
Repeats of the same family, coin and kind within 2 minutes come back as one event. The answer's from is how far back your plan reaches: free 6 hours, Builder 24 hours, Bot and Pro 30 days. For events the moment they happen, use push alerts.
GET /v1/launches
New stonkfun launches from the launch radar, newest first, with its score and call, and the newest pairs (quote assets) stonkfun listed.
| PARAMETER | MEANING |
|---|---|
call | Only this call: REAL, WATCH, THIN, FARM ... |
min_score | Score at least this |
limit | Default 50, max 200 |
curl -H "Authorization: Bearer t7_YOUR_KEY" "https://api.terminal7.xyz/v1/launches?call=REAL&limit=20"
RESPONSE (EXAMPLE)
{
"tier": "builder", "delay": 0, "left": 24860, "at": 1792636271,
"launches": [
{ "mint": "7xKX...pump", "symbol": "NEWCOIN", "name": "New Coin", "createdAt": 1792630000, "pair": "SOL",
"rewards": true, "mcap": 48200, "peakMcap": 61000, "holders": 512, "liquidity": 14100, "paidToHoldersUsd": 220,
"organicScore": 71, "linkedWalletsPct": 3.1, "score": 78, "call": "REAL", "flags": [] }
],
"newPairs": [ { "mint": "6omb...", "symbol": "WECX", "name": "wECX", "listedAt": 1792620848 } ]
}
On the free plan a launch shows up 15 minutes after it was created.
GET /v1/mood
The meme market's mood for stonkfun coins, 0-100, read hourly: how many coins are up, the median coin's move, volume and real buying against their own week, launches, SOL, and the crypto Fear and Greed index at half weight. Under 40 is cold, 60 and over hot.
{
"tier": "builder", "delay": 0, "left": 24859,
"mood": { "score": 47.3, "band": "mid", "at": 1792636924,
"parts": { "breadth": 40.1, "median": 45, "volume": 52, "real": 50, "launches": 49, "sol": 51, "fng": 60 },
"medianCoin24hPct": -2.1, "coins": 512, "cryptoFearGreed": 60,
"history": [ [1792633324, 46.0], [1792636924, 47.3] ] }
}
GET /v1/coins
Every coin Terminal 7 scores in one list, biggest market cap first: for screeners and dashboards. A page a call: 100 coins on free, 500 on paid plans. Follow next until it's null.
curl -H "Authorization: Bearer t7_YOUR_KEY" "https://api.terminal7.xyz/v1/coins?offset=0&limit=500"
{
"tier": "builder", "delay": 0, "left": 24858, "total": 1612, "offset": 0, "next": 500,
"coins": [
{ "mint": "HcRL...", "symbol": "ZCAT", "mcap": 50770191, "holders": 28572,
"real": { "score": 61, "call": "WATCH" }, "compound": 47.1, "conviction": null, "apy7d": 29.0, "boardRank": 2 }
]
}
GET /v1/export PRO
Everything at once, refreshed hourly: every coin (as /v1/coins), the launch list, the last 24 hours of signals and the mood. One request.
{ "at": 1792636981, "coins": [ ... ], "launches": [ ... ], "signals24h": [ ... ], "mood": { ... } }
PUSH ALERTS (WEBHOOKS) BOT, PRO
Instead of polling, Terminal 7 sends new events to your own https address as they happen. Up to 3 webhooks per account, each with an optional filter.
curl -X POST -H "Authorization: Bearer t7_YOUR_KEY" -H "content-type: application/json" \
-d '{"url": "https://your.bot/t7", "families": ["radar", "flow"], "kinds": ["signal"]}' \
https://api.terminal7.xyz/v1/webhooks
| FIELD | MEANING |
|---|---|
url | Your https address (a public host name) |
mints | Optional: only these coins (up to 100) |
families | Optional: only these families |
kinds | Optional: signal, paper_buy, paper_sell |
The answer carries the webhook's id and a secret, shown once. Each delivery is a POST of {"type": "events", "events": [...], "hook": "wh_...", "sent": 1792636966} (the same events as /v1/signals) with two headers: x-t7-time and x-t7-signature = sha256= + the hex HMAC-SHA256 of time + "." + body with your secret. Check it before trusting a delivery:
import hmac, hashlib
def ok(secret, time, body, sig):
want = "sha256=" + hmac.new(secret.encode(), (time + "." + body).encode(), hashlib.sha256).hexdigest()
return hmac.compare_digest(want, sig)
GET /v1/webhookslists yours (last sent, last error);DELETE /v1/webhooks/{id}removes one;POST /v1/webhooks/{id}/testsends a test event.- Answer with any 2xx within 5 seconds. After 50 failed deliveries in a row a webhook is switched off (a successful test turns it back on).
- If the plan runs out, deliveries pause and start again when it's renewed.
ORDER BOOKS AND CLOBR SCORES
CLOBr's order-book data (depth, support and resistance levels, its scores) isn't in this API: it's CLOBr's to sell, and we never ask for your CLOBr key. Call CLOBr's own API with your own key: clobr.io/premium (our referral link). The two work side by side: Terminal 7 says which coins are worth a look, CLOBr shows the book.
GET /v1/me
Your key's plan and usage.
{ "tier": "builder", "until": 1795180000, "limit": 25000, "today": 129, "delay": 0 }
until is when a paid plan ends (unix seconds; null on free); today counts this request too.
MCP SERVER
The same data as tools for Claude, Cursor, Grok and any agent that speaks MCP. Remote server, streamable HTTP:
{
"mcpServers": {
"terminal7": {
"url": "https://api.terminal7.xyz/v1/mcp",
"headers": { "Authorization": "Bearer t7_YOUR_KEY" }
}
}
}
| TOOL | ARGUMENTS | SAME AS |
|---|---|---|
get_top | none | GET /v1/top |
get_coin | mint (required) | GET /v1/coin/{mint} |
get_signals | mint, since, limit | GET /v1/signals |
get_launches | call, min_score, limit | GET /v1/launches |
get_mood | none | GET /v1/mood |
get_coins | offset, limit | GET /v1/coins |
get_usage | none | GET /v1/me |
- Each tool call counts as one request. The handshake and the tool list answer without a key (so directories can list the server); calling a tool needs one.
- One JSON-RPC request per POST (no batches). Also listed in the official MCP Registry as
io.github.LinkMarine777/terminal7. - Grok: /api's CONNECT YOUR BOT has a ready Python tool-calling loop for xAI's API, with your key filled in.
ERRORS
Errors come back as {"error": "..."} with an HTTP status (MCP: inside the JSON-RPC answer).
| STATUS | WHY | WHAT TO DO |
|---|---|---|
400 | A mint that isn't a Solana address | Check the address |
401 | No key, an unknown key, or one you replaced | Send Authorization: Bearer t7_...; make a new key if lost |
404 | No such call | See the calls above |
405 | A GET to /v1/mcp | MCP is POST only |
429 | Free: over 30 a minute; any plan: over the day's limit | Back off a minute, or wait for 00:00 UTC / upgrade |
SIGNAL FAMILIES
Every signal belongs to one family. The API names families, never the signals or the rules inside them.
| FAMILY | WHAT IT MEANS |
|---|---|
radar | Launch radar: new launches worth a look |
holders | Holders keeping and adding |
chart | Chart setups |
scores | Buying pressure and organic interest |
kols | Known traders holding |
flow | Money flow: whales and big buyers moving in or rotating, busy pools |
rising | Payouts and ranks going up |
combo | Several of these at once |
OPENAPI AND LLMS.TXT
- api.terminal7.xyz/v1/openapi.json: the OpenAPI 3.1 file, for tool definitions (Grok, OpenAI-style function calling, code generators).
- terminal7.xyz/llms.txt: the whole API in plain text, for AI coding tools building a bot with you.
GET /v1(no key): the plans and the links above.
For prices, pools and swaps use Jupiter; for CLOBr's scores, CLOBr's own API with your own CLOBr key. Terminal 7 is the layer on top that says which coins are worth a look.
THE RULES
- One key per account. Don't share it, resell it or rebroadcast the live feed; posting it delayed with credit to Terminal 7 is fine. Keys used from many places are flagged and can be switched off.
- Data, not financial advice. The data can be wrong or late.
- Terminal 7's own bot gets the signals no sooner than paid keys do.
- The full terms: terminal7.xyz/terms (THE DATA API).
GUIDES
SIGNING IN
Signing in is a message your wallet signs: not a transaction. It moves nothing and costs nothing. Press CONNECT WALLET at the top right of any page.
- Browser wallets (Phantom, Solflare, Backpack): most connect and sign in with one approval.
- Android: pick "Wallet app on this phone": your wallet app opens, you approve, and it brings you back.
- iPhone: Phantom and Solflare open their app (connect, then sign: two trips). iPhones can't send you back to a web page by themselves, so switch back to the browser after each one. Jupiter Mobile and other wallets connect through WalletConnect.
- No wallet? Pick Email · Google · X. Privy makes you a Solana wallet that you and Privy hold, never Terminal 7. Add a passkey or authenticator app with the SECURE tile in your account panel.
One connection for the whole site: the wallet you sign in with is also the one the swap box uses. Your account panel (the avatar, top right) shows your balance, holdings, paid messages and tips. You stay signed in for 30 days on that browser.
THE SCORES
Each coin's terminal shows up to three of our own scores, all 0-100. They describe what holders and buyers are doing, not where the price goes.
REAL
Does the coin draw real buyers who keep coming and keep holding? It weighs time, not one snapshot: organic buyers (bots and wash wallets filtered out), whether they're still coming, how long coins are held, size, how spread out the holders are (bundles, the top 10's share), whether the fees back the volume, the dev's record, and what the price did (a dump counts against it, a recovery earns some back). The calls:
- REAL: only when every bar is cleared, not just the score (65+, $20K+ market cap, 100+ holders, steady organic buyers, coins held 2 h+ on average, an hour old, under 15% bundled, not dumped).
- WATCH: 45+ and some of it checks out, not every bar for REAL yet.
- FARM: big volume the fees don't back up, few real buyers, coins changing hands within minutes.
- THIN: too small, too few real buyers, or not enough of it holds up.
COMPOUND (COINS THAT PAY REWARDS)
Do the biggest holders (the wallets owning 80% of the supply) buy their rewards back into the coin? Mostly how much of their rewards they put back in, then how often, then new money on top. Net sellers score 0, and no single wallet counts for more than 15%. 60+ Strong, 40+ Healthy, 20+ Mixed, else Weak; under 10 wallets or $2K of rewards shows low data. Each holder gets a label: COMPOUNDER, PARTIAL, COLLECTOR, TRADER or SELLER. Refreshed every 6 h.
CONVICTION (COINS THAT PAY NO REWARDS)
The same biggest holders over 30 days: are they adding on top, holding, trading in and out, or selling? A steady holder alone scores about 80. 75+ Strong, 60+ Healthy, 45+ Mixed, else Weak.
CLOBR
CLOBr's own score and order-book depth (support and resistance walls), shown with credit to CLOBr. It's an hour delayed on the site unless you use the CLOBr browser extension.
THE LAUNCH RADAR
NEW LAUNCHES scores every stonkfun launch of the last 24 h that trades ($2,500+ volume, or graduated) and sorts them into REAL / WATCH / FARM / BUNDLED / THIN tabs. Chips flag what to look out for: BUNDLED, PUMP & DUMP, DUMPED, TINY, and the good ones: GRAD, RECOVERED, VRFD (verified on Jupiter).
TOKEN INFO on a row opens its score, a bundle scan (wallets funded by the same source) and a bubble map without leaving the page. New quote-asset pairs are listed too.
THE BRAIN AND TOP SIGNALS
The brain shows Terminal 7 thinking: the T7 core in the middle, the signal families around it, the coins on the outer ring. Each flash runs core, family, coin:
- Blue: a signal fired on that coin.
- Green / red: the T7 bot bought / sold it on paper (no real money yet).
- Dimmer, marked RECAP: a replay of recent activity during quiet moments. Replays are never counted.
TOP SIGNALS under it lists the coins the most families agree on, with market cap, 24 h, holders and how many paper wallets hold each. Tap any coin to open its terminal. Not advice: the bot is still practising on paper.
Paid data API plans (Builder, Bot, Pro) watch the brain live: sign in on /brain with the wallet that holds the plan.
A TOKEN'S TERMINAL
Search a coin or paste its address to open /terminal/token?ca=<mint>:
- The chart, live price and the scores above.
- THE TAPE (every trade as it happens, known traders by name), HOLDERS (with each big holder's compounding), and TALK (forum threads about the coin; POST ABOUT starts one).
- BUY: Jupiter's swap box, inside the page. Terminal 7 takes no fee.
- Tap a wallet anywhere on the page for its X-Ray.
- BUY TTS / ads: put a message or image on the live stream.
WALLET X-RAY AND PROFILES
Wallet X-Ray (/wallet/<address>): any wallet's coins with rewards earned, bought, sold, P&L (value now + sold + rewards - bought), fees paid and a compound score per coin, read from the chain. ALL / HOLDING / EXITED, sort by any column, and a share card to post.
Profile (/profile/<address>): a wallet's name, its streams and socials, leaderboard ranks, its watchlist and an X-Ray preview. Sign in and press EDIT PROFILE to add your accounts, and VERIFY each one by logging in to that platform: we keep only the account's id and handle, shown with a check mark. Open yours from the account panel or the ☰ menu's My profile.
WATCHLIST AND SEARCH
- Watchlist: the star on a token page adds the coin (up to 25). The ticker bar under the header switches between your watchlist, APY, volume, REAL coins and your recent coins and wallets. Signed in, the list follows your wallet to any device and shows on your profile; make it private with the edit button.
- Search (every page): type a ticker or name to find coins and people, or paste any address: a coin opens its terminal, a wallet its profile.
TIPS AND PAID MESSAGES
Tips and messages run on Stream Pay, Terminal 7's own tipping for streamers, and happen right on the profile:
- TIP on a profile opens the tip box in place. A streamer with a Stream Pay page gets it on stream.
- SEND A TIP to a wallet with no Stream Pay page: it's kept for that wallet until it signs in to Stream Pay.
- MESSAGE · $X: a paid private message. Wallets without a Stream Pay account take messages at $1; they wait for the wallet and show in its INBOX once it signs in.
- Your INBOX and TIPS are tabs in your account panel. Reply once to a message; MUTE SENDER skips their messages, BLOCK SENDER stops them paying you at all.
- Streamers: set your price, alerts and overlays on the Stream Pay dashboard.
THE FORUM
The forum: THE TRENCH (live chat) on top, threads below. No usernames: your name is your wallet's balance, live in USD. Nobody sees your address. Each post remembers the balance you posted with, so "posted at $X · now $Y" shows when it moved 25%+.
BADGES
- Name rim = size class: PLANKTON (under $100), SHRIMP ($100+), FISH ($1K+), DOLPHIN ($10K+), SHARK ($100K+), WHALE ($1M+).
- Helmet = $MARINE held: bronze 1K, silver 10K, gold 100K, platinum 1M, diamond 10M.
- LINK Marine rank = LINK held on Solana (HQ's Reserve Corps table). Hold both and your rank is painted on your helmet.
- MOD: the forum's staff.
Rather not show your balance? Hide shows only your size class on new posts and chat; old posts stay as posted.
RULES
- $1+ in your wallet to post, reply, vote or chat (under $1: read only).
- New wallets (first 3 days): a chat message every 10 s, a reply a minute, no threads or votes.
- No clickable links, no scams, no doxxing. NSFW words and slurs are blacked out. Text only.
- Chat spam (5 messages in 10 s) earns a timeout that doubles each time.
- Downvoted to -10, a post folds; 5 reports hide it until a mod looks.
Tap a $TICKER or #tag to filter threads. REPLY under any reply to answer it there.
THE T7 BOT
Terminal 7 is teaching a trading bot on its own data, on paper first: simulated trades at real recorded prices, with tax, slippage and network costs counted. No real money moves.
- Many small paper wallets ("squads") each follow one idea, side by side with random picks as the bar: an idea is only interesting if it beats luck.
- It works in 6-hour stages, fine-tunes after each, reviews daily and keeps a 3-day batch record. Changes run beside the old version, never instead of it, and an untouched copy is kept to compare against.
- Shadow wallets trade the same ideas on real live quotes without sending anything. Real money only with the owner's go-ahead.
Follow it on the forum's /t7bot/ board, one thread in order (batch recaps and day updates; read only: only the bot posts there) and live on the brain. What it does is public; how it picks stays private.
MORE
- How $LINK rewards work: the $MARINE flywheel.
- Trending and leaderboards (rewards, P&L, streaks; users and projects).
- The stream and TTS.
- Privacy · Terms · Accessibility.
- Questions or a bug: @Terminal7xyz on X.