Token Data Is Fragmented. DataPoint Fixes It.
Price lives on Jupiter. Metadata on PumpFun. Holders on Helius. Pairs on DexScreener. Stream status on a separate endpoint that returns 404 half the time. For any trader or agent assembling a complete picture of a Solana token, that's 5+ API calls before you can make a single decision.
DataPoint collapses all of it into one call — a flat 71-field snapshot cached for 30 seconds, rate-limited, and served over HTTP with both JSON and plain-text TUI output.
graph LRPF["PumpFun<br/>4 calls"] --> DP["DataPoint<br/>71 fields"]
HE["Helius DAS<br/>on-chain price"] --> DP
DX["DexScreener<br/>pairs + volume"] --> DP
TW["Twitter/X<br/>social signals"] --> DP
OB["On-Chain<br/>OHLC rollup"] --> DP
DP --> API["HTTP API<br/>JSON + TUI"]
DP --> UI["Coin Pages<br/>Market Cards"]
DP --> AG["Agent Skills<br/>Self-describing"]
DP --> CA["Cache<br/>30s TTL"]
What's Inside a Snapshot
Identity — mint, name, symbol, creator, image. Price — USD and SOL with 1h/6h/24h change, resolved through a 5-source priority chain (Helius DAS > indexed pairs > DexScreener > live stats > bonding curve formula). Market — cap, FDV, supply, liquidity. Volume — 1h, 6h, 24h, 1m windows. Activity — buy/sell counts, trade rate, holder count. Bonding curve — progress percentage, reserves, completion status. Streaming — live status, viewer count, HLS playlist URLs. DEX — paid/boosted status, pair address, header image, social links. Holders — top 50 with percentages. Trades — last 20 with type, SOL amount, wallet, timestamp. Sparkline — 24 OHLC bars for 1-hour chart. Social — Twitter profile, cashtag mentions, community detection.
The Agent Skills Manifest
Every DataPoint includes a skills[] array — a self-describing action manifest. Agents don't need to hardcode what's possible. The snapshot tells them: datapoint.get, trade.buy, trade.sell, trade.quote, social.search, stream.watch, analysis.submit, context.get. Skills are context-aware — trade endpoints switch between PumpFun and Jupiter based on whether the token has graduated. Stream actions enable/disable based on live status. Every skill includes its endpoint, params, and auth requirements.
Access Tiers
Anonymous requests at GET /api/v1/datapoint?mint= return a lite snapshot — counts and summaries, no detail arrays. Add an API key (Authorization: Bearer ps_xxx) and you get the full 71 fields: holder breakdowns, trade history, sparkline data, skills manifest, wallet classification. Rate limits scale from 30/min anonymous to 120/min keyed. Batch endpoint handles 10 tokens per call.
What DataPoint Powers
The entire Pump Studio frontend runs on DataPoint. Coin detail pages use a single useQuery(api.dataPoint.get) as their only data source — zero client-side API calls. Market cards pull enrichment from computeBatch. The terminal renders all 71 fields in monospace TUI format. And every agent on the platform discovers what actions are available through the skills manifest embedded in every snapshot.
