- Renamed query parameters (‘start’/‘end’ to ‘from’/‘to’) and standardized response field names across order book, PnL candles, and WebSocket chart data endpoints
- Added support for DOGE, BNB, and HYPE asset symbols in price history queries, webhooks, WebSocket filters, and asset price API with validation for unsupported symbols
- Added realized_pnl_usd sorting option for positions with automatic win rate and average PnL metrics calculation
- Added comprehensive Order Book APIs with real-time WebSocket streams, historical snapshots, and spread time-series data with filtering by market, condition, and position ID
- Added support for 4-hour (4h) interval in asset price history across all APIs and webhooks
- Improved Polymarket market search with relevance scoring and enhanced validation for character counting and timeframe parameters
- Improved orderbook parsing to support both object and array formats for bid/ask levels
- Fixed orderbook metrics calculation, market endpoints to return proper 404 responses, and eliminated duplicate history records from redundant WebSocket connections
- Added 24-hour volume data to AI market responses and introduced an AI credit system with automatic billing for API, WebSocket, and webhook usage
- Added
exclude_shortterm_markets boolean flag to webhook filtering options
- Implemented connection and message rate limiting (30 connections per 60 seconds, 30 messages per second per organization) with improved error handling and validation to ensure clients join rooms before messaging
- Reduced WebSocket ping timeout from 30 minutes to 30 seconds for faster detection of inactive connections
- Fixed credit tracking and webhook suspension logic to prevent negative balances and duplicate suspensions
- Enhanced price-spike and volume-spike webhooks with configurable thresholds, time windows, and deduplication to detect market movements with reduced latency and false positives
- Webhook management enforces plan-based limits with automatic deletion or suspension on subscription changes
- Removed min_usd_value filter from asset price tick webhooks; use asset_symbols to filter tracked crypto assets instead
- Purchased credits now persist when changing subscription plans, with add-on credits consumed after plan credits are exhausted
- Added comprehensive event data including 24-hour volume, credit usage tracking, AI-optimized API response formats, and new webhook event types (Close to Bond, Market Created, Asset Price Ticks, Window Updates, Condition/Event/Position Metrics, Volume/Probability Milestones, and Volume Spikes)
- Introduced subscription filters for webhook events, enabling filtering by market, event, trader, position, and other criteria
- Improved WebSocket price feeds with immediate updates on new candle periods and enhanced webhook performance through rate limiting and stricter validation
- Updated market webhook payloads to use server timestamps, enriched events with Gamma API category metadata, and now include all markets regardless of metadata availability
- Fixed whale trade webhooks to only trigger for actual OrderFilled trades and corrected partial updates validation
- Webhooks now support per-endpoint event queue limits with enhanced delivery analytics tracking all attempts, failures, and error details
- Search API now returns markets and traders alongside events with independent pagination, new sorting parameters, and increased base credits from 2 to 3
- Added support for NegRisk contract adapter with new trade types (Split, Merge, Redemption, PositionsConverted) and enriched metadata
- Market data processing now automatically recovers from service crashes and replays pending updates on startup
- Trades stream payload includes updated confirmation timestamps with improved accuracy and deduplication logic
- Fixed trader PnL data accuracy, API cache separation between public and authenticated requests, and catchup buffer deduplication
- Added comprehensive webhook events for trader transactions, market entries, volume spikes, probability spikes, and real-time asset price updates with customizable timeframes, thresholds, and asset symbol filtering, plus 24-hour credit usage tracking with analytics
- Enhanced data reliability across trader PnL candles, condition metrics, event metrics, holder stats, and liquidity streams with exactly-once delivery guarantees and improved consumer catchup with non-blocking ack signal draining
- Improved Polymarket event and market search performance with optimized title-based search and faster indexing
- Removed price and probability open/close/high/low fields from Polymarket event and condition metrics
- Added
ai=true query parameter to API endpoints for optimized AI agent responses with truncated JSON payloads
- Webhook events API now includes category, credits cost, and applicable filter fields for each event type, with validation for webhook filters and subscriptions to enforce required fields at creation time
- Webhook delivery logging now visible by default with info-level logs for successful deliveries and warning-level logs for failures, including delivery ID, status code, and duration
- Fixed webhook credit deduction to use per-event costs instead of a global rate, eliminating silent webhook drops
- Added price jumps detection API endpoint (/v1/polymarket/market/price-jumps) that identifies significant price movements (configurable threshold, default 10%) within configurable candle windows (1, 5, 15, 30, 60, 240 minutes), with support for condition_id or market_slug lookup and millisecond timestamps for direct compatibility with the trades API
- Trader PnL now displays accurate average hold time for lifetime statistics
- Webhooks API endpoints updated to
/v1/webhooks and now support both API key and bearer token authentication methods
- WebSocket price updates now only trigger when candles are fully settled, preventing mid-candle close price changes and duplicate data during reconnections
- Added new webhook event types (market_created, volume_spike, volume_milestone, probability_spike, position_metrics, first_trade, new_market, whale_trade, close_to_bond, and PnL tracking) with customizable filters, 6-hour deduplication, concurrent execution support, and 7-day/30-day metrics periods
- Webhook subscriptions now use a single
event field per subscription; migrated API endpoints from /frontend/webhooks/* to /v1/webhook/* with volume testing endpoints to estimate delivery costs
- Added webhook management endpoints (list_events, rotate_secret) and improved WebSocket PING/PONG handling for more reliable connection management
- Asset history now returns null for incomplete time windows, webhook outcomes properly zero out incomplete candle data, and token account data on Polygon filters to Polymarket-relevant collateral tokens (USDC and USDe)
- Added trader PnL statistics including average PnL per market, average PnL per trade, and average hold time
- Implemented webhook deduplication to prevent duplicate webhooks with the same URL and event configuration
- Webhook API restructured with organization-based authentication, new event listing endpoint, and secret rotation capability
- FirstTradePayload webhook schema updated with improved numeric precision (f64 with 6 decimal places), removed unnecessary fields, and renamed slug to market_slug
- Removed ‘All’ event variant from webhook subscriptions and failure tracking fields for more precise event filtering and cleaner responses
- Market images now included in trade results and position queries across all APIs
- Asset price history query time bounds extended by 1 day to include in-progress candles with immediate queryability upon candle opening
- Real-time price updates now powered by Chainlink WebSocket integration for improved accuracy and reliability
- Price change percentage automatically computed from open and close prices for better data consistency
- Fixed asset price history data alignment across WebSocket, REST API, and backfill sources, with improved candle initialization and correct handling of price conflicts and invalid values
- Added market and event chart endpoints with TradingView-style resolutions (1H, 6H, 1D, 1W, 1M, ALL) with 2-3x faster queries via pre-aggregated data
- Extended markets and outcomes endpoints with new fields: series_slug, accepting_orders, uma_resolution_status, liquidity_usd, and liquidity_updated_at
- Added asset price history API endpoint for BTC, ETH, XRP, and SOL across multiple timeframes with cursor-based pagination using Chainlink price data
- Enhanced trader profile batch endpoint with lifetime timeframe support and ability to retrieve winning outcomes for resolved markets
- Improved WebSocket and Kafka resilience with automatic reconnection, sharded connections with redundancy, and exponential backoff retries
- Fixed trader PnL candles API response and improved chart query performance by ~75% for 1-week resolution
- API now uses explicit field names (market_slug, event_slug, created_time, start_time, end_time) with full backwards compatibility
- Added real-time Polymarket CLOB WebSocket streaming with market price feeds, sports updates, user order/trade channels, and automatic reconnection
- Added position-level PnL tracking and querying across 1d, 7d, 30d, and lifetime timeframes with filtering and sorting options
- Market responses enhanced with resolution source, CLOB rewards, individual outcome prices, lifetime metrics, detailed PnL analytics, and full outcome details including outcome_index and MarketStatus ‘all’ filter support
- Improved data quality by filtering invalid trades, protocol contract activities, fixing market outcome prices, correcting trade fees, and determining market closed status from Gamma metadata
- Added shares_usd field to event holder endpoints and expanded metrics API with new trading volume, fees, and trader count endpoints across multiple timeframes
- Improved Trader Positions endpoint with sorting by shares, USD value, PnL, and price, plus event slug filtering and increased limits to 50/200
- Enhanced market tracking with accepting_orders and uma_resolution_status fields, Cancelled trade type, and accurate UMA assertion state tracking; improved dispute tracking for UMA oracle markets with clear status distinction between disputed and settled outcomes
- Updated API responses to use typed enums instead of integers, numeric volume metrics, and Unix epoch format for timestamps; standardized end_time field naming and increased recommended markets endpoint limit to 250
- Added cursor-based pagination support to candlestick, volume chart, and trader endpoints for better time-series data handling
- Fixed market status API mapping and WebSocket URL configuration for Polygon chain; fixed UMA resolution status and market status updates to correctly handle out-of-order events and prevent data loss
- Market metrics API now returns nested metrics organized by multiple timeframes (1m, 5m, 30m, 1h, 6h, 24h, 7d, 30d) with volume, fees, transaction count, unique traders, and open interest change
- Added real-time PnL tracking across multiple timeframes for traders at market, event, and global levels with best/worst trade statistics and enhanced leaderboard sorting
- Restructured trader positions API with clearer field names and nested market-level PnL data under pnl field, plus market metadata in responses
- Simplified PnL data in holder responses with a single realized_pnl_usd field across event, market, and position holders
- Fixed share balance scaling issue in market holders, position holders, and trader positions endpoints
- Improved performance of holder and position queries through SQL refactoring with subquery patterns
- Added 7-day and 30-day metrics timeframes to events and markets with optional include_metrics parameter; market metrics now include volume, fees, transaction counts, trader counts, and open interest across all timeframes (1m, 5m, 30m, 1h, 6h, 24h, 7d, 30d)
- Added ability to fetch up to 50 events by ID or slug using comma-separated lists with enhanced sorting options (title, relevance, creation_date, start_date, EndTime, StartTime, CreatedTime)
- Implemented cursor-based pagination for event and market listing with up to 100 items per page, using base64-encoded pagination_key parameter
- Enhanced market filtering with advanced options including volume, liquidity, holders, tags, and status, plus bulk search across multiple fields
- Market API now returns granular time fields (created_time, start_time, game_start_time, closed_time, end_time) instead of end_date and resolution_date across REST and WebSocket APIs, and market status is now returned as a string (“open”/“closed”) instead of a number
- Events with a future start_date now return status “upcoming” instead of “open”, with added support for filtering by status and improved event status logic to distinguish between upcoming, open, and closed events; added show_market_images field to event list responses
Last modified on March 17, 2026