Skip to main content

Subscribe to all Changes:

  • Add to any RSS reader using the URL: https://docs.polymarket.us/changelog/rss.xml
  • Slack has a built-in reader: use /feed subscribe https://docs.polymarket.us/changelog/rss.xml
June 12, 2026
IncentivesInstitutional APIRetail API
v0.0.46
  • World Cup futures liquidity rewards increased (effective 12:00am ET, Friday June 12):
    • Tournament Winner Futures: $1,500/day → $5,000/day.
    • Group Winners & Golden Boot Futures: $750/day → $1,500/day.
    • Exotic Futures: $500/day → $1,000/day.
  • Discount factors and target sizes unchanged.
June 11, 2026
ImprovementInstitutional APIRetail API
v0.0.45
  • Soccer spread/total markets now use the spreads/totals outcome_type for every period. Previously, soccer first-half, second-half, and team-total markets were listed with outcome_type = "props". They now use the same structural outcome_type as full-game spreads/totals, matching basketball and baseball period markets. The period is encoded by market_sport_type.
    • Spread → outcome_type = "spreads": soccer_team_first_half_spread, soccer_team_second_half_spread.
    • Total → outcome_type = "totals": soccer_team_first_half_total, soccer_team_second_half_total, soccer_team_total_goals, soccer_team_total_goals_first_half.
  • Action recommended: identify market structure from outcome_type and the period from market_sport_type. Do not assume soccer period spread/total markets are props. See Sports Schema.
  • Where to read it: Retail — sportsMarketType from GET /v1/market/slug/{slug}; Institutional — outcome_type and market_sport_type from SearchInstruments / GetInstrument.
June 11, 2026
IncentivesInstitutional APIRetail API
v0.0.45
  • World Cup liquidity rewards increased (effective 2:00pm ET, Thursday June 11): Total per game raised from $30,000 → $50,000.
    • Moneyline/spreads/totals: $20,000 → $35,000 (Moneyline $26,250, Spreads $4,375, Totals $4,375).
    • Player Props: $5,000 → $7,500 ($3,750 Pre-game + $3,750 Live).
    • Team Props: $5,000 → $7,500 ($3,750 Pre-game + $3,750 Live).
  • Discount factors and target sizes unchanged.
June 9, 2026
MaintenanceUpcomingInstitutional APIRetail API
v0.0.44
  • Maintenance window — Thursday, June 11, 3:00am–5:00am EST. Please note the time change, as this is different than our normal hours. This is a one-off time change.
June 9, 2026
UpcomingInstitutional APIRetail API
v0.0.43
We heard feedback from some of our users that they needed more time to fully migrate to partial contracts, so we pushed back full rollout. All newly listed instruments will become partial-contract markets on Thursday, June 11, 2026 at 5:00 PM ET (21:00 UTC). Long-dated futures markets listed before then and all World Cup instruments are partial-contract markets, so all market makers and API users should support partial-contract instruments now.
June 6, 2026
New FeatureInstitutional APIRetail API
v0.0.42
  • NHL hockey market types are live. The following enums are added to market_sport_type (Retail sportsMarketType):
    • Game:
      • hockey_game_overtime (will the game go to overtime?)
      • hockey_game_double_overtime (will the game go to double overtime?)
    • Player props:
      • hockey_player_goals
      • hockey_player_assists
      • hockey_player_points
  • Where to read it: Retail — sportsMarketType from GET /v1/market/slug/{slug}; Institutional — market_sport_type from SearchInstruments / GetInstrument.
June 6, 2026
New FeatureInstitutional APIRetail API
v0.0.41
  • UFC market types are live. The following enums are added to market_sport_type (Retail sportsMarketType):
    • ufc_method_of_victory
    • ufc_go_the_distance
    • ufc_round_of_victory
    • ufc_round_of_finish
    • ufc_method_of_finish
  • Where to read it: Retail — sportsMarketType from GET /v1/market/slug/{slug}; Institutional — market_sport_type from SearchInstruments / GetInstrument.
