Server-built OHLCV candles from real onchain fills. Each candle includes open, high, low, close, total volume in USD and shares, separate buy and sell volume, trade count, and VWAP.Pagination is anchor-based: each request returns up to 1000 trades worth of candles, anchored at a timestamp, block number, or transaction hash. Walk older history by passing the cursor from the previous response. Same model used by major exchange APIs.
Resolutions: 1m, 5m, 15m, 1h, 4h, 1d. Optional gap_fill=true for charting libraries that expect a continuous time axis. Full reference at /api-reference/onchain/candles.
Fixed: /v2/onchain/positions wallet queries now sort by recency
When querying positions for a specific wallet, results are now ordered by the most recent on-chain activity for each position. Previously the order=desc parameter did not reflect recency, causing newer positions to appear below older ones.The most recently traded positions now appear at the top. Positions with no fill history (rare — acquired purely via split, merge, or redemption) are placed at the end.
Wallet queries now include a last_activity field on each position, containing the unix timestamp of the most recent fill for that position. Use it to display “last traded” times in your UI.
Wallet queries return every position for the wallet in a single response (up to 500), ordered by recency. has_more is always false and no cursor is returned — request limit=500 once and read all results. Wallets with more than 500 lifetime positions are capped.Non-wallet queries (filtering by market_slug, condition_id, token_id, or min_size alone) continue to use cursor-based pagination.
Local order history now persists fee escrow data (feeAmountRaw, escrowOrderId, feeEscrowTxHash). Existing databases auto-migrate on first open. No action required.
One-liner to add price-to-beat overlays to any live chart. Renders interval buttons (5m/15m/1h), auto-discovers Polymarket short-form markets, draws a dashed price line, and shows live odds with a countdown timer.
New npm package for interactive charting in the browser. Zero dependencies, Canvas 2D rendering at 60fps, purpose-built for prediction market data and live crypto price streams.
Full docs at Charts SDK Overview, including API reference, data providers, series types, examples, and configuration.
polynode-charts is the browser visualization companion to polynode-sdk (the Node.js data SDK). They are separate npm packages. Building a frontend? Install both.
status_update events now include a confirmed_fills array with exact execution data from on-chain OrderFilled receipt logs. This is the same data source Polymarket’s own APIs read.
status_update events now carry a confirmed_fills field — an array of per-fill objects with exact price, size, fee, order hash, maker, taker, and token ID
Each fill is decoded directly from OrderFilled receipt logs on the CTF Exchange and NegRisk CTF Exchange contracts
Prices match Polymarket’s activity data exactly (verified across 1,300+ fills with zero price discrepancies)
polynode detects settlements 3-5 seconds before on-chain confirmation by decoding transaction calldata from the mempool. For single-maker fills, calldata prices are exact. For multi-maker fills (~5% of trades), the calldata only has aggregate amounts, so per-maker prices are estimated within 0.01-0.04.With confirmed_fills, you now get both: the fast pre-confirmation signal AND the exact on-chain execution data in a single subscription. Use whichever fits your use case.
confirmed_fills reports gross token amounts from the OrderFilled event. Polymarket’s activity API reports sizes net of fees. The fee field on each fill lets you compute the net amount if needed.
New redemption event type in the WebSocket stream. Every time a user redeems their outcome tokens after a market resolves, you get a real-time event with the redeemer address, payout amount, condition ID, and full market metadata enrichment.
polynode now supports the Polymarket V2 exchange system alongside V1. All V2 contracts have been identified, decoded, and verified against live mainnet data.
2026-04-05 — Short-Form Docs: Full Field Reference + Orderbook Guide
Updated the Short-Form Markets documentation with the complete ShortFormMarket field reference. All 14 fields are now documented, including conditionId, clobTokenIds, windowStart, windowEnd, outcomes, and outcomePrices which were previously undocumented.Added a new “Connect the Orderbook to Crypto Markets” section showing how to pass clobTokenIds from a short-form rotation event directly to OrderbookEngine for real-time depth data on crypto prediction markets. Includes TypeScript and Rust examples.No SDK changes. All fields were already available in the SDK — this is a docs-only update.
Fixed stale price-to-beat values in short-form crypto markets. Polymarket changed the variant parameter on their crypto-price endpoint for 5-minute and hourly markets. The SDK now sends the correct values, matching what Polymarket’s own frontend uses.Affected intervals: 5-minute and hourly. 15-minute was unaffected.
Fixed a bug where price_feed events from Chainlink subscriptions were silently dropped in the TypeScript SDK. The .on('price_feed', ...) handler now fires correctly.
Split, merge, and convert positions directly from the SDK. No need to interact with smart contracts manually.TypeScript — gasless execution via the Polymarket relayer:
New positions_converted event type for tracking position conversions on neg-risk multi-outcome markets.When a trader converts NO positions into USDC + YES positions on complementary outcomes (via the NegRiskAdapter convertPositions function), this event fires with the full decoded details.
Platforms can now pass their own Polymarket builder credentials for order attribution. All volume gets credited to your builder profile on the Builder Leaderboard.