AUTONOMOLaunch your API

Predge - Wallet Intelligence

api.predge.io

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) −

Category
Service
Networks
Base
Starting price
$0.005
Paid calls, 30 days
0

Paid endpoints

20 endpoints, sorted by usage. Prices are per request.

EndpointPriceNetworkCalls / 30d
GET/v1/attest/:conditionId

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.02Base0
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).

$0.005Base0
GET/v1/markets/:conditionId/history

Price/volume history for one Polymarket market (path param: 0x… condition id). Trade-print price series in daily buckets (price normalized to the YES side, NOT orderbook quotes — outcome_verified.flow: false) with per-bucket volume and whale volume, plus up to 200 individual prints; includes resolution/resolved_at straight off the markets row when settled (outcome_verified.resolution: true). Query param: window (7d|30d|all, default 30d — "all" bounded to 180 days). 15 min delay. 404 (not charged) if unknown.

$0.01Base0
GET/v1/markets/movers

Largest YES-price moves across active Polymarket markets over a 1h/6h/24h window (15 min delay). Prices are derived from stored trade prints normalized to the YES side (NO prints count as 1 - price) — trade-print series, not orderbook quotes; markets need >= 2 prints in the window. Each entry: condition_id, title, price_before, price_now, delta, prints_in_window, volume_in_window_usd, whale_volume_in_window_usd (trades >= $10,000). Top-20 by |delta|. Query param: window (1h|6h|24h, default 6h).

$0.005Base0
GET/v1/onchain/pm-activity/:wallet

