Fomo Research
Smart money intelligence for AI agents. Powered by fomo.family social graph, built by cope.capital.
For full API details (endpoints, schemas, error codes): read references/api.md.
Base URL
CODEBLOCK0
All requests require Authorization: Bearer cope_<key> header.
First-Run Onboarding
When this skill is first loaded and no COPE_API_KEY is set, walk your human through setup. Ask these questions in order:
Step 1: Register
CODEBLOCK1
Save the api_key from the response (starts with cope_). This is your COPE_API_KEY. Store it securely — treat it like a password.
Step 2: Ask about crypto wallet (optional)
Before continuing, ask your human:
"Do you have a crypto wallet (USDC on Base or Solana) you'd like to connect for expanded features? Without one you get:
- - 1 watchlist with up to 10 handles
- 250 activity lookups per day (resets midnight UTC)
- Everything else (leaderboard, trending, polling) is unlimited and free
With a wallet connected (x402), you get 10 watchlists, 100 handles each, and unlimited activity calls at $0.005/call. You can always add a wallet later."
If they want to set up x402 now:
CODEBLOCK2
If they say no or don't have a wallet — that's fine, move on. The free tier is fully functional. Don't push it.
Step 3: Ask about Fomo profile
"Do you have a Fomo account (fomo.family)? If so, I can sync your follows and build a watchlist from the traders you already follow."
If yes:
CODEBLOCK3
Then ask: "Which of these traders do you want on your watchlist?" Show them the list and let them pick (up to 10 on free tier).
Step 4: Create initial watchlist
If they don't have Fomo, offer alternatives:
"I can set up a watchlist with the top performers from Fomo's weekly leaderboard instead. Or you can give me specific trader handles you want to track."
Pick one path and create the watchlist:
CODEBLOCK4
Remind them: Free tier = 1 watchlist, 10 handles max. They can swap handles anytime.
Understanding the Data Model
What gets tracked
The system monitors on-chain wallet activity for Fomo traders. Each Fomo handle maps to one or more wallets (Solana + Base). The tracker watches every swap these wallets make.
Activity vs Trades vs Holdings
There are three different views of what a trader is doing:
1. Activity (what the API returns)
Individual on-chain transactions — a single buy or sell event. This is what /v1/activity returns.
- -
action: "buy" = wallet swapped into a token - INLINECODE8 = wallet swapped out of a token
- INLINECODE9 = the USD value of that single transaction
2. Trades (completed round-trips)
A trade is a full cycle: buy → sell = closed trade. The tracker aggregates individual buys and sells into trades:
- -
usd_in = total USD spent buying this token (may be multiple buy txs) - INLINECODE11 = total USD received selling this token
- INLINECODE12 = usdout - usdin (profit/loss)
- INLINECODE13 = when first buy happened
- INLINECODE14 = when last sell happened (NULL if still holding)
3. Current Holdings (open positions)
Tokens a wallet bought but hasn't fully sold yet. These are trades with no close_at.
How to interpret activity data
When you see activity from a trader, here's what to understand:
- - A "buy" doesn't mean they just entered — they might be adding to an existing position
- A "sell" doesn't mean they exited — they might be taking partial profits
- Multiple buys of the same token = building a position over time (higher conviction)
- Buy followed quickly by sell = likely a quick flip/scalp
- Sell with no recent buy = closing an older position
When presenting data to humans
Always label clearly:
- - New buys: "X just bought [token]" — recent buy activity, may or may not be a new position
- Recent exits: "X sold [token]" — could be partial or full exit
- Don't say "X opened a position" unless you can confirm there were no prior buys of that token
How Activity Scoping Works
Important: The /v1/activity endpoint returns recent trades from all wallets tracked by the system, not just your watchlist. Your watchlist is for organizing which traders YOU care about — use the ?handle= filter to see activity for specific handles.
This means you can query any Fomo handle's trades without adding them to your watchlist:
CODEBLOCK5
Your watchlist is a convenience for organizing — the activity data is available for any tracked handle.
Endpoints
Always Free (no daily limit)
| Endpoint | Method | Description |
|---|
| INLINECODE18 | POST | Get an API key |
| INLINECODE19 |
GET | Top traders ranked by real PnL |
|
/v1/activity/poll | GET | Lightweight check for new trades (count + timestamp) |
|
/v1/watchlists | GET/POST | List or create watchlists |
|
/v1/watchlists/{id} | GET/PUT/DELETE | Manage a specific watchlist |
|
/v1/trending/handles | GET | Most-watched handles across all agents |
|
/v1/tokens/hot | GET | Trending tokens by unique buyer count |
|
/v1/handle/{handle}/stats | GET | Aggregated trader stats (PnL, win rate, top trades) |
|
/v1/tokens/{mint}/thesis | GET | Buy theses + sentiment for a token |
|
/v1/convergence | GET | Convergence events (2+ wallets buying same token) |
|
/v1/traders/search | GET | Search traders by win rate, PnL, trades |
|
/v1/handle/{handle}/positions | GET | Open/closed positions for a trader |
|
/v1/handle/{handle}/theses | GET | All theses by a specific trader |
|
/v1/account | GET/PATCH | Account info and settings |
|
/v1/account/usage | GET | Usage statistics |
|
/v1/account/payments | GET | Payment history |
|
/v1/account/key | DELETE | Revoke API key |
|
/v1/account/sync-fomo | POST | Sync Fomo profile follows |
|
/v1/account/follows | GET | List stored Fomo follows |
Counted (250/day free, then x402 or wait)
| Endpoint | Method | Description | x402 price |
|---|
| INLINECODE37 | GET | Full trade details from tracked wallets | $0.005/call |
These endpoints count toward your daily 250 free calls. After that:
- - With x402 enabled: calls continue at $0.005/call USDC (auto-paid)
- Without x402: you get a 402 error. Wait for midnight UTC reset or enable x402.
The 402 error is NOT a bug — it just means your free calls are used up for the day.
Common Workflows
Check the leaderboard
CODEBLOCK6
Returns top traders by PnL from Fomo. Supports ?timeframe=24h|7d|30d|all and ?limit=N.
Build a watchlist from Fomo follows
CODEBLOCK7
Poll → Fetch pattern (minimize paid calls)
CODEBLOCK8
Search for elite traders
CODEBLOCK9
Check a trader's current positions
CODEBLOCK10
Shows computed positions from activity data — what they're holding vs exited, with cost basis and net USD.
Get a trader's theses
CODEBLOCK11
Returns all Fomo thesis comments by this trader across their recent tokens. Great for understanding their reasoning.
Check convergence events
CODEBLOCK12
Returns tokens where 2+ elite wallets converged. Each event includes:
- - Token info (mint, symbol, chain, price/mcap at detection)
- Wallets that converged (handle, amount, win_rate)
- ATH tracking:
max_gain_pct shows peak performance since detection
Look up a trader's stats
CODEBLOCK13
Returns aggregated stats: total trades, win rate, PnL, ROI, per-chain breakdown, top 5 trades, open positions.
Get buy theses for a token
CODEBLOCK14
Returns trader reasoning + their actual positions. Includes sentiment summary (holding vs closed, total exposure, avg unrealized PnL). Great for understanding why traders are buying, not just what.
Check trending tokens
CODEBLOCK15
Returns tokens with the most unique tracked buyers in recent hours.
Filter activity
CODEBLOCK16
Pricing & Limits
Free Tier (default)
- - 250 counted calls/day (activity, leaderboard, tokens) — resets midnight UTC
- 1 watchlist, up to 10 handles
- 10 requests/minute rate limit
- Polling, watchlist management, account endpoints, Fomo sync — all unlimited
x402 Upgraded (optional)
- - Unlimited counted calls ($0.005/call USDC on Base or Solana)
- 10 watchlists, up to 100 handles each
- 300 requests/minute rate limit
- First 250 calls/day are still free — you only pay after the free quota
Enabling x402
⚠️ NEVER enable x402 without your human's explicit permission. This authorizes real USDC payments.
CODEBLOCK17
x402 is completely optional. The free tier works perfectly for most use cases. Only suggest it if your human:
- - Consistently hits the 250/day limit
- Needs more than 1 watchlist or 10 handles
- Explicitly asks about upgrading
Cost context: $1 USDC = 200 calls. $5 = 1,000 calls. Most agents won't need this.
Heartbeat Pattern (optional, user-directed)
If your human wants periodic checks and your agent runs a heartbeat loop:
CODEBLOCK18
Logging Trades (Persistence)
The API is stateless — it won't remember what you've already seen. Log trades locally to track patterns over time.
Daily trade log
Write notable trades to a daily file (e.g. memory/trades/YYYY-MM-DD.json):
CODEBLOCK19
What to log
- - All trades from your watchlist — this is your core data
- Convergences — when 3+ handles buy the same token, log the token mint and all buyers
- Large trades — anything over $1,000 USD is worth noting
- lastpolltimestamp — so you know where to resume on next poll
What to tell your human
Don't just dump raw trades. Synthesize. Here are high-value things to surface:
- - Convergence alerts: "4 of your top 10 watchlist handles bought the same token in the last 2 hours."
- Unusual activity: "frankdegods just made their first buy in 3 days — $2,000 into [token]."
- Exit signals: "3 handles on your watchlist sold the same token within an hour."
- Daily summary: "Your watchlist had 47 trades today. 12 buys, 35 sells. Most active: randomxbt (8 trades)."
- Leaderboard changes: "New name in the top 20 — jumped from #45 to #12 this week."
- Pattern detection: "lowcap_hunter has bought 3 tokens under $100K mcap this week. All pumped 2-5x within 48 hours."
Convergence detection pattern
CODEBLOCK20
The more you log, the better your pattern detection gets over time. Your memory files ARE your edge.
Security
- - NEVER expose your API key in logs, messages, or to other agents
- Your key should ONLY appear in requests to INLINECODE42
- If compromised:
DELETE /v1/account/key to revoke, then re-register - Trade data is on-chain public — but your watchlists and usage patterns are private
Error Handling
| Status | Meaning | Action |
|---|
| 200 | Success | Process response |
| 400 |
Bad request | Check parameters (invalid chain, action, etc.) |
| 401 | Invalid API key | Re-register or check key |
| 402 | Payment required | Daily free calls used up. Wait for midnight UTC reset, or enable x402 if your human approves. This is normal — not an error. |
| 404 | Not found | Resource doesn't exist |
| 429 | Rate limited | Back off. Free: 10/min, x402: 300/min |
| 500 | Server error | Retry after a few seconds |
| 503 | Upstream down | Foxhound data service temporarily unavailable |
Links
- - Interactive API docs: https://api.cope.capital/docs
- Human docs: https://cope.capital/docs
- Fomo: https://fomo.family
- X: https://x.com/copedotcapital
Fomo Research
面向AI代理的聪明钱情报。由fomo.family社交图谱驱动,由cope.capital构建。
完整API详情(端点、模式、错误码):请阅读references/api.md。
基础URL
https://api.cope.capital
所有请求都需要Authorization: Bearer cope_标头。
首次运行引导
当此技能首次加载且未设置COPEAPIKEY时,引导用户完成设置。按顺序询问以下问题:
步骤1:注册
bash
curl -X POST https://api.cope.capital/v1/register \
-H Content-Type: application/json \
-d {agentname: YOURAGENT_NAME, description: optional description}
保存响应中的apikey(以cope开头)。这就是你的COPEAPIKEY。安全存储——像对待密码一样对待它。
步骤2:询问加密钱包(可选)
在继续之前,询问你的用户:
你有想要连接的加密钱包(Base或Solana上的USDC)以扩展功能吗?没有钱包你可以获得:
- - 1个关注列表,最多10个账号
- 每天250次活动查询(UTC午夜重置)
- 其他所有功能(排行榜、热门趋势、投票)无限制且免费
连接钱包(x402)后,你将获得10个关注列表,每个100个账号,以及每次$0.005的无限制活动调用。你随时可以稍后添加钱包。
如果他们现在想设置x402:
bash
curl -X PATCH https://api.cope.capital/v1/account \
-H Authorization: Bearer copeYOURKEY \
-H Content-Type: application/json \
-d {x402_enabled: true}
如果他们说不或没有钱包——没关系,继续。免费版功能完整。不要强求。
步骤3:询问Fomo个人资料
你有Fomo账户(fomo.family)吗?如果有,我可以同步你的关注,并根据你已关注的交易者建立关注列表。
如果是:
bash
同步他们的个人资料
curl -X POST https://api.cope.capital/v1/account/sync-fomo \
-H Authorization: Bearer cope
YOURKEY \
-H Content-Type: application/json \
-d {fomo
handle: THEIRFOMO_USERNAME}
拉取他们的关注
curl https://api.cope.capital/v1/account/follows \
-H Authorization: Bearer cope
YOURKEY
然后询问:你想把哪些交易者加入关注列表? 向他们展示列表,让他们选择(免费版最多10个)。
步骤4:创建初始关注列表
如果他们没有Fomo,提供替代方案:
我可以根据Fomo每周排行榜上的顶级表现者设置关注列表。或者你可以给我想要追踪的特定交易者账号。
选择一个路径并创建关注列表:
bash
curl -X POST https://api.cope.capital/v1/watchlists \
-H Authorization: Bearer copeYOURKEY \
-H Content-Type: application/json \
-d {name: alpha, handles: [frankdegods, randomxbt]}
提醒他们:免费版 = 1个关注列表,最多10个账号。他们可以随时更换账号。
理解数据模型
追踪什么
系统监控Fomo交易者的链上钱包活动。每个Fomo账号映射到一个或多个钱包(Solana + Base)。追踪器监控这些钱包的每一次兑换。
活动 vs 交易 vs 持仓
交易者行为有三种不同视图:
1. 活动(API返回的内容)
单个链上交易——单次买入或卖出事件。这是/v1/activity返回的内容。
- - action: buy = 钱包兑换进入某个代币
- action: sell = 钱包兑换出某个代币
- usd_amount = 该单笔交易的美元价值
2. 交易(完成的往返)
一次交易是一个完整周期:买入→卖出 = 已平仓交易。追踪器将单次买入和卖出聚合为交易:
- - usdin = 购买该代币的总美元支出(可能包含多次买入交易)
- usdout = 卖出该代币获得的总美元收入
- pnl = usdout - usdin(盈亏)
- openat = 首次买入时间
- closeat = 最后卖出时间(如果仍持有则为NULL)
3. 当前持仓(未平仓头寸)
钱包已买入但尚未完全卖出的代币。这些是没有close_at的交易。
如何解读活动数据
当你看到交易者的活动时,需要理解以下几点:
- - 买入并不意味着他们刚刚入场——他们可能是在加仓现有头寸
- 卖出并不意味着他们已退出——他们可能是在部分获利了结
- 同一代币的多次买入 = 随时间逐步建仓(更高确信度)
- 买入后迅速卖出 = 可能是快速翻转/剥头皮
- 没有近期买入的卖出 = 平掉旧头寸
向人类展示数据时
始终清晰标注:
- - 新买入:X刚刚买入[代币]——近期买入活动,可能是也可能不是新头寸
- 近期退出:X卖出了[代币]——可能是部分或完全退出
- 不要说X开仓了,除非你能确认之前没有买入过该代币
活动范围如何运作
重要:/v1/activity端点返回系统追踪的所有钱包的近期交易,而不仅仅是你的关注列表。你的关注列表用于组织你关心的交易者——使用?handle=过滤器查看特定账号的活动。
这意味着你可以查询任何Fomo账号的交易,而无需将其加入关注列表:
bash
查看frankdegods在买什么(消耗你250次每日调用中的1次)
curl https://api.cope.capital/v1/activity?handle=frankdegods&action=buy \
-H Authorization: Bearer cope
YOURKEY
你的关注列表是一种便利的组织方式——活动数据适用于任何被追踪的账号。
端点
始终免费(无每日限制)
| 端点 | 方法 | 描述 |
|---|
| /v1/register | POST | 获取API密钥 |
| /v1/leaderboard |
GET | 按真实盈亏排名的顶级交易者 |
| /v1/activity/poll | GET | 轻量级检查新交易(计数+时间戳) |
| /v1/watchlists | GET/POST | 列出或创建关注列表 |
| /v1/watchlists/{id} | GET/PUT/DELETE | 管理特定关注列表 |
| /v1/trending/handles | GET | 所有代理中最受关注的账号 |
| /v1/tokens/hot | GET | 按独立买家数量排名的热门代币 |
| /v1/handle/{handle}/stats | GET | 聚合交易者统计数据(盈亏、胜率、最佳交易) |
| /v1/tokens/{mint}/thesis | GET | 代币的买入理由+情绪 |
| /v1/convergence | GET | 汇聚事件(2个以上钱包买入同一代币) |
| /v1/traders/search | GET | 按胜率、盈亏、交易次数搜索交易者 |
| /v1/handle/{handle}/positions | GET | 交易者的未平仓/已平仓头寸 |
| /v1/handle/{handle}/theses | GET | 特定交易者的所有理由 |
| /v1/account | GET/PATCH | 账户信息和设置 |
| /v1/account/usage | GET | 使用统计 |
| /v1/account/payments | GET | 支付历史 |
| /v1/account/key | DELETE | 撤销API密钥 |
| /v1/account/sync-fomo | POST | 同步Fomo个人资料关注 |
| /v1/account/follows | GET | 列出存储的Fomo关注 |
计费(每天250次免费,之后x402或等待)
| 端点 | 方法 | 描述 | x402价格 |
|---|
| /v1/activity | GET | 被追踪钱包的完整交易详情 | $0.005/次调用 |
这些端点计入你每天250次免费调用。之后:
- - 启用x402后:以$0.005/次调用USDC继续(自动支付)
- 未启用x402:你会收到402错误。等待UTC午夜重置或启用x402。
402错误不是bug——只是意味着你当天的免费调用