Build on the real-time graduation alert.
Catch pump.fun mints before the bonding curve completes. One endpoint. Every prediction logged with a hash before the outcome, resolved against on-chain truth.
🟢 FREE BETA — API is open, no key required
During the beta window (through 2026-07-07), every endpoint accepts
unauthenticated requests. Just curl and go. Auth will return
after beta — see the Authentication
section for the post-beta shape.
Quick start
Two steps. Two endpoints.
curl https://graduateoracle.fun/api/v1/liveReturns every currently-tracked mint with calibrated grad_prob, entry_mult, age, and supporting context. Updates every ~2 seconds.
curl https://graduateoracle.fun/api/v1/live \
| jq '.mints[] | select(.grad_prob >= 0.70 and .current_mult <= 2.0)'
That's the same gate the TG bot fires on. ≥70% grad_prob —
—% forward, on-chain-resolved hit rate over
the last 30 days (n=—) — resolved against
truth, not a backtest.
Pricing
Beta: free, all tiers, no key. The tiers below activate after beta closes (2026-07-07).
| Tier | Calls/day | Data freshness | Webhooks | Price |
|---|---|---|---|---|
| Builder | 5,000 | real-time | — | 0.5 SOL/mo |
| Pro | 50,000 | real-time | ✓ | 1.5 SOL/mo |
Post-beta pricing in SOL, paid on-chain via the /upgrade flow. See pricing →
$GO — Proof Launch tokenomics
$GO launches on Proof Launch — a Solana launchpad where tokenomics are enforced by programmable bots at the trade layer, not promised in a whitepaper. Every buy and sell triggers the same skim, deterministically, every trade, forever.
| Bot | Share | What it does |
|---|---|---|
| BURN | 50% | Tokens routed to the burn address. Supply shrinks every trade. |
| SOL → HOLDERS | 30% | SOL distributed pro-rata to $GO holders. Hold the token → earn SOL yield from volume, automatically. |
| TREASURY | 10% | Routes to the graduate-oracle treasury — funds infra, model retrains, and buyback budget. |
| PLATFORM | 10% | Proof Launch's protocol fee. This is how the launchpad gets paid. |
Why this matters for terminals. The tokenomics aren't a roadmap — they're sealed by Proof's bot contracts at deploy time. The burn happens whether we ship features or not. The holder yield happens whether anyone subscribes or not. You're holding a supply schedule, not a pitch deck.
Authentication
During beta: auth is disabled. Send any request to /api/v1/* without headers — it works.
After beta (post 2026-07-07): all /api/v1/* endpoints require a bearer token. Both forms supported:
Authorization: Bearer grad_xxxxxxxxxxxx # or X-API-Key: grad_xxxxxxxxxxxx
Keys are bearer credentials — treat them like passwords. Subscribe in SOL via Phantom at /api, or hold 2.5M $GO in a linked wallet for Builder access.
Reference
| Endpoint | What it returns |
|---|---|
GET /api/v1/signals | Cursor-paginated cross stream — the machine-consumable feed (poll, zero-miss, resumable) |
GET /api/v1/live | Every tracked mint, scored |
GET /api/v1/probe/{mint} | Single mint, full breakdown |
GET /api/predictions/by_mint/{mint} | All historical predictions for a mint (receipts) |
GET /api/ledger/commits | Hourly Merkle commits — verify a prediction was logged before its outcome |
GET /api/ledger/proof/{prediction_id} | Cryptographic proof of a single prediction's commit |
GET /api/accuracy | Live calibration receipts (LOO + forward) |
GET /api/scope | What we predict, calibration bands, label sources |
Full schema reference: Swagger UI ↗ · OpenAPI spec ↗
Signals stream
The machine-consumable feed. GET /api/v1/signals returns
composite-receipts crossings in the order they became deliverable.
Poll with the cursor from the prior response as
since — zero missed crossings, zero duplicates, fully
resumable after a crash. Built for execution bots, not dashboards.
curl https://graduateoracle.fun/api/v1/signals?since=<cursor> \ -H "Authorization: Bearer $KEY" → { "count", "cursor", "signals": [ { "mint", "tier", "composite_score", "score_ratio", "smart_money_in", "max_mult_at_cross", "age_s_at_cross", "mc_at_cross_usd", "cross_at", "delivered_at" } ] }
Filter by tier: ?tier=ACT / WATCH /
SCOUT / all. Webhook push (HMAC-signed POST
on every cross) available via POST /api/v1/webhooks.
Tier semantics
| Tier | Gate | What it means |
|---|---|---|
⚡ ACT | model confidence ≥ 0.15 | Highest conviction. Trust-it band. |
📊 WATCH | 0.05–0.15 | Mid conviction. |
🛰 SCOUT | 0.02–0.05, or strong composite | Recall tier — surfaced so it isn't missed; you judge it. |
Honest status: the 3-tier structure shipped 2026-05-16 and is forward-validating in public right now. Per-tier hit rates are back-test projections under live verification — not yet proven forward numbers. We publish the verdict (whichever way it breaks) on the receipts trail when the pre-registered sample floor is hit. We don't quote a rate we haven't earned forward. Pilot phase — no pricing on this feed yet, deliberately, until the numbers are real.
Errors
All errors are JSON with the same shape:
{
"detail": {
"error": "rate_limit_exceeded",
"message": "Daily quota of 200 reached. Resets at 1777502400.",
"hint": "/upgrade for higher limits"
}
}
| Status | Error | Meaning |
|---|---|---|
| 401 | invalid_or_expired_key | Auth header missing/wrong |
| 429 | rate_limit_exceeded | Daily quota hit |
| 503 | no_snapshot | Observer warming up — retry in seconds |
NFA · DYOR · prediction model output, not financial advice · @GraduateOracle