The same on-chain bundle scans, token safety checks and scores SOLVET shows, as JSON for your trading bot, terminal, launchpad or wallet. One API key, plain HTTPS.
Send your key in the Authorization header (or X-API-Key). Base URL:
https://solvent-backend-production.up.railway.app/v1
# bundle scan of a token curl https://solvent-backend-production.up.railway.app/v1/bundle/TOKEN_ADDRESS \ -H "Authorization: Bearer sv_YOUR_KEY"
// JavaScript const r = await fetch('https://solvent-backend-production.up.railway.app/v1/bundle/' + mint, { headers: { Authorization: 'Bearer sv_YOUR_KEY' } }); const { ok, data, meta, error } = await r.json(); if (ok && data.verdict === 'high') warn('Bundled launch: ' + data.held_pct + '% still held by linked wallets');
The launch bundle scan. verdict: none, low, medium, high. A fresh scan can take up to ~20 s; if it times out, ask again: it keeps running and is then served from cache.
{ "ok": true, "data": { "mint": "…", "verdict": "high", "summary": "4 linked wallets bought 31% of the launch …", "buyers_traced": 6, "bought_pct": 31.46, "held_pct": 22.1, "linked_wallets": 4, "dev_linked_wallets": 1, "funding_groups": 1, "jito_bundle_buys": 3, "late_bundle": null, "known_crew": { "earlier_coins": 3, "earlier_rugs": 2 }, "wallets": [{ "address": "…", "bought_pct": 10, "held_pct": 9, "funder": "…", "group": 0, "dev_linked": true, "fresh_wallet": true }], "partial": false, "incomplete": false }, "meta": { "plan": "pro", "units": 1, "used_today": 512, "limit_today": 25000 } }
Safety checks and market data. bundle is filled when a scan is cached (otherwise null, call /v1/bundle).
{ "ok": true, "data": { "mint": "…", "symbol": "BONK", "price_usd": 0.00002, "liquidity_usd": 5000000, "market_cap_usd": 1000000000, "checks": [{ "check": "Can you sell?", "status": "pass", "result": "Standard token — sells can't be blocked" }, { "check": "Supply", "status": "pass", "result": "Fixed — nobody can mint more" }], "top10_holders_pct": 18.12, "transfer_fee": 0, "bundle": { "verdict": "none", "bought_pct": 0, "held_pct": 0 } } }
The SOLVET Score (0–100) with every deduction.
{ "ok": true, "data": { "score": 42, "band": "…", "complete": true, "deductions": [{ "points": -30, "reason": "…" }] } }
The latest bundled launches SOLVET found (medium and high), newest first, up to 50.
Your plan, units used today and the last 14 days.
Units reset at 00:00 UTC. Answers from SOLVET's cache cost 1 unit; only work that needs fresh on-chain reads costs more.
| PLAN | UNITS / DAY | REQUESTS / MIN |
|---|---|---|
| Free | 300 | 20 |
| Pro | 25,000 | 120 |
| Partner | 250,000 | 600 |
Every error is { "ok": false, "error": { "code", "message" } } with a matching HTTP status.
| STATUS | CODE | MEANING |
|---|---|---|
| 400 | bad_mint | Not a Solana token address |
| 401 | missing_key · invalid_key | No key, unknown or revoked key |
| 404 | not_found | Token can't be read / unknown endpoint |
| 422 | not_scannable | This launch can't be scanned |
| 429 | rate_limited · daily_limit | Slow down (see Retry-After) / daily units used up |
| 503 · 504 | busy · timeout | Fresh work paused for a moment / scan still running: ask again |
Free keys for builders, Pro and Partner plans for bots and platforms. Message us on Telegram.