2026-06-14 - V3 pagination and Orderbook Stream limits documented
Expanded the public limit reference so clients can choose page sizes and WebSocket subscription shapes without relying on trial and error. The documented contract:- Most V3 list endpoints default to
limit=100and clamp requests to a maximum of300rows per page. GET /v3/wallets/{address}/pnl/eventsis the high-volume exception: it defaults to5,000buckets and allows up to10,000.GET /v3/markets/condition/{condition_id}/positionsallows up to300rows on Starter,1,000on Growth, and2,000on Enterprise.- Explicit Orderbook Stream lists are capped at
15,000resolved token IDs per connection. Usemarkets: ["*"]for the dedicated all-market firehose path. - Plan upgrades increase concurrent Orderbook Stream connections: Free has
1, Starter10, Growth50, and Enterprise is unlimited. The explicit-list cap remains per connection on every plan. - A
service_warming_upOrderbook Stream error means market metadata is still loading after a restart; retry the subscription shortly.
after and before windows are preferred over very large offsets.
Docs: Rate Limits and Orderbook Stream Overview
2026-06-13 - Settlement WebSocket delivery and metadata hardening
Pending settlement delivery no longer waits for an optional metadata refresh. This prevents a temporary metadata miss from dropping or delaying the transaction frame customers use for the pre-confirmation head start. What’s improved:- Pending
settlementevents are delivered immediately after in-memory enrichment, even when an optional market field is temporarily unavailable. - Missing metadata is refreshed outside the delivery path for subsequent events, so a slow metadata provider cannot add latency to settlement fan-out.
- Metadata completeness checks now cover
market_title,outcome,market_slug,condition_id,token_ids,outcomes,tokens, and each trade’s outcome label. - Confirmed
status_updateevents use the same metadata checks and remain pairable to the pending event bytx_hash. - Subscription acknowledgements are sent before initial snapshot frames, giving raw WebSocket clients a deterministic subscribe lifecycle.
2026-06-13 - Open-but-silent Orderbook Stream connections fixed
Fixed a failure mode where an Orderbook Stream socket could remain open after its delivery path had ended, leaving the client connected but no longer receiving updates. What’s improved:- Reconnects and resubscriptions now replace stale delivery state cleanly instead of reusing a connection that can no longer forward updates.
- Large explicit subscriptions continue receiving batches after reconnect and resubscribe cycles.
- Connections that cannot continue delivery are cleaned up instead of appearing healthy while silently stalled.
- Existing message types, subscribe payloads, snapshots, and batch formats are unchanged.
2026-06-12 - Higher V3 REST limits
Raised and standardized the public V3 data allowances across paid plans. New standard V3 limits:- Starter:
1,000requests per minute - Growth:
2,000requests per minute - Enterprise:
4,000requests per minute by default, with custom capacity by agreement
- Starter:
1,000requests per minute - Growth:
1,500requests per minute - Enterprise:
1,500requests per minute by default, with custom capacity by agreement
x-ratelimit-limit, x-ratelimit-remaining, and x-ratelimit-reset. Exceeded allowances return 429; V3 data routes require a paid API key and return 402 Payment Required for Free-tier keys. Event and Orderbook WebSocket limits are unchanged.
Docs: Rate Limits
2026-06-12 - Combo redemption, resolution, and P&L semantics
Hardened combo position accounting after a combo resolves or is redeemed. What’s improved:- Router, direct, and auto-redeemer paths are normalized into public
PositionRedeemedactivity withside: "Redeem". - Redemption activity includes
payout_usdcwhen available and reports the underlying module kind asCombinatorial,Binary, orNegRisk. - Fully redeemed winners return
RESOLVED_WIN; fully redeemed losers returnRESOLVED_LOSS. - Winning redemptions settle realized P&L as payout minus weighted-average entry basis, with zero remaining open entry cost.
entry_avg_price_usdcremains the historical weighted-average entry price after a position closes instead of being cleared.- Resolved leg metadata can include
RESOLVED_WIN/RESOLVED_LOSS,leg_resolved_at, andleg_current_price.
include_combos=true.
Docs: Combo Overview, Wallet Combo Positions, and Wallet Combo Activity
2026-06-12 - Faster V3 builder trade time filters
Improved reliability and latency for time-filtered builder trade lookups. What’s improved:GET /v3/builders/{code}/trades?after=...now returns consistently for high-volume builders instead of timing out on large builder histories.after/beforefilters now work efficiently with broadtag_slugorcategoryfilters when a time bound is provided.- Time windows outside a builder’s activity range return a normal empty response instead of an internal timeout.
- Invalid millisecond timestamps now return a structured
400with a hint to use Unix seconds.
2026-06-11 - Direct Chainlink coverage for all seven crypto feeds
Expanded theprice_feed WebSocket and crypto history APIs to use fresh Chainlink Data Streams coverage for every supported asset.
What’s improved:
BTC/USD,ETH/USD,SOL/USD,BNB/USD,XRP/USD,DOGE/USD, andHYPE/USDnow receive direct updates at approximately one tick per second.- Price events include real bid and ask values for all seven feeds.
- An unfiltered
type: "chainlink"subscription returns all seven feeds; usefilters.feedsto select individual feeds. GET /v1/crypto/price,GET /v1/crypto/ticks, andGET /v1/crypto/candlesuse the same fresh tick archive, with the Polymarket mirror retained as a fallback source.- New five-minute and fifteen-minute windows receive their opening tick at the window boundary, avoiding the prior relay-related freshness delay.
2026-06-11 - Polymarket combos: V3 API and WebSocket event references
Added public documentation for Polymarket combo / combinatorial position support. What’s new:- New combo API group in the API Reference.
GET /v3/combos/marketsfor observed combo markets and legs.GET /v3/combos/activityfor combo lifecycle activity by market, condition, position, or wallet.GET /v3/wallets/{address}/combos/positionsfor combo-only wallet positions.GET /v3/wallets/{address}/combos/tradesfor combo-only wallet trades.GET /v3/wallets/{address}/combos/activityfor combo-only wallet lifecycle activity.GET /v3/wallets/{address}/combos/summaryfor combo-only wallet P&L summary.include_combos=trueon wallet summary, wallet P&L, wallet positions, and wallet trades for additive standard + combo responses.- New WebSocket event reference pages for
combo_execution,combo_status_update,combo_lifecycle, andcombo_approval.
- Existing wallet endpoints keep their default response behavior. Combo data is included only when explicitly requested or when using dedicated combo endpoints.
- If a wallet has no combo exposure,
include_combos=truereturns a normal successful response with a zero combo contribution.
2026-06-09 - Deposit-wallet trading fixes in both SDKs
Releasedpolynode-sdk@0.10.18 for TypeScript and polynode==0.10.7 for Python.
What’s fixed:
ensureReady()/ensure_ready()now detects deployed Polymarket deposit wallets (POLY_1271) correctly.- V2 type-3 orders use the deposit wallet as both maker and signer, matching Polymarket’s expected order payload.
- Existing local credentials created with the previous wallet classification can be repaired by rerunning the SDK readiness method.
2026-06-09 - Python SDK v0.10.6 WebSocket resilience
Releasedpolynode==0.10.6 for Python WebSocket consumers.
What’s new:
- Event-stream subscriptions preserve frames that arrive before the subscribe acknowledgement, so handlers attached immediately after
await ...send()still receive initial snapshot/live events. - Default event WebSocket subscribe timeout is now 30s and configurable with
WsOptions(subscribe_timeout=...). - Orderbook
subscribe()now resolves only after the server acknowledges the subscription, and rejects promptly on server errors, disconnects, or timeout. - Orderbook
unsubscribe(token_ids)can remove a subset of tokens;unsubscribe()with no arguments remains the full unsubscribe behavior. - Added protocol regression tests for snapshot-before-ack, pending-subscribe errors, timeout handling, and partial unsubscribe behavior.
2026-06-09 - TypeScript SDK v0.10.17 WebSocket resilience
Releasedpolynode-sdk@0.10.17 for Node/TypeScript WebSocket consumers.
What’s new:
- Event-stream subscriptions preserve frames that arrive before the subscribe acknowledgement, so handlers attached immediately after
await subscribe(...).send()still receive initial snapshot/live events. - Default WebSocket subscribe timeout is now 30s and configurable with
subscribeTimeoutMs. - Orderbook
subscribe()now resolves only after the server acknowledges the subscription. - Orderbook reconnects replay the active token list without replacing existing handlers.
- Orderbook
unsubscribe(tokenIds)can remove a subset of tokens;unsubscribe()with no arguments remains the full unsubscribe behavior. - Added SDK protocol tests and a live orderbook soak test for multi-token subscribe, partial unsubscribe/resubscribe, snapshots, live batches, protocol errors, unexpected unsubscribe frames, and disconnects.
2026-06-08 - Atomic Orderbook Stream resubscriptions
Orderbook resubscriptions now keep the last valid market set active until a replacement set resolves successfully. What’s improved:- A transient unresolved slug, condition ID, or token list no longer clears the connection’s working subscription.
- An invalid replacement does not interrupt updates for the last valid token set.
- Upstream reconnects and market-rotation churn are absorbed by PolyNode while the downstream WebSocket remains on one stable logical subscription.
- Full-market and large watchlist traffic received broader throughput and backlog handling improvements, reducing stream stalls during bursts.
- Plan connection caps are enforced consistently without changing the existing subscribe payload or event formats.
subscribe and unsubscribe messages. For SDK consumers, the June 9 releases add acknowledgement-aware subscribe calls and automatic subscription replay after reconnect.
Docs: Orderbook Stream Overview
