Last Dance architecture
Private screen for two people. We build a watch book of wallets. Cielo tells us a trade happened. We only keep it if that wallet is already in the book. Then we show: this coin, this chain, this market cap, this person.
We do not trade for you. We do not ping Cielo with our whole list every minute.
1. The pipeline
FOMO names, clans,
official Solana + other-chain wallets] --> I[INDEX SERVICE
writes the book only] B[Cielo lists and tags
high win rate, gem finder,
KOLs, cabals, FOMO lists] --> I C[You later: paste wallets] --> I I --> PG[(POSTGRES book
person, wallet, labels)] PG --> L[LIVE SERVICE
reads the book] D[Cielo open line
a buy or sell just happened] --> L L --> G{Is this wallet
already in the book?} G -->|no| X[Throw away] G -->|yes| S[WEBSITE
coin, chain, market cap, this person]
Index builds who we watch. Live only asks “are you in the book?” Website asks Live. Website never talks to the database itself.
2. Two services, not one blob
| Does | Does not | |
|---|---|---|
| Index service | Fills and grows the book. FomoScan + every useful Cielo list and tag + your pastes. Writes labels. | Does not hear live trades. Does not draw the screen. |
| Live service | Holds Cielo’s open line. If the address is in the book, saves the trade and serves Radar/Packs. Reads the book for names and tags. | Does not add new people or wallets. Stranger = drop. |
| Website | Radar and Packs. Calls Live. Live reads Postgres. | Does not talk to Postgres itself. |
If Index is down, Radar still shows people already in the book. If Live is down, the site cannot refresh, but the book can still grow.
3. The book — one person, many wallets
Postgres. Four lists. Easy idea. Never finished.
Person: Frank
Our id · FOMO id if we have it · FOMO name frankdegods · X page if we have it
| Wallet | Chain | How we know |
|---|---|---|
| 498g1r… | Solana | FomoScan official · also on a Cielo FOMO list |
| 0x696d… | EVM (Base etc.) | FomoScan official |
| another… | Solana | Cielo tag: high win rate |
| List in Postgres | One row is |
|---|---|
| Person | One trader. Name, FOMO id, FOMO page, X page. |
| Wallet | One address. Solana or EVM. Points at that person. |
| How we know | Sticker + date. FomoScan / Cielo list / Cielo tag / you pasted. |
| Pack | Named group: FOMO clan, or a pack you made. |
Same person rules
- Same address letters = same wallet. Always. Extra sticker, never a second row.
- Same FomoScan person-id = same person. Official Solana + other-chain wallets hang here.
- Same exact FOMO page or X page from Cielo = same person (Cielo’s word).
- Same nickname, different pages = two people. We do not merge on letters alone.
5. The book is never finished
A live Cielo trade does not add a stranger to the book. Only Index (and your paste) add wallets. Unnamed today can become Frank tomorrow when FomoScan or Cielo names them.
Your list later
Paste into Last Dance. Sticker “you pasted.” Already there → extra sticker only. To hear them: if they already sit on a Cielo list we listen to, we already hear them. If not, tell Cielo once “also watch this wallet.” Do not FomoScan every paste (two raw-wallet lookups can spend the FomoScan month).
6. How we hear a trade — not a ping
We do not take our book every minute and ask Cielo “did anyone buy?” That would empty the month.
- Live opens Cielo once:
GET /api/v1/ws, then “send me swaps on this list, these four chains, $250 or more.” - The line stays open. Tiny keep-alives only stop the call from dying.
- When a matching trade happens, Cielo pushes one small message.
- Live looks up the address in Postgres. In the book → keep. Not in the book → throw away.
- If the line drops, dial again and ask once what we missed. Then listen again.
Each Cielo list needs its own open line. “Open once” means one list per line, not one line for the whole world. If some lines fail, we show 3/5 live — we do not pretend all lists are live.
Chains: Solana, Base, Robinhood, HyperEVM.
One known person buying is enough to show. More known people later makes that coin more worth looking at.
7. Market cap
The people book has people and wallets. It does not store market cap.
The $250 on the open line is “this trade was at least $250.” It is not “only tiny coins.” A $10 million coin still shows if someone in the book bought it.
The live line does not carry market cap. When we keep a trade, Live asks Cielo’s full buy record (GET /api/v1/feed with market cap) for that coin and shows it on the Radar. If cap is late: “price not in yet.” The line stays.
8. What you see
Two pages: Radar and Packs. No buy button.
Last Dance · Radar · Packs · Cielo listening · last buy 8s · trades $250+
| How strong | Coin | Chain | Market cap | Who |
|---|---|---|---|---|
| 2 different groups | OMO | Solana | $714k · 18s ago | Your pack + FOMO name · 3 made money · 1 is the project · 1 lost money |
| 1 person | FROGE | Solana | Price not in yet | One known high-win-rate wallet bought — enough to show |
Money-made is asked once when they appear on a line, then remembered. We do not score every wallet on day one.
9. Later tools — plug in, do not rebuild
optional money-made] E[EVM index
funding on Base etc] P[Photon API
if it ever exists] end
| Tool | When | Hooks into |
|---|---|---|
| Nansen | Not now | Live, only people already on a Radar line, if Cielo has no money-made number |
| Funding pack / Flurry hop | Later (or now only if tiny) | Live, Solana, one coin already on screen |
| EVM index | Later | Live. Cielo still hears Base / Robinhood / HyperEVM buys. |
| Photon or others | Only if they give a real people API | Index. New stickers on the same person. |
10. Machines
- Index service — Python, its own process
- Live service — Python, its own process (Cielo line + API)
- Website — Next.js
- Postgres — the book
- Cielo — lists, tags, live trades
- FomoScan — FOMO names and official wallets (60 asks/minute, 100k points/month on our plan)
- Solana node — later, funding look
- Host — lastdance.barelystable.dev, not under Khoj
We will not
Mix Index into Live. Ping the whole book. Let Live add strangers. Score every wallet on day one. Invent Photon/GMGN people. Trade for you. Pretend one Cielo line covers every list.