What it says
$PONS100 · Pons Index · 0x47cc…f10aage 15m · mc $41k · ATH $53k (-22%) · launched at $13k · graduated 5m agolast 5m: 274 trades · 160 buyers / 71 sellers · buys $4.6k / sells $5.4k · -14%last 15m: 663 trades · 338 buyers / 135 sellers · buys $31k / sells $23k · +219%since launch: 347 buyers · 135 sellers · median buy $25 · top 3 buyers = 8% of buysholders ~268 · top 10 hold 22% · biggest 3.6%dev: holds 3.0% · bought $135 · sold $0first-30s buyers: 52, bought 92.1% · sold 85% of itcreator: 0 other launches in the 24h before · 0 graduated beforeticker: 2 other $PONS100 launched in the 24h beforesocials: X @ponslndex (1st launch on it) · site pons100.com (1st launch on it)
⚡⚡ Charge 95% · overchargedLaunches I read like this, next 24h: 17% doubled before halving · 52% halved first · 18% reached $50k. What stands out:+ graduated 5m ago± buyers out-spent sellers by $11k in the last hour (moves both ways)± bounced 3.5x off its low (moves both ways)+ ~268 holders Top of the board. Most launches this hot give back half before they double.
The bands
Charge ranks a launch against every live launch it saw: 90% means busier and stronger than 90% of them. On days it never
saw in training (2026-10-10 onward), launches in each band did this over the next 24 hours (each launch counted once):
Table with columns: Charge, Launches, Doubled before halving, Halved first| Charge | Launches | Doubled before halving | Halved first |
|---|
| ⚪ flat | 548 | 0.2% | 0.0% |
| 🪫 low | 1,729 | 0.2% | 0.2% |
| 🔋 mid | 1,120 | 2.6% | 7.7% |
| ⚡ charged | 241 | 9.0% | 57% |
| ⚡⚡ overcharged | 26 | 15% | 64% |
A higher charge means more action in both directions, not more safety. The hottest launches halve first more often than
they double. The ones that run come from the top bands, and so do the round-trips.
How it was tested
The test model is the same recipe trained only on launches before 2026-10-10, then scored on launches from 2026-10-10 to
2026-10-12 that it never saw. This released model is trained on every launch through 2026-10-12. Ranking live launches by
their chance of doubling before halving (AUC, each launch weighted once):
Table with columns: AUC | AUC |
|---|
| Charge 30B (test model) | 0.93 |
| Its teacher (gradient-boosted model it learned from) | 0.92 |
| Rule: most net buying in the last hour | 0.77 |
| Rule: most buyers in the last 15 minutes | 0.73 |
Against frontier models
The same question, the same facts cards: 600 snapshots of 546 live launches from 2026-10-10 to 2026-10-12 (every
launch that doubled first is included). The Claude models also got a primer on how Pons works and the 6% base rate, and
rated 20 snapshots at a time.
Table with columns: AUC, Harder subset (Charge read mid or hotter) | AUC | Harder subset (Charge read mid or hotter) |
|---|
| Charge 30B | 0.91 | 0.79 |
| Claude Opus 5.5 | 0.87 | 0.73 |
| Claude Sonnet 5.5 | 0.83 | 0.66 |
| Most net buying, last hour | 0.77 | 0.65 |
| Most buyers, last 15 min | 0.73 | 0.64 |
Check it yourself: every facts card, every model's answer, the outcomes and a scoring script are public at charge-ai/charge-vs-claude (python score.py).
Against Claude Opus 5.5: ahead in 100.0% of 2,000 resamples of the launches (gap +0.038, 95% interval +0.018 to +0.057). Against Claude Sonnet 5.5: ahead in 100.0% of 2,000 resamples of the launches (gap +0.082, 95% interval +0.055 to +0.108).
Speed and cost. One read takes 0.74 s on a single 48 GB L40S in FP8 (Surplus serves 20-32B models on their own 48 GB GPU in FP8; measured on the test model, same architecture), against 2.7 s for Claude Opus 5.5 and 2.4 s for Sonnet 5.5 through the API. At Surplus's 0.10permilliontokensaread( 700tokens)costsabout0.07 per 1,000 reads; Opus 5.5 costs $3 or more per 1,000 reads even batched 20 at a time.
The model wrote a well-formed read for 100% of 8,103 held-out snapshots, landed in the same band as its teacher
86% of the time (99.8% within one band) and named 86% correct "what stands out" lines.
It is good at telling a launch that is going flat from a live one. It is not a runner oracle.
What it can't do
- It doesn't see the chain. It reads the facts you give it: age, market cap and ATH, trades, buyers and sellers per window,
holders, the dev's own trades, first-30-second buyers, the creator's other launches, socials.
- It doesn't read contracts. Honeypots and hook traps need a sell simulation.
- Eight days of one launchpad (October 5–12). Markets change; the numbers above are what happened on those days.
- Not financial advice.
How it was built
- Data: public trades of ETH-paired Pons launches. Only facts anyone can see: price, flows, buyers, holders worked out from
trades, the dev's own trades, ticker copies, socials.
- Teacher: a shallow gradient-boosted model on those facts, each launch weighted equally (a launch that trades for hours
appears as many snapshots), stacked with net buying in the last hour.
- "What stands out": fixed checks, shown with + or − only when launches with that trait did better or worse than launches
of the same charge on the training days.
- Text: every answer is rendered from data by templates. The general-chat rows are human-written prompts from
OpenAssistant oasst1 (Apache 2.0) answered by the base model itself,
so the fine-tune keeps its manners.
Run it
from transformers import AutoModelForCausalLM, AutoTokenizer tok = AutoTokenizer.from_pretrained("charge-ai/charge-30b")model = AutoModelForCausalLM.from_pretrained("charge-ai/charge-30b", dtype="auto", device_map="auto")messages = [{"role": "user", "content": "Read this launch:\n$TICKER · Name · 0x1234…abcd\nage 25m · mc $14k · ..."}]ids = tok.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)print(tok.decode(model.generate(ids, max_new_tokens=300, do_sample=False)[0][ids.shape[1]:], skip_special_tokens=True))
The chat template already carries Charge's system prompt; you don't need to pass one.
License
Apache 2.0, the same as the base model.
surplus-launcher: 0x3ac82d45ff9e4963cefbc3f74dbe293f34c927ca