Resolved Markets logoResolved Markets logo

Changelog

New endpoints, new market coverage, and fixes — newest first. Anything that changes how an existing call behaves is spelled out on the entry that ships it.

  1. Aug 29, 2026

    AI agents can now find the exchange data

    • The installable skill and plugin now describe the exchange endpoints, so a coding agent knows on its own that it can pull Hyperliquid perpetual order books next to the prediction markets and line the two up. Before this it had to be told those endpoints existed.

  2. Aug 27, 2026

    How much is available at the best price

    A cheap way to ask how much you could actually buy or sell right now, without downloading the whole order book to find out.

    • Add ?touchsize=true to a snapshots request and every row gains best_bid_size and best_ask_size — the number of shares resting at the best bid and the best ask. This matters because a price on its own does not tell you whether you could trade there: a market can show a tempting price backed by only a handful of shares. The response is roughly a third the size of asking for the full order book, so this is the cheap option when the top of the book is all you need. It is included automatically when you ask for includebook.

    • Trades now carry the Polygon transaction_hash and the fee rate that was charged. The hash ties one of our trades to its record on the Polygon chain by an exact key, which is the only reliable way to do it — timestamps will not serve, because a block’s time is recorded to the whole second while our trade times are the exchange’s own millisecond match time, so matching the two on time drops most rows.

    • Fixed: asking for touchsize together with interval used to succeed while quietly leaving the two size columns out of the response. An interval request combines many order books into a single candle, so there is no one "best price" left to report a size for. Rather than return a response that is silently missing what you asked for, the combination now returns a clear error explaining why.

  3. Aug 21, 2026

    Backtests that match what really traded

    Three changes to how the simulator fills orders. Your results will move, and usually downward — the old numbers were flattering in ways that would not have survived live trading.

    • Stops and take-profits now check real trades, not just our order book snapshots. We record a snapshot roughly every 50 milliseconds, and the price can move between two of them, so a stop level could be crossed at a moment we have no snapshot for — the backtest would sail past it and exit later, at a better price than you would really have got. Checking the trades that actually printed means an exit can only ever land earlier than before, never later.

    • Orders now fill across several price levels instead of pretending the whole order goes through at the best one. The best price usually holds very little: at the moment a stop triggers, the typical amount resting there is about 54 shares. A $100 order would have needed a second price level three quarters of the time, and a $1,000 order almost always.

    • If the price moves while your order is being filled and the fill lands outside the range your strategy asked for, the trade is now skipped instead of being opened at a price you never wanted. This was doing real damage: on one run, entries meant for the 0.88–0.92 band filled as far away as 0.79 and 0.97, and the badly-slipped ones were exactly the trades that then stopped out — because a fill that far off means you bought into the move. Skipped entries are counted and shown as summary.entryGuard, so your trade count never shrinks without telling you why.

    • Candle downsampling now happens before the data reaches you, and keeps the true high and low within each candle instead of flattening them away.

  4. Aug 20, 2026

    Requests do what they say

    Four places where the API accepted your request and then quietly served you something different — the kind of bug you only find months later when the numbers do not add up.

    • Asking for more rows than a route allows now returns an error instead of silently returning fewer. If you were paging by your own page size, this is the bug that made you skip rows without noticing: ask for 5,000, get 2,000, advance your offset by 5,000, and 3,000 rows vanish from every page. The ceilings are 5,000 rows normally, 2,000 when you include the full order book, and 50,000 when you use interval.

    • That 50,000-row ceiling for interval was documented but impossible to reach — a shared check rejected anything above 5,000 before the request got far enough to use it. The documentation was describing a call the API refused to make. It works now.

    • limit and offset on /v1/markets/live were accepted and then ignored, so ?limit=10 handed back the entire list of roughly two thousand markets. They now work, and a limited response is sorted by which market expires soonest — so ?limit=1 gives you the market closing next, rather than whichever one happened to come first in an unsorted list.

    • Documentation fix: sequence_number counts the order book updates we applied for a token. It is not a way to detect missing data, which is what our docs used to claim. Healthy consecutive rows normally jump by more than one — about 98% of them do — and the count restarts from 1 whenever a market rolls over. Anyone using it as a gap detector was flagging almost all of their good data as broken.

  5. Aug 19, 2026

    Tennis: ATP and WTA

    • Both tours are now collected, under category=sports with subcategory=ATP or WTA. For each match you get the match winner, the individual set winners, and the set handicap. The over/under ladders on games and totals are not covered; between them they account for well under 1% of the money traded on a match.

    • Every market within a match now has a name you can tell apart from the others. Polymarket’s own labels are not unique, and the failure was not cosmetic: "Completed Match" is the label on every single match on tour, and the two sides of a set handicap share one label while listing their players in opposite order. Reading the label alone could hand you the wrong player.

    • One thing that looks like a bug and is not: during a live match you will occasionally see a book where the best bid is above the best ask. That is genuinely what the exchange is showing — a tiny leftover order sitting on the wrong side of a much larger one while prices move fast. We publish it as-is rather than tidying it up, because the alternative is inventing a book that never existed.

Changelog — API Docs | Resolved Markets