REST API · api.solsentry.app · v1

13 endpoints. No API key. JSON in, JSON out.

Public read tier is free. 30s cache on the edge. Rate-limited per IP for abuse prevention. For high-volume / enterprise access (guaranteed rate, webhooks, SLA), reach out at hello@solsentry.app.

EndpointsCode samplesMCP install
Live
4,287.78h
continuous runtime
Endpoints
13
public endpoints
Latency
< 1s
p95, cached responses
Auth
None
for public read endpoints
Endpoint reference

Every route, every method

Stats & health
GET
/v1/stats
Global network counters — scans, accuracy, resolve rate, runtime, alerts.
curl https://api.solsentry.app/v1/stats
GET
/health
Liveness check. Returns 200 OK with a version string and uptime.
curl https://api.solsentry.app/health
GET
/health/invariants
Data invariants check — resolves vs predictions, accuracy floor, data freshness.
curl https://api.solsentry.app/health/invariants
Operators
GET
/v1/operator/{wallet}
Full operator profile — known flag, risk level, confirmed rugs, total tokens, rug rate, tags, patterns.
curl https://api.solsentry.app/v1/operator/4kxscuteRLQdNiTXA33YYsvywAPNA6DQTifswxjL5pH1
GET
/v1/operator/{wallet}/timeline
Token-by-token deployment timeline for an operator. Each entry: mint, deployed_at, final outcome, time-to-rug.
curl https://api.solsentry.app/v1/operator/{wallet}/timeline
GET
/v1/operator/{wallet}/network
Bounded operator graph (alts, bot clusters, KOLs). Tunable via tokens, clusters, peers query params.
curl 'https://api.solsentry.app/v1/operator/{wallet}/network?tokens=14&clusters=5&peers=3'
Tokens
GET
/v1/token/{mint}
Token-level analysis — risk score, flags, dev wallet, bot cluster links, outcome if resolved.
curl https://api.solsentry.app/v1/token/Bz4UpUmp...tRTwZv
Stream (live)
GET
/v1/alerts/recent?limit=20
Latest HIGH + CRITICAL alerts. Includes mint, risk score, age, dev wallet, and flag list.
curl https://api.solsentry.app/v1/alerts/recent?limit=50
GET
/v1/resolutions/recent?limit=20
Outcome stream — was_correct flag, final classification, resolution latency.
curl https://api.solsentry.app/v1/resolutions/recent?limit=50
Clusters & drain
GET
/v1/clusters?limit=20
Coordinated bot cluster list. Each cluster has a size, funding source, associated rugs.
curl https://api.solsentry.app/v1/clusters?limit=40
GET
/v1/cluster/{cluster_id}
Cluster detail — sample wallets, linked operators, tags, risk score.
curl https://api.solsentry.app/v1/cluster/{cluster_id}
GET
/v1/drain-trace/{wallet}
10-hop SOL drain trace with bridge + CEX classification. Fresh or cached 60s.
curl https://api.solsentry.app/v1/drain-trace/{wallet}
x402 payments (preview)
GET
/v1/x402/stats
x402
x402 payment ledger stats — total queries billed, USDC billed, unique clients, by-tool breakdown.
curl https://api.solsentry.app/v1/x402/stats
Code samples

Copy-paste integrations

TypeScript / Node
// TypeScript const res = await fetch( "https://api.solsentry.app/v1/operator/4kxscuteRLQdNiTXA33YYsvywAPNA6DQTifswxjL5pH1" ); const op = await res.json(); if (op.known && op.risk_level === "CRITICAL") { console.log( `Warning: ${op.confirmed_rugs} rugs / ${op.total_tokens} tokens` ); }
Python
# Python import requests wallet = "4kxscuteRLQdNiTXA33YYsvywAPNA6DQTifswxjL5pH1" r = requests.get(f"https://api.solsentry.app/v1/operator/{wallet}") op = r.json() if op["known"] and op.get("risk_level") == "CRITICAL": print(f"Rugs: {op['confirmed_rugs']} / {op['total_tokens']}")
Rust
// Rust use reqwest; let wallet = "4kxscuteRLQdNiTXA33YYsvywAPNA6DQTifswxjL5pH1"; let url = format!("https://api.solsentry.app/v1/operator/{}", wallet); let op: serde_json::Value = reqwest::get(&url).await?.json().await?; println!("Risk: {}", op["risk_level"]);
x402 payments (preview)

Per-query micro-payments for premium tools

Some MCP tools (high-cost lookups, premium classifications) will be gated by x402 — a Solana-native per-request micropayment protocol. No subscription. You pay only for what you query. Free tier remains free.

x402 is standardized 402-Payment-Required header signed with SPL USDC on Solana. SolSentry returns a 402 with an x-amount and x-payment-asset header; your client signs a micro-transfer; we return the response and ledger-record the payment. Public aggregates are always free.

Interested in gating a custom dataset? hello@solsentry.app

Status & SLA

What we guarantee today

Uptime

No contractual SLA on free tier. Current uptime > 99% over the last 30 days. Status page coming. Outages reported on @solsentryai.

Data freshness

Scans write within ~2s of deploy. Operator profile updates propagate within 30s. Edge cache is 30s.

Rate limit

Per-IP limit applies to protect infrastructure. Too many requests returns 429 with a Retry-After header. No key for public reads.