Free Predict.fun API — markets, trades and wallet P&L
Every Predict.fun trade on BNB Chain with its wallet, read from the chain itself, beside the markets, their order books, each wallet's positions and a leaderboard of every wallet by realized and unrealized P&L. Ask in plain words from Claude, ChatGPT or Cursor, or call the REST API, on one free key.
“Which Predict.fun markets traded the most in the last 24 hours?”
“Who are the most profitable wallets on Predict.fun, counting open positions too?”
“What does this wallet hold on Predict.fun, and what is its P&L? (paste an address)”
Ask Predict.fun in plain words
Add the MCP server to Claude, ChatGPT or Cursor once, then ask about any market or wallet.
https://data.vike.io/mcp| Tool | Credits | What it answers |
|---|---|---|
predictfun_overview | 1 | Predict.fun (prediction markets on BNB Chain) at a glance: open markets, and the USD volume, number of matches and number of wallets over the last 24 whole fill hours, ending with the newest hour built (`newest_trade_ts`, epoch ms, is the newest fill counted; rebuilt hourly, so up to ~1.5 h behind the live tape) |
predictfun_markets | 1 | Predict.fun markets with each one's 24-hour USD volume, matches and wallets (the 24 whole fill hours ending with the newest hour built, up to ~1.5 h behind the live tape), largest volume first (or newest first) |
predictfun_market_detail | 1 | One Predict.fun market by `market_id`: the market (title, question, status, category, fees, and `details`, Predict.fun's own record of it), its outcomes (token ids, names, WON/LOST once resolved, each one's last price) and stats (24-hour and total USD volume, 24-hour matches and wallets, `last_price` of the first outcome, Yes) |
predictfun_market_book | 1 | The newest recorded order book of one Predict.fun market, priced on its first outcome (Yes): `bids` highest first and `asks` lowest first as [price, quantity], orders matched but not yet settled (`pending_*`), the last settled order, `ts` (Predict.fun's time) and `recorded_ts` (ours), epoch ms |
predictfun_market_trades | 1 | One Predict.fun market's on-chain fills with the wallet behind each, newest first: ts (epoch ms), tx_hash, wallet, counterparty, role (maker/taker), side (BUY/SELL of token_id), outcome, size (shares), price (0-1), usd, fee |
predictfun_wallet_trades | 1 | One wallet's Predict.fun fills, newest first, each with its market (`market_id`, `market_title`) and `outcome`; otherwise the rows of predictfun_market_trades |
predictfun_wallet_positions | 1 | One wallet's Predict.fun positions and P&L, per outcome token: net shares, cost, proceeds, mark (last price), value (net x 1 won, x 0 lost, x mark while open), pnl = proceeds - cost + value, state (open, won, lost, uncatalogued); totals over ALL positions with realized (resolved) and unrealized (open) P&L |
predictfun_leaderboard | 1 | Every Predict.fun wallet ranked by realized P&L (default), volume or fills over a window, or by today's unrealized P&L; each row carries realized and unrealized P&L, open value, open and resolved positions (outcome tokens), volume and fills for every window |
The routes under /v1/predictfun
Base URL https://data.vike.io/v1, one header: X-API-KEY. 20,000 requests an hour on a free key.
/v1/predictfun/overview
Predict.fun at a glance
/v1/predictfun/markets
List Predict.fun markets
/v1/predictfun/markets/{market_id}
One Predict.fun market
/v1/predictfun/markets/{market_id}/book
One market's order book
/v1/predictfun/markets/{market_id}/trades
One market's fills, with wallets (paged)
/v1/predictfun/wallets/{address}/trades
One wallet's fills (paged)
/v1/predictfun/wallets/{address}/positions
One wallet's positions and P&L
/v1/predictfun/leaderboard
Wallet leaderboard
curl -H "X-API-KEY: $VIKE_API_KEY" "https://data.vike.io/v1/predictfun/overview"
import os, requests
r = requests.get(
"https://data.vike.io/v1/predictfun/overview",
headers={"X-API-KEY": os.environ["VIKE_API_KEY"]},
)
print(r.json())
Every parameter and response field: the OpenAPI document, no key needed.
Trades, with the wallet
One row per fill of Predict.fun's exchange contracts on BNB Chain, the maker's side, read as blocks arrive. A market's trades and a wallet's trades return the same row.
| Field | Type | Description |
|---|---|---|
ts | timestamp, UTC | The block time of the fill. |
wallet | address | The maker of the fill, lowercase 0x. |
side | BUY | SELL | What the maker did with the outcome token. |
role | maker | taker | taker when the maker's order was the one that crossed. |
price | number | USD per share: usd divided by size. |
size | number | Shares of the outcome token. |
usd | number | The fill's value in USDT on BNB Chain. |
tx_hash | hash | The BNB Chain transaction that carried the fill. |