June 6, 2026
New FeatureInstitutional APIRetail API
v0.0.40
  • Soccer market types are live. The following enums are added to market_sport_type (Retail sportsMarketType):
    • Team — full game:
      • soccer_team_full_time_winner
      • soccer_team_full_game_spread
      • soccer_team_full_game_total
    • Team — first half:
      • soccer_team_first_half_winner
      • soccer_team_first_half_spread
      • soccer_team_first_half_total
    • Game props:
      • soccer_game_btts (both teams to score)
      • soccer_game_first_team_to_score
      • soccer_game_exact_score
      • soccer_game_total_corners
    • Player props:
      • soccer_player_goals
      • soccer_player_assists
  • Where to read it: Retail — sportsMarketType from GET /v1/market/slug/{slug}; Institutional — market_sport_type from SearchInstruments / GetInstrument.
June 5, 2026
Incentives
v0.0.39
  • NBA Playoffs props expansion (effective 1:00pm ET, Friday June 5): Props pool increased from $10,000 → $20,000 per game. Categories reorganized:
    • Player Props: $10,000/game ($5,000 Day-of + $5,000 Live).
    • Game Props (new): $5,000/game ($2,500 Day-of + $2,500 Live).
    • Other Props (new): $5,000/game ($2,500 Day-of + $2,500 Live).
    • Team Props removed.
  • NBA Playoffs Moneyline reduction (Live): $56,500 → $50,000 per game.
  • NBA Playoffs total liquidity per game: $100,000 → $103,500 ($83,500 moneyline/spreads/totals + $20,000 props).
  • NBA Pool row updated: Early $4,000 / Day-of $14,000 / Live $85,500.
  • Props discount factor and target size are consistent across all categories: 0.35 / 2,500 for both Day-of and Live.
  • World Cup liquidity rewards: start time pushed to 6:00pm ET, Thursday June 4 (was June 3).
June 4, 2026
UpcomingInstitutional APIRetail API
v0.0.38
  • Starting Monday, June 8, 2026 at 12:00 PM EST, every newly listed instrument will be a partial-contract market. Existing instruments are unchanged. Do not assume whole-contract quantities — derive the partial scale per instrument before submitting orders.
  • Institutional API — derive the scale, then convert:
    • instrument.fractionalQtyScale — divide raw integer quantities by this to get decimal contracts. For example, with fractionalQtyScale == 100, quantity = 1 is 0.01 contracts and quantity = 100 is 1 full contract.
    • instrument.minimumTradeQty — the smallest tradable integer quantity.
    • Initial partials use fractionalQtyScale == 100 and minimumTradeQty == 1, so the minimum order is 1% of a contract.
    • On the Order message, fractional_quantity_scale (field 49) carries the same scale for converting order_qty, cum_qty, and leaves_qty.
  • Retail API — read the minimum, then handle decimals:
    • minimumTradeQty on the market object (for example GET /v1/market/slug/{slug}) is expressed in contracts, so 0.01 means a 1%-of-a-contract minimum.
    • Treat quantity, cumQuantity, and leavesQuantity as decimals, and use the decimal portfolio fields (netPositionDecimal, qtyBoughtDecimal, …).
June 2, 2026
UpcomingInstitutional APIRetail API
v0.0.37
  • NBA quarter spread + total markets and game-to-overtime (preprod now, production by midnight EST on June 2, 2026). The following enums are added to market_sport_type (Retail sportsMarketType):
    • Spread: basketball_team_first_quarter_spread, basketball_team_second_quarter_spread, basketball_team_third_quarter_spread, basketball_team_fourth_quarter_spread
    • Total: basketball_team_first_quarter_total, basketball_team_second_quarter_total, basketball_team_third_quarter_total, basketball_team_fourth_quarter_total
    • Game-to-overtime: basketball_game_overtime
  • Resolution: each quarter market settles on points scored in that quarter only; 4th-quarter markets exclude overtime. The game-to-overtime market settles at the conclusion of the game.
  • Example slugs (NBA Finals, New York vs. San Antonio, nba-ny-sa-2026-06-03):
    • 1st quarter spread: asc-nba-ny-sa-2026-06-03-q1-neg-2pt5, total: tsc-nba-ny-sa-2026-06-03-q1-56pt5
    • 4th quarter spread (excl. OT): asc-nba-ny-sa-2026-06-03-q4-neg-1pt5, total: tsc-nba-ny-sa-2026-06-03-q4-51pt5
    • Game-to-overtime: astatc-nba-ny-sa-2026-06-03-ot
  • Where to read it: Retail — sportsMarketType from GET /v1/market/slug/{slug}; Institutional — market_sport_type from SearchInstruments / GetInstrument.