Recent ON-CHAIN Polymarket trades of one wallet (path param: 0x… proxy-wallet address), EACH wrapped in its own ed25519-SIGNED attestation (kind "onchain-activity"). Honest scope: Polymarket-whale on-chain activity — real Polygon transactions of prediction-market wallets — NOT general ERC-20/DEX crypto intel. Every attested row has a real tx_hash (Kalshi's anonymous prints have no on-chain identity and are excluded by construction). Signed facts per trade: tx_hash + block_time (no block number is stored, none is claimed — derive it from the tx receipt), wallet, condition_id, side, price; size_usd is included but labeled a MODELED USD notional in data_basis. Attestations are minted ONCE per tx_hash and reused (byte-stable signature per transaction), and verify FREE offline at GET /verify against the same published key as every Predge envelope. 15 min delay. Query param: limit (1-50, default 20). 404 (not charged) for a wallet with no on-chain Polymarket trades in the Predge dataset.

$0.02Base0
GET/v1/onchain/pm-flows

24h aggregate ON-CHAIN Polymarket flow by market, as ONE ed25519-SIGNED attestation (kind "onchain-flows"): per-market YES/NO volume split, net flow, trade counts and unique wallets over tx_hash-anchored Polygon trades only (platform='polymarket' AND tx_hash present — Kalshi's anonymous prints are excluded by construction). Honest scope: Polymarket-whale on-chain activity, NOT general crypto flows. The signed window_start/window_end are the exact bounds the aggregation ran over (window_end honours the 15-min delay); USD volumes are MODELED notionals, labeled in data_basis. Top-20 markets by volume; market titles ride outside the envelope (mutable metadata, never signed). Verify FREE offline at GET /verify.

$0.02Base0
GET/v1/signals/consensus

PREMIUM smart-money consensus. "Smart money" is EDGE-based, not the opaque scorer: a wallet qualifies when its luck-damped realized edge over the last 30d is positive — edge_lower_bound = Wilson-95%-lower-bound(live win rate) − avg entry price > 0, from RESOLVED outcomes (same machinery as the wallets leaderboard), with skin-in-the-game floors (>= 10 trades, >= $1,000 volume). For every active Polymarket market with whale trades (>= $10,000) in the last 24h from those wallets: YES/NO volume split, net flow (USD), distinct smart-wallet count, and a direction verdict — "yes"/"no" when one side holds >= 55% of smart volume (>=10% imbalance), else "split". Sorted by smart volume, top-50. Honest degradation via {"insufficient_data": true, "reason": ...} while no wallet has a positive edge yet. 15 min delay.

$0.03Base0
GET/v1/signals/consensus/:category

Smart-money consensus for ONE market category (path param, e.g. economics, politics, sports — case-insensitive). Same EDGE-based smart-money definition as /v1/signals/consensus (luck-damped realized edge over the last 30d > 0, NOT the scorer score), scoped: active Polymarket markets of that category with whale trades (>= $10,000) in the last 24h from edge-positive wallets; YES/NO smart volume, net flow, direction verdict. Category coverage is partial — markets without a category are excluded (see coverage_note in the response). Unknown category => 404 (not charged) listing known_categories. Honest degradation via {"insufficient_data": true, "reason": ...}. 15 min delay.

$0.02Base0
GET/v1/signals/daily

Aggregated 24h whale digest for Polymarket (15 min delay): top-10 markets by whale volume with YES/NO net flow, top-10 largest single bets, and totals (whale trade count, volume, unique wallets). One call = full daily picture.

$0.02Base0
GET/v1/signals/daily/:category

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.01Base0
GET/v1/signals/market/:conditionId

Single-market smart-money VERDICT for one Polymarket market (path param: conditionId, 0x… Polymarket condition id) — the "should you trust this move?" decision, built to be looped once per market per cycle. This is /v1/signals/consensus scoped to one market: SAME edge-based smart-money population (a wallet qualifies when its luck-damped realized edge over the last 30d — Wilson-95%-lower-bound(live win rate) − avg entry price — exceeds 0, from RESOLVED outcomes, with the same >= 10 trades / >= $1,000 floors), and the SAME direction rule (>= 55% of smart volume / >= 10% imbalance => "yes"/"no", else "split"). Returns market metadata (title, category, yes_price, status, and resolution/resolved_at when settled), the edge-proven smart-money read for whale trades (>= $10,000) in the last 24h — distinct smart wallets, YES/NO split, net flow (USD), direction verdict — plus total-vs-smart whale volume and a plain confidence (none|low|medium|high) + basis an agent can act on. Honest degradation

$0.01Base0
GET/v1/sports/attest/:league/:eventId

Cryptographically SIGNED settled-SPORTS-outcome ATTESTATION for one game (path params: league — one of nba|wnba|nfl|college-football|mlb|nhl|mls|epl|champions-league|laliga — and eventId, an ESPN event id). Returns the SETTLED result (winner, final score, completed) as an ed25519-signed envelope verifiable OFFLINE against the SAME published key as /v1/attest. Optional query param: winner (team abbreviation) — adds correct (true iff it matches the settled winner, null while unsettled). Data source: ESPN's public scoreboard (no key, no account). Outcome-verified truth, not a prediction — the tamper-evident settled outcome a betting/trading agent needs for settlement, dispute, or a verifiable track record. 404 (not charged) for an unknown league or event id.

$0.02Base0
GET/v1/track-record/:pubkey

SIGNED portable track record of a predictor's live calls: resolved-only decided/correct counts, Wilson 95% lower bound, and a sha256 merkle root content-addressing the exact corpus of signed calls it summarizes (recomputable offline). Records under the min-decided floor carry clears_bar=false. Param: pubkey (64-hex ed25519), query window (30d|90d|all).

$0.05Base0
GET/v1/wallets/:address

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.01Base0
GET/v1/wallets/:address/attest

Cryptographically SIGNED WALLET TRACK-RECORD attestation (path param: 0x… wallet address; optional query param: window = 7d|30d, default 30d). Returns the wallet's RESOLVED-market-only record — win_rate, Wilson 95% lower bound, edge over entry price, conviction_score, volume, and a verdict (verified_smart_money | positive_edge | no_proven_edge) — as an ed25519-signed envelope verifiable OFFLINE against the SAME published key as /v1/attest. Every other tool shows a self-reported or scraped win rate you must trust; this SIGNS it, so a copy-trading platform, a fund proving a track record to an allocator, or an agent sizing a copy can verify the record without trusting this endpoint. Win rate is computed from resolved markets only (a trade wins when its side equals the market's eventual resolution). 404 (not charged) when the wallet has no resolved trades in the window.

$0.02Base0
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}.

$0.02Base0
GET/v1/wallets/compare

Side-by-side comparison of 2-10 wallets. Query param: addresses (comma-separated 0x… addresses, 2-10, deduplicated). Each wallet: Predge score, live win_rate_7d/win_rate_30d (computed from RESOLVED markets only — outcome_verified: {win_rate: true, pnl: false}), modeled_pnl_30d_usd/modeled_pnl_all_time_usd (a MODELED binary-payout estimate over RESOLVED markets — $1 per winning share, shares = size_usd ÷ entry price; the same model every wallet route uses, not realized/settled P&L), and top-5 favorite categories; plus market_overlap: markets traded by >= 2 of the compared wallets. Wallets unknown to the dataset are returned with found:false rather than dropped.

$0.02Base0
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

$0.01Base0
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.005Base0
GET/v1/whales/market/:conditionId

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.01Base0

Is this your project? Suggest an edit.