Predge Whale Data API
activePolymarket outcome-verified whale intelligence + Kalshi institutional whale flow from the Predge tracking pipeline, sold per-call over the x402 payment protocol. No API keys, no accounts. Kalshi routes are anonymous flow only — Kalshi has no public trader attribution — and are explicitly labeled not outcome-verified.
- Transactions · 30d
- 0
- Volume · 30d
- $0.00
- Unique buyers · 30d
- 0
- Uptime · 30d
- 75.6%
- Latency p50
- 93ms
Endpoints (31 live)
GET/v1/wallets/:address(0.01 USDC on Base)GET/v1/markets/movers— Returns the biggest market movers for tracked assets. (5000 on Solana)GET/v1/signals/daily— Returns daily signals for tracking market opportunities and trends. (0.02 USDC on Base)GET/v1/whales/market/:conditionId(10000 on Solana)GET/v1/markets/:conditionId/history(0.01 USDC on Base)GET/v1/wallets/compare(20000 on Solana)GET/v1/attest/:conditionId(0.02 USDC on Base)POST/v1/calls— Commit a SIGNED live call: an ed25519-signed prediction (yes/no) on an OPEN Polymarket market, chain-linked (prev_hash) and content-addressed (sha256). Refuses resolved/closed markets — the signature must precede the outcome. Tamper-evident by construction; verify free at GET /verify. Body: {condition_id, side: yes|no, size_usd?, note?}. (0.1 USDC on Base)POST/v1/calls/:id/resolve— Attach the settled outcome to a signed call once the market resolves. Returns BOTH envelopes: the original live-call and a resolution envelope that binds its content_hash (call and outcome welded together). Idempotent — an already-resolved call returns its stored envelopes. (20000 on Solana)GET/v1/wallets/:address/history— Historical trades for one wallet (path param: 0x… proxy-wallet address) plus a running win-rate & MODELED-PnL curve, computed ONLY from RESOLVED markets (modeled_pnl_usd is a MODELED estimate, NOT realized/settled P&L — it assumes a $1 binary payout per winning share, shares = size_usd ÷ entry price; not a substitute for on-chain settled P&L). Unresolved trades still appear (won: null, modeled_pnl_usd: null) but do not move the curve. Query param: window (30d|90d|all, default 30d — "all" is UNBOUNDED, window_days: null). The trades array is capped at 500 most-recent-first, but summary is computed over EVERY trade in the window (see summary.trades_returned / trades_capped), so the total matches this wallet's profile. 15 min delay. 404 (not charged) for wallets unknown to the Predge dataset. outcome_verified: {win_rate: true, pnl: false}. (20000 on Solana)GET/v1/whales/latest— Latest Polymarket whale trades (15 min delay). Trades >= $10,000 notional with market, side, size, price, wallet address and Predge wallet score (0-100, 30d win rate). Source: Predge whale-tracking pipeline (@predge_alerts_bot). Query param: limit (1-100, default 50). (0.005 USDC on Base)GET/v1/wallets/leaderboard— Top Polymarket wallets over a 7d or 30d window, ranked by EDGE, not by raw win rate. Win rate is computed from RESOLVED markets only (a trade wins when its side matches the final resolution), but ranking a wallet by win rate alone rewards backing favourites — winning a bet the market prices at 0.99 shows no skill. So wallets are ordered by edge_lower_bound = (Wilson-95%-lower-bound of win_rate) − avg_entry_price: how far the wallet beat the price it paid, damped so a tiny perfect record can't top a large one. Final ranking is by conviction_score = edge_lower_bound × ln(1 + total_volume_usd), scaling proven edge by the capital behind it (a real edge on $200k outranks the same edge on $6k), with log diminishing returns so size alone can't buy the top. Rankable wallets need >= 10 trades AND >= $1000 total volume in the window (a skin-in-the-game floor — cent-sized longshot bets otherwise manufacture a real-looking edge) plus at least one decided trade. Each entry: address, Predge score (0-100 or null), win_rate, avg_entry_price, edge, win_rate_lower_bound, edge_lower_bound, conviction_score, decided_trades, trades_count, total_volume_usd, avg_position_usd. Honest degradation: {"insufficient_data": true, "reason": ...} when the dataset is too young. Query params: window (7d|30d, default 30d), limit (1-100, default 50). (10000 on Solana)GET/v1/signals/consensus(0.03 USDC on Base)GET/v1/bets/biggest— Largest single trades by notional across ALL Polymarket markets in the window (15 min delay). Same trade shape as /v1/whales/latest, sorted by size_usd descending, top-20; live (unresolved) flow — outcome_verified: false. Query param: window (24h|7d, default 24h). (5000 on Solana)GET/v1/attest/1— Cryptographically SIGNED resolved-outcome ATTESTATION for one Polymarket market (path param: 0x… condition id). Returns the SETTLED truth straight off the market row: resolved (bool), resolution (yes|no|null), resolved_at, and outcome_verified: {resolution: true}. Optional query param: side (yes|no) — when given, adds queried_side and correct (true iff side matches the resolution, null while unresolved). Every response carries an "attestation" envelope: an ed25519 signature over a canonical JSON payload plus the issuer's public_key, so any consumer can verify the outcome offline without trusting this endpoint. This is on-chain resolved outcome truth, NOT a prediction or model estimate — the "was this signal actually right", independently-verifiable primitive no other x402 source sells. 404 (not charged) for a condition id unknown to the Predge dataset. (0.02 USDC on Base)GET/v1/signals/daily/1— 24h whale digest for ONE market category (path param, e.g. economics, politics, sports — case-insensitive): top-10 category markets by whale volume with YES/NO net flow, top-10 largest single bets, and totals — same shape as /v1/signals/daily, category-scoped. Category coverage is partial — markets without a category are excluded (see coverage_note in the response). Unknown category => 404 (not charged) listing known_categories. 15 min delay. (0.01 USDC on Base)GET/v1/whales/market/1— Whale activity for one Polymarket market over the last 7 days (15 min delay). Path param: conditionId (0x… Polymarket condition id). Returns market info, aggregate whale volume, YES/NO split, net flow, unique whale wallets, and up to 200 trades. (0.01 USDC on Base)GET/v1/markets/1/edge— Sub-cent per-market smart-money EDGE PULSE for one Polymarket market (path param: conditionId, 0x… condition id), built for CONTINUOUS POLLING by trading bots — a lean projection of /v1/signals/market meant to be hit every loop across many markets, not looked up once. Returns just the decision numbers: direction (yes|no|split) and net smart-money flow (USD) over edge-proven wallets' whale trades (>= $10,000) in the last 24h, distinct smart_wallets, smart_volume_usd, a confidence (none|low|medium|high), the current yes_price for context, and a "stale" flag (true once the market resolves or too few smart wallets have touched it — the bot's signal to stop acting). SAME edge-based smart-money definition as /signals/consensus. 30s server cache; 15 min delay. 404 (not charged) for a condition id unknown to the Predge dataset. (0.002 USDC on Base)GET/v1/wallets/1— Full profile of one Polymarket wallet (path param: 0x… proxy-wallet address, lowercase). Returns Predge score (0-100), win rates (live-computed 7d/30d from resolved markets + scorer's 30d/90d — outcome_verified: {win_rate: true, pnl: false}), all-time totals (trades, avg position, and modeled_pnl_30d_usd/modeled_pnl_all_time_usd — a MODELED binary-payout estimate over RESOLVED markets, all_time genuinely unbounded, matching the wallet-history curve; NOT realized/settled P&L, see the note field), top-5 favorite market categories, and the last 20 trades delayed 15 minutes. 404 (not charged) for wallets unknown to the Predge dataset. (0.01 USDC on Base)GET/v1/wallets/1/history— Historical trades for one wallet (path param: 0x… proxy-wallet address) plus a running win-rate & MODELED-PnL curve, computed ONLY from RESOLVED markets (modeled_pnl_usd is a MODELED estimate, NOT realized/settled P&L — it assumes a $1 binary payout per winning share, shares = size_usd ÷ entry price; not a substitute for on-chain settled P&L). Unresolved trades still appear (won: null, modeled_pnl_usd: null) but do not move the curve. Query param: window (30d|90d|all, default 30d — "all" is UNBOUNDED, window_days: null). The trades array is capped at 500 most-recent-first, but summary is computed over EVERY trade in the window (see summary.trades_returned / trades_capped), so the total matches this wallet's profile. 15 min delay. 404 (not charged) for wallets unknown to the Predge dataset. outcome_verified: {win_rate: true, pnl: false}. (0.02 USDC on Base)
+11 more endpoints.
First seen · last seen