Skip to main content

March 2026

March 15, 2026

New Endpoints

CategoryEndpointDescription
LimitlessGET /v2/limitless/orderbooksHistorical orderbook snapshots for Limitless markets
OpinionGET /v2/opinion/orderbooksHistorical orderbook snapshots for Opinion markets
Predict.FunGET /v2/predictfun/orderbooksHistorical orderbook snapshots for Predict.Fun markets
All three endpoints return YES-side orderbook data with cursor pagination. Timestamps in milliseconds.

Kalshi Orderbook Data Gap

Kalshi orderbook data is unavailable between March 12 08:00 UTC and March 14 18:10 UTC due to an upstream Kalshi API format change. Data before and after this window is unaffected.

March 7, 2026

WebSocket: Pending Trades Channel

Added pending-trades channel to the WebSocket API, delivering real-time pending trade events before they are confirmed on-chain.

February 2026

February 20, 2026

WebSocket: Trade Event Payload Update

The order_filled event on the trades channel now includes four new fields:
FieldTypeDescription
outcome_indexnumber | null0 = first outcome (Yes/Over/Up), 1 = second outcome (No/Under/Down)
complement_token_idstring | nullToken ID of the opposite outcome for the same condition
complement_token_labelstring | nullLabel of the opposite outcome (e.g. “No”, “Under”, “Down”)
is_neg_riskboolean | nulltrue for neg-risk markets, false for standard CTF markets
All fields are additive and nullable (null when condition metadata is unavailable) - existing clients are unaffected. Only order_filled events are changed; fee_refund, activity, and lifecycle events are unchanged.

February 18, 2026

List Markets: Token ID Filter

The GET /v2/polymarket/markets endpoint now supports a token_id query parameter. Pass one or more token IDs (up to 50) to look up markets by either side’s token ID.

Crypto Up/Down: 5-Minute Timeframe

The GET /v2/polymarket/crypto-updown endpoint now supports 5m as a timeframe filter, in addition to the existing 15m, 1h, 4h, and daily options.

February 17, 2026

New Endpoint

CategoryEndpointDescription
WalletsGET /v2/polymarket/wallets/profilesBatch wallet profiles - fetch up to 20 wallet profiles in a single request
Pass a comma-separated list of addresses via the addresses query parameter. Returns the same WalletProfileResponse data as the single wallet endpoint. Wallets not found are omitted from the response.

February 10, 2026

Total PnL & Rolling Window Metrics

Total PnL (realized + unrealized - net fees) is now available across all analytics, leaderboard, smart money, and wallet endpoints. Filter, sort, and view total PnL alongside realized PnL for a complete picture of wallet performance.
Rolling total PnL accuracy timeline - Rolling windows need time to accumulate full data:
  • All-time total PnL: accurate immediately (February 10, 2026)
  • 1-day rolling total PnL: fully accurate starting February 11, 2026
  • 7-day rolling total PnL: fully accurate starting February 17, 2026
  • 30-day rolling total PnL: fully accurate starting March 12, 2026

New Filter Parameters

EndpointNew Parameters
GET /v2/polymarket/leaderboardmin_total_pnl, max_total_pnl, max_volume, max_trades, max_roi, max_profit_factor, max_win_rate, max_avg_trade_usd, max_wallet_age_days
GET /v2/polymarket/leaderboard/market/{condition_id}min_total_pnl, max_total_pnl, max_trades, max_volume
GET /v2/polymarket/wallets/filtermin_total_pnl, max_total_pnl
GET /v2/polymarket/markets/smart-activitymin_total_pnl
GET /v2/polymarket/market/{condition_id}/smart-moneymin_total_pnl

Schema Changes

Endpoint / SchemaChange
WindowMetricsAdded total_pnl field (realized + unrealized - net fees)
LeaderboardEntryAdded total_pnl field and first_trade_at field; total_pnl now available as a sort option
SmartActivityMarketAdded smart_total_pnl field; smart_total_pnl now available as a sort option
SmartMoneyPositioningAdded total_smart_total_pnl field
GET /v2/polymarket/positionsDefault sort order changed from desc to asc

February 8, 2026

New Endpoints