June 1, 2026
UpcomingInstitutional APIRetail API
v0.0.36
  • NBA second half + new player props (preprod now, production June 2, 2026 at 6:00 PM EST): Basketball second-half team markets and six additional player props are live in preprod and will be deployed to production on June 2, 2026 at 6:00 PM EST. The following enums are added to the instrument market_sport_type field (Retail sportsMarketType):
    • Team — second half:
      • basketball_team_second_half_winner
      • basketball_team_second_half_spread
      • basketball_team_second_half_total
    • Player props:
      • basketball_player_rebounds
      • basketball_player_threes
      • basketball_player_steals
      • basketball_player_blocks
      • basketball_player_double_double
      • basketball_player_triple_double
  • Example slugs (NBA Finals, New York vs. San Antonio, nba-ny-sa-2026-06-03):
    • Team — second half:
      • 2H moneyline: atc-nba-ny-sa-2026-06-03-sh-ny, atc-nba-ny-sa-2026-06-03-sh-sa, atc-nba-ny-sa-2026-06-03-sh-draw
      • 2H spread: asc-nba-ny-sa-2026-06-03-sh-neg-10pt5, asc-nba-ny-sa-2026-06-03-sh-pos-1pt5
      • 2H total: tsc-nba-ny-sa-2026-06-03-sh-105pt5
    • Player props (each strike is its own market; player segment is first-3-of-first + first-3-of-last name):
      • Rebounds: astatc-nba-ny-sa-2026-06-03-reb-vicwem-gte11
      • Three-pointers made: astatc-nba-ny-sa-2026-06-03-threes-jalbru-gte3
      • Steals: astatc-nba-ny-sa-2026-06-03-stl-jalbru-gte2
      • Blocks: astatc-nba-ny-sa-2026-06-03-blk-vicwem-gte2
      • Double-double: astatc-nba-ny-sa-2026-06-03-dd-vicwem-gte1
      • Triple-double: astatc-nba-ny-sa-2026-06-03-td-vicwem-gte1
  • Resolution — second half excludes overtime: Second-half team markets (spread, total, moneyline) settle on points scored in the third and fourth quarters only; overtime is not included.
  • Resolution — player props: The new counting props (rebounds, three-pointers made, steals, blocks) settle on full-game box-score totals including overtime, consistent with the existing points and assists props. Double-double and triple-double resolve Yes/No — Yes when the player records 10 or more in at least two (double-double) or three (triple-double) of points, rebounds, assists, steals, or blocks.
  • Where to read it:
    • Retail API — read sportsMarketType from the market object (for example GET /v1/market/slug/{slug}).
    • Institutional API — read market_sport_type from instrument reference data (SearchInstruments / GetInstrument).
May 31, 2026
UpcomingRetail APIInstitutional API
v0.0.35
  • NBA Finals Game 2: New York vs. San Antonio Game 2 of the NBA Finals (aec-nba-ny-sa-2026-06-05) will be listed on Monday, June 1, 2026 and will be the first market with a 0.5 cent tick size ($0.005). The remainder of NBA Finals markets will also use 0.5 cent ticks.
  • Retail API: read market.orderPriceMinTickSize from the market response before submitting orders. For this market, use GET /v1/market/slug/aec-nba-ny-sa-2026-06-05 and expect orderPriceMinTickSize: 0.005.
  • Institutional API: read instrument.tickSize from instrument reference data (SearchInstruments / GetInstrument). For this instrument, instrument.tickSize = 0.005.
  • Institutional price scale: prices submitted to the Institutional API are integer values. Read instrument.priceScale from the same instrument reference data response and divide submitted or returned integer prices by that value to get dollar prices. For example, if instrument.priceScale == 1000, price = 5 means $0.005, price = 500 means $0.50, and price = 1000 means $1.00. With a 0.5 cent tick and priceScale == 1000, valid integer prices move in 5-unit increments.
  • Action recommended: do not assume 1 cent ticks. Read tick size and price scale per market or instrument before validating or submitting orders.