CategoryEndpointDescription
PolymarketGET /v2/polymarket/positionsBulk position fetching with block/timestamp filtering and cursor pagination for backfill and streaming
WalletsGET /v2/polymarket/wallet/volume-chart/{wallet}Per-wallet volume chart with BUY/SELL breakdown by period
AnalyticsGET /v2/polymarket/market/{condition_id}/top-holdersTop holders for a market ranked by position size

Schema Changes

Endpoint / SchemaChange
GET /v2/polymarket/markets/smart-activitymin_realized_pnl threshold increased from 1,000to1,000 to 5,000
GET /v2/binance/candles/{symbol}start_time and end_time are now optional (were required)
PositionDetailsAdded total_shares_bought field (total shares ever purchased, preserved after redemption); shares now described as current holdings (0 for closed positions)
WalletProfileResponseAdded total_pnl (realized + unrealized - net fees) and unrealized_pnl fields

February 4, 2026

API v2 Launch

We’re introducing API v2 - a major update with 14 new endpoints, improved pagination, and expanded analytics capabilities. v1 remains fully supported; switch between versions using the dropdown in the docs sidebar. Base path: All v2 endpoints live under /v2/ (e.g., https://api.predexon.com/v2/polymarket/markets).
New Endpoints

Binance Data

Real-time and historical Binance book ticker data for backtesting crypto up/down markets.

Smart Money Analytics

Track where profitable wallets are trading, filter by PnL/win rate, and discover alpha.

Wallet Intelligence

Full wallet profiles, trading style classification, market exposure, and similar wallet discovery.

Enhanced Market Data

Events grouping, crypto up/down markets, and per-period volume charts.
CategoryEndpointDescription
BinanceGET /v2/binance/ticks/{symbol}Raw book ticker data at microsecond granularity
BinanceGET /v2/binance/candles/{symbol}OHLCV candles derived from book ticker mid-prices (1s to 1d intervals)
Smart MoneyGET /v2/polymarket/markets/smart-activityMarkets ranked by smart wallet activity
Smart MoneyGET /v2/polymarket/market/{condition_id}/smart-moneySmart money positioning for a specific market
AnalyticsGET /v2/polymarket/leaderboardGlobal wallet leaderboard with 22 filter/sort parameters
AnalyticsGET /v2/polymarket/leaderboard/market/{condition_id}Per-market leaderboard
AnalyticsGET /v2/polymarket/cohorts/statsAggregate stats for wallet cohorts
AnalyticsGET /v2/polymarket/wallets/filterFilter wallets by market participation and performance
WalletsGET /v2/polymarket/wallet/{wallet}Full wallet profile with metrics across all time windows
WalletsGET /v2/polymarket/wallet/{wallet}/marketsMarkets a wallet has traded
WalletsGET /v2/polymarket/wallet/{wallet}/similarFind wallets with similar trading patterns
MarketsGET /v2/polymarket/eventsList events with grouped markets
MarketsGET /v2/polymarket/crypto-updownCrypto up/down prediction markets
MarketsGET /v2/polymarket/volume-chart/{condition_id}Per-period volume breakdown for a market

WebSocket Updates

WebSocket API

Major improvements to the WebSocket API with new event types, refined plan tiers, and better connection management.
New: Fee refund events The trades channel (orders) now delivers two event types: order_filled and fee_refund. Fee refund events allow precise net fee calculations by tracking Polymarket’s maker rebate program. Correlate refunds to trades via order_hash. Plan tiers restructured (Free/Pro/Desk → Free/Dev/Pro/Enterprise)
LimitFreeDevProEnterprise
WebSocket accessNoYesYesYes
Subscriptions per connection-10100Custom
Items per subscription-10500Custom
Total items-10050,000Custom
Wildcard-No2 per channelYes
Priority routing-NoNoYes
Wildcard rules updated
  • Wildcard connections are now tracked per-channel (e.g. a wildcard on orders does not count against activity)
  • A wildcard connection cannot mix wildcard and regular subscriptions on the same channel
  • Pro plan allows 2 wildcard connections per channel
Filter restrictions by channel
  • market_slugs filter is now only available on the trades (orders) channel
  • users filter is not available on the lifecycle channel
  • All channels support condition_ids and wildcard ["*"]
New error code: RATE_LIMIT - returned when a client is sending messages too fast Keepalive documentation: Server pings every 30s, 60s pong timeout, 2-minute idle timeout for zero subscriptions, and buffer overflow protections (1 MB drop threshold, 4 MB disconnect)
Breaking Changes (v1 → v2)
These changes only affect v2 endpoints. v1 endpoints remain unchanged.
Path parameter renamed: {wallet_address}{wallet} All wallet-related endpoints now use {wallet} instead of {wallet_address}:
  • /v2/polymarket/wallet/pnl/{wallet}
  • /v2/polymarket/wallet/positions/{wallet}
  • /v2/dflow/wallet/pnl/{wallet}
  • /v2/dflow/wallet/positions/{wallet}
Pagination: offset → cursor-based Several endpoints have switched from offset pagination to cursor-based pagination_key for better performance on large datasets:
EndpointRemovedAdded
/v2/polymarket/tradesoffsetpagination_key
/v2/dflow/tradesoffsetpagination_key
/v2/kalshi/marketsoffsetpagination_key
/v2/kalshi/tradesoffsetpagination_key
Parameter renames:
Endpointv1 Paramv2 Param
/v2/polymarket/tradesuserwallet
/v2/polymarket/activityuserwallet
Removed parameters:
EndpointRemoved ParamNotes
/v2/polymarket/marketstoken_idUse condition_id instead
/v2/matching-markets/pairsmatch_typeAll pairs are exact matches (similarity ≥ 95)

New Filter Parameters
EndpointNew Parameters
/v2/polymarket/marketsmin_volume_1d, min_volume_7d, min_volume_30d, min_trades_1d, min_trades_7d, min_trades_30d
/v2/polymarket/tradesmin_total, wallet
/v2/polymarket/activitysort_by, wallet

January 2026

January 19, 2026

Schema Updates

EndpointChange
/v1/matching-marketsAdded polymarket_condition_id and polymarket_market_id query parameters
/v1/matching-marketsAdded match_type query parameter to filter by exact, related, or all
/v1/matching-marketsResponse now includes condition_id and market_id fields for Polymarket markets
/v1/matching-markets/pairsResponse now includes condition_id and market_id fields for Polymarket markets
/v1/matching-markets/pairsResponse now includes match_type field for each pair

January 16, 2026

New Features

Trading API

Added support for trading on Polymarket and Kalshi prediction markets:
  • POST /api/users/{userId}/orders - Place buy or sell orders
  • GET /api/users/{userId}/positions - Get current positions with PnL
  • GET /api/users/{userId}/balance - Get available balances
  • POST /api/users/{userId}/redeem - Redeem resolved positions

January 15, 2026

Schema Updates

EndpointChange
/v1/kalshi/marketsAdded yes_subtitle and no_subtitle fields (replaces single subtitle field)
/v1/dflow/wallet/positions/{wallet_address}Added yes_subtitle, no_subtitle, market_title, outcome, status, total_cost_basis, total_qty_bought, total_qty_sold, first_trade_at, last_trade_at fields

January 13, 2026

New Features

Dflow Support

Added support for Dflow prediction market platform with three new endpoints:
  • GET /v1/dflow/trades - Fetch trade history for a wallet
  • GET /v1/dflow/wallet/positions/{wallet_address} - Get current positions with cost basis and PnL
  • GET /v1/dflow/wallet/pnl/{wallet_address} - Get realized PnL history

Breaking Changes

Candlesticks Response Structure ChangedThe /v1/polymarket/candlesticks/{condition_id} endpoint response structure has been updated:Before: Nested array of [candlestick_data_array, token_metadata] tuples After: Flat structure with condition_id at root and candlesticks as a direct array of candlestick objects
// New response structure
{
  "condition_id": "0x1234...",
  "candlesticks": [
    {
      "end_period_ts": 1704070800,
      "price": { "open": 0.55, "high": 0.57, ... },
      "volume": 125000.50,
      "trades_count": 847
    }
  ]
}

Schema Updates

ChangeDetails
CandlestickDataNew properly typed schema replacing untyped tuple format
CandlesticksResponseAdded condition_id field, flattened candlesticks array
PriceDataNew schema with explicit dollar-formatted string fields (open_dollars, high_dollars, low_dollars, close_dollars, mean_dollars, previous_dollars)

Improvements

  • All price values in candlesticks now include both numeric and dollar-formatted string representations
  • Response schemas are now fully typed for better client SDK generation
  • Improved API documentation with accurate response examples

How to Stay Updated

Discord

Join our Discord for real-time updates and community support
All breaking changes are announced at least 3 days in advance via Discord.