May 30, 2026
New FeatureRetail API
v0.0.34
  • Markets API: market responses now document minimumTradeQty alongside orderPriceMinTickSize.
    • Applies to GET /v1/markets, GET /v1/market/id/{id}, GET /v1/market/slug/{slug}, and documented Retail API responses that embed the market object, including Events, Search, Sports, Sports Legacy, and Subjects.
    • minimumTradeQty is expressed in contracts. For example, 0.01 means the minimum order size is 1% of a contract.
    • orderPriceMinTickSize is expressed in dollars. For example, 0.005 means half-cent ticks.
  • Market data: order book and trade quantity fields can contain decimal contract quantities.
    • GET /v1/markets/{slug}/book and Markets WebSocket book levels return qty as a decimal string.
    • Markets WebSocket trade quantity.value is also a decimal string.
  • Orders API: order quantity fields support decimal contract quantities on partial-contract markets.
    • Applies to POST /v1/orders, POST /v1/order/preview, POST /v1/order/{orderId}/modify, POST /v1/orders/batched, and POST /v1/orders/batched/modify.
    • Order request and response quantity, cumQuantity, and leavesQuantity fields are JSON numbers and can contain decimals.
    • Private WebSocket order snapshots and updates use the same order quantity fields; execution lastShares is a decimal string.
    • Multi-leg execution legPrices[].qty is a decimal string.
    • Submit prices and quantities already aligned to the market’s documented precision. Extra precision can be normalized in responses rather than rejected.
  • Portfolio API: use decimal quantity fields for positions and trades.
    • GET /v1/portfolio/positions returns netPositionDecimal, qtyBoughtDecimal, qtySoldDecimal, bodPositionDecimal, and qtyAvailableDecimal.
    • GET /v1/portfolio/activities trade payloads return qtyDecimal; the older trade qty field is rounded and deprecated.
    • Private WebSocket position messages can include netPositionDecimal, qtyBoughtDecimal, qtySoldDecimal, bodPositionDecimal, and qtyAvailableDecimal.
    • The older integer position fields netPosition, qtyBought, qtySold, bodPosition, and qtyAvailable remain for backward compatibility but are rounded and deprecated for partial-contract markets. availablePositions is also deprecated.
  • Action recommended: regenerate clients from the updated OpenAPI schemas and read quantity/tick constraints from each market before submitting orders. Do not assume whole-contract quantities or 1-cent price ticks, and do not rely on server-side rejection for extra decimal precision.
May 29, 2026
New FeatureInstitutional API
v0.0.34
  • Two additive fields on the Order message:
    • fractional_quantity_scale (field 49, int64) — the fractional quantity scale copied from the instrument at order creation time. Divide raw integer quantities (order_qty, cum_qty, leaves_qty, etc.) by this value to get the properly scaled decimal quantity.
    • price_to_quantity_filled (field 41, map<int64, int64>) — quantity filled at each price point over the life of the order. The key is the price, the value is the quantity filled at that price.
  • Where they appear: every response that returns an Order or an Execution (which embeds Order), across the Institutional Trading and Report APIs and the gRPC order stream:
    • Trading API: GET /v1/trading/orders/open (GetOpenOrders) and the CreateOrderSubscription stream (snapshot orders and update.executions[].order).
    • Report API: POST /v1/report/orders/search (SearchOrders), GET /v1/report/orders/{order_id} (GetOrder), POST /v1/report/executions/search (SearchExecutions), and GET /v1/report/executions/{exec_id} (GetExecution).
  • Backward compatible: both fields are additive. Existing clients are unaffected; unset values decode as the proto defaults (0 and an empty map).
  • Action recommended: rebuild your gRPC clients from the latest proto bundle to pick up the new fields.
May 28, 2026
UpcomingInstitutional API
v0.0.33
  • Partial contracts in preprod: aec-mlb-az-mil-2026-06-15 is open in preprod as a dummy partial contract instrument.
    • Read instrument.fractionalQtyScale to determine how submitted integer order quantities are scaled. For example, if instrument.fractionalQtyScale == 100, submitting quantity = 1 means 0.01 contracts, quantity = 50 means 0.50 contracts, and quantity = 100 means 1 full contract.
    • Read instrument.minimumTradeQty for the lowest scaled integer quantity that can be traded. For example, if instrument.minimumTradeQty == 1 and instrument.fractionalQtyScale == 100, the minimum valid order quantity is 1, which represents 0.01 contracts, or 1% of a contract.
    • Initial partial contract instruments will have instrument.fractionalQtyScale == 100 and instrument.minimumTradeQty == 1, meaning the minimum order size is 1% of a contract.
  • Decimalization in preprod: dummy instruments are open in preprod for smaller tick-size handling:
    • aec-nba-mil-was-2026-06-15 has a 0.5c tick size.
    • aec-nhl-edm-ana-2026-06-15 has a 0.25c tick size.
    • Read instrument.priceScale to determine how submitted integer order prices are scaled. For example, if instrument.priceScale == 1000, submitting price = 5 means $0.005, price = 500 means $0.50, and price = 1000 means $1.00.
    • Read instrument.tickSize for the tick size in dollars. For example, a 0.5c tick size is expressed as instrument.tickSize = 0.005, and a 0.25c tick size is expressed as instrument.tickSize = 0.0025.
  • Action recommended: read these values from the instrument before submitting orders. Do not infer quantity scale, price scale, or tick size from symbol, product category, or market type.
May 26, 2026
New FeatureInstitutional API
v0.0.32
  • New ledger endpoints for reconciliation, point-in-time replay, and end-of-day reporting:
    • Position ledger (REST): GET /v1/positions/ledger, GET /v1/positions/ledger/download — paginated query + streamed CSV of position changes (with both deltas and post-change cumulative state). See Position Ledger.
    • Balance ledger (REST): GET /v1/funding/balance-ledger, GET /v1/funding/balance-ledger/download — paginated query + streamed CSV of cash balance changes (deposits, withdrawals, fills, fees, corrections). See Balance Ledger.
    • Balance ledger (gRPC): CreateBalanceLedgerSubscription for real-time push of balance ledger entries. See Balance Ledger Stream.
    • All three are scoped under read:positions. Both ledgers enforce a hard historical floor of 2026-05-01T00:00:00Z; pre-floor entries are not retrievable.
  • InstrumentStats additions on the market data stream and GetOrderBook / GetBBO responses:
    • last_trade_qty (field 14, optional int64) — quantity of the most recent trade. Populated after any trade executes on the instrument.
    • settlement_set_time (field 15, optional google.protobuf.Timestamp) — timestamp when the settlement price was set. Populated only when the instrument is in a settled state.
  • New KeepAliveCommand on BiDirectionalStreamMarketDataRequest (field keepalive = 7). Sending one puts a client-to-server frame on the wire without modifying subscription state; the server returns no response. Solves the AWS Application Load Balancer 1-hour idle timeout (RST_STREAM) for long-lived bidirectional subscriptions with no client-to-server traffic. Recommended cadence: every 30–60 minutes (well below the 3600s ALB timeout). Only applies to BiDirectionalStreamMarketData; server-streaming CreateMarketDataSubscription is not affected.
  • Stream limits relaxed: the per-firm cap is now 20 concurrent streams with no per-stream-type restrictions. Previously, some stream types had individual caps; now the 20-stream budget is pooled across all gRPC subscriptions.
  • Action recommended: rebuild your gRPC clients from the latest proto bundle to pick up the new endpoints and additive fields above.
May 26, 2026
New FeatureRetail API
v0.0.32
  • Portfolio Activities API: added two activity types now returned by GET /v1/portfolio/activities:
    • ACTIVITY_TYPE_TAKER_FEE_REBATE — taker fee rebate credit. Previously surfaced under ACTIVITY_TYPE_REFERRAL_BONUS.
    • ACTIVITY_TYPE_LIQUIDITY_PROGRAM — liquidity program payout. Previously surfaced under ACTIVITY_TYPE_TRANSFER.
  • Both carry an accountBalanceChange payload identical in shape to other balance-change activities.
  • Clients that have not regenerated against the updated OpenAPI schema will decode the new values as unknown enum members. Regenerate to surface the proper label.
May 21, 2026
Incentives
v0.0.31
  • Volume Incentive Program is now live: Program status moved from coming soon to open, with rewards based on share of eligible taker-side notional volume.
  • Increase / new reward launch: Added NBA Playoffs Moneyline Volume Rewards with a $100,000 in-game reward pool per market (live May 21, 2026).
  • Volume eligibility details: only trades executed between $0.03 and $0.97 count; minimum $500 notional required to qualify for payout.
  • Reduction — MLB Futures: reduced from $5,000/day (pooled across instruments) to $1,000/day.
  • Reduction — IPL Games: reduced from $40,000/game to $20,000/game; moneyline split updated to $500 / $1,500 / $18,000 (Early / Day-of / Live).
  • Reduction — Politics events: reduced from $5,000/day to $1,000/day.
May 21, 2026
UpcomingInstitutional APIRetail API
v0.0.30
  • NBA Props (production): Basketball player props and first half markets are going live in production the morning of May 22, 2026. The market_sport_type enums previously released to preprod will be active in production:
    • basketball_player_points
    • basketball_player_assists
    • basketball_team_first_half_winner
    • basketball_team_first_half_spread
    • basketball_team_first_half_total
  • Tick size — always read from the instrument, not the contract type: Do not assume that every instrument under a given contract type shares the same minimum price increment. Notably, upcoming World Cup futures are Title Event Contracts (TEC) but will not be decimalized, so they will not share a tick size with existing TEC futures. Pull the tick from the instrument before submitting any order.
    • Retail API — read market.orderPriceMinTickSize from GET /v1/market/slug/{slug}.
    • Institutional API — read instrument.tickSize from the instrument reference data response (SearchInstruments / GetInstrument).
May 21, 2026
UpcomingRetail API
v0.0.28
  • Retail API: Removing usernames from trade tape responses
May 20, 2026
UpcomingInstitutional API
v0.0.29
  • NBA Props (preprod): Added the following enums to the instrument market_sport_type field:
    • basketball_player_points
    • basketball_player_assists
    • basketball_team_first_half_winner
    • basketball_team_first_half_spread
    • basketball_team_first_half_total
May 4, 2026
Bug FixInstitutional API
v0.0.27
  • Execution responses: Now exposing commission and trade date fields on all execution-level responses:
    • commissionNotionalCollected - Commission amount collected
    • commissionSpreadPx - Commission spread price
    • transactTradeDate - Trade transaction date
  • Applies to: SearchExecutions, DownloadExecutions, and CreateOrderSubscription execution updates
April 21, 2026
New FeatureRetail API
v0.0.26
  • Retail Orders API: documented three batched endpoints: POST /v1/orders/batched, /v1/orders/batched/cancel, /v1/orders/batched/modify. The first two were already shipped; the third is new.
  • Retail Orders API: documented outcomeSide + action as an alternative to intent on CreateOrderRequest, and added both fields to the Order response. intent is no longer marked required on CreateOrderRequest. Existing requests that send intent keep working; regenerated clients will see it flip from required to optional.
  • Retail Orders API: added enum members that were already on the wire but missing from the schema: TIME_IN_FORCE_DAY, ORDER_STATE_NEW, EXECUTION_TYPE_NEW, ORD_REJECT_REASON_EXCHANGE_OPTION.
April 17, 2026
DocumentationInstitutional API
v0.0.25
  • Corrected production gRPC endpoint from grpc-api.polymarketexchange.com to grpc-api.prod.polymarketexchange.com
April 13, 2026
Maintenance
v0.0.24
  • Weekly maintenance window moved from Tuesday 4am–6am ET to Thursday 6am–8am ET, effective April 16, 2026
April 10, 2026
Breaking ChangeInstitutional APIRetail API
v0.0.23
  • Updated rate limits across all APIs:
    • Institutional Gateway (REST/gRPC): reduced to 100 messages per second per firm
    • FIX Protocol: reduced to 150 messages per second per session (all participants)
    • Retail API: reduced to 20 requests per second per API key
March 30, 2026
Breaking ChangeBug FixDocumentationInstitutional API
v0.0.22
  • FIX API: Product field (tag 460) changed from required to optional on New Order Single. All current products on Polymarket are Product=12 (OTHER).
  • Corrected REST API routes: /v1/accounts/whoami/v1/whoami, /v1/accounts/users/v1/users, /v1/accounts/accounts/v1/accounts
  • Fixed price scale examples across documentation to reflect correct values
  • Corrected production API base URLs to api.prod.polymarketexchange.com across all documentation
March 3, 2026
ImprovementInstitutional API
v0.0.21
  • Edited proto files to improve the gRPC streaming experience
  • state field changed from required to optional in three messages:
    • MarketDataUpdate.state (field 4) in marketdatasubscription.proto
    • GetOrderBookResponse.state (field 4) in orderbook.proto
    • GetBBOResponse.state (field 6) in orderbook.proto
  • Participants should utilize the instrument state change subscription for state changes
February 26, 2026
ImprovementInstitutional API
v0.0.20
  • Updated settlement responses in marketdatasubscription, adding settlement_price_calculation_text
  • Added price_scale to order message
January 10, 2026
New FeatureInstitutional API
v0.0.19
  • Added Bidirectional Market Data Streaming API: BiDirectionalStreamMarketData RPC
  • Dynamically add and remove symbols during subscription lifetime without reconnecting
  • New response types: SubscriptionAck and SubscriptionError for subscription management
  • Updated client sample code with new Go and Python examples (Example 20)
  • Updated proto packages with bidirectional streaming support
January 4, 2026
New FeatureInstitutional API
v0.0.18
  • Added Account Valuation APIs for book-close accounting use cases
  • POST /v1/valuations/accounts/statement/download: Multi-account summaries as CSV
  • All new endpoints support historical queries via as_of_time or as_of_date
  • Cross-ISV protection enforced on all valuation endpoints
January 3, 2026
New FeatureInstitutional API
v0.0.17
  • Documented configurable instrument queries: pagination, state filtering, and metadata filters
  • Added sports league filtering via metadata.sports_game_league (nfl, nba, mlb, nhl, cbb, cfb)
  • Added instrument metadata field documentation with sports-specific attributes
January 3, 2026
New FeatureInstitutional API
v0.0.16
  • Added Historical Positions API: query positions at any point in time using as_of_time (RFC3339 timestamp) or as_of_date (trade date)
  • Use cases: end-of-day reporting, regulatory snapshots, position reconciliation
January 3, 2026
Documentation
v0.0.15
  • Documentation deployment refresh
December 31, 2025
ImprovementInstitutional API
v0.0.14
  • Added slow consumer handling option for streaming endpoints with skip-to-head behavior
  • Proto files now available for direct download (polymarket-protos.zip)
  • Added FAQ clarifying ISV-Participant relationship and participant_id usage
December 8, 2025
New FeatureInstitutional API
v0.0.13
  • Added 25 REST API endpoints with full OpenAPI documentation
  • New sections: Authentication, Accounts, Orders, Positions, Market Data, Drop Copy
  • Organized API documentation by functional category
November 25, 2025
DocumentationInstitutional API
v0.0.12
  • Added complete gRPC streaming API documentation with Python code examples for market data and order execution streams
  • Introduced Protocol Buffer reference documentation with detailed message structures and field definitions
  • Added VPC connection setup guide with AWS PrivateLink configuration instructions
  • Created common pitfalls troubleshooting guide for integration issues
August 18, 2025
DocumentationInstitutional API
v0.0.11
  • Aesthetic changes including new figures and cleaner formatting of FIX examples.
August 14, 2025
Documentation
v0.0.10
  • First DRAFT of Polymarket Exchange Documentation