Back to blog

Model prices now come with expiry dates: promo TTLs, withdrawn hikes, and managing a catalog that expires

OpenAI's Sol promo ends November 21, Gemini 3.7 Flash's promo ends December 31, and a Sonnet 5 price hike was announced then quietly withdrawn. The rate card is now a dated instrument. This is how to budget for it.

Mappace Team · Research2026-08-177 min read
PricingResearch

Prices on the LLM rate card picked up a new dimension this year: time. Not time of day - that has its own story - but dated expiry on the price itself. By late July, every major provider was living with one of three dated pricing regimes: promotional prices with a specific end date, announced price hikes that were withdrawn before they shipped, and context-threshold surcharges that kick in above a token count. In term finance there is a name for an instrument with a fixed expiry: a dated coupon. Your LLM rate card has quietly become a small portfolio of instruments.

What dated pricing actually is

Three concrete examples from the last six weeks:

ProviderModelPrice ($ per 1M tokens)RegimeExpires
OpenAIGPT-5.6 Sol4.00 in / 20.00 outlaunch promo2026-11-21
GoogleGemini 3.7 Flash0.75 in / 3.75 outlaunch promo2026-12-31, then 1.50 / 7.50
AnthropicSonnet 52.00 in / 10.00 outstandard (Sept 1 hike to 3.00 / 15.00 announced, cancelled 2026-08-11)n/a

And a fourth form: OpenAI bills input above 272K tokens at 2x the input rate and 1.5x the output rate on the same model, same prompt class. The price is threshold-dependent. Same token, different meter reading.

The common thread is that every one of these numbers is valid only under stated conditions - a date window, a context volume, a policy that can be withdrawn - and the conditions are themselves in motion.

What term finance does with dated instruments

Dated coupons are not an accident of financial markets. A dealer prices a coupon for a fixed tenor to manage two things: how long to commit capital, and how much to be paid for that commitment. Providers are doing the same structurally, minus the theory:

  • Promos are pricing with a recall date. The GPT-5.6 family launched July 9 with Sol at 4.00 / 20.00 through November 21, and Gemini 3.7 Flash (August 13) runs 0.75 / 3.75 through December 31, then doubles. Both are buying switching behavior: let you wire a new model into production now, and adjust the bill within two quarters of your stable state.
  • Withdrawn hikes are price discovery. Anthropic announced Sonnet 5 would step from 2.00 / 10.00 to 3.00 / 15.00 on September 1, then cancelled the step on August 11. Read that as a ceiling test: the provider probed the market's reaction and pulled the anchor before the churn cost showed up. The GPT-5.5 jump in April (2.50 / 15.00 to 5.00 / 30.00 overnight, roughly) shows what happens when the ceiling test is the actual move. Either way, announced-then-cancelled pricing is information about real demand elasticity, not a typo.
  • Expiries make the bill two-legged. A promo that doubles at the end date is two contracts in one: the leg at 0.75 / 3.75 and the leg at 1.50 / 7.50, switched by a calendar event. A budget built on the promo number, with no provision for the second leg, gets a 2x surprise in January.

The operational consequences

Dated rates change three things in cost management:

  1. The budget must be a schedule, not a number. "Our LLM cost is 42K a month" is no longer a stable claim. The honest version is: 42K through 2026-12-31, 58K after, unless renegotiated. Every promo you are running needs that expiry in the cost model, with a row for the post-expiry leg.
  2. Catalog entries need an expiry field. If your internal model catalog is a list of names and prices, it is now wrong for every row above. Add effectiveFrom and expiresOn and validate at deploy - an entry past its expiry is a stale-price bug that produces false savings or false savings alerts.
  3. Announced-but-cancelled hikes deserve tracking too. A cancelled hike is a signal about the next one. The Sept 1 withdrawal tells you Sonnet 5 holds this quarter - and tells you the provider is watching your demand. Your routing mix over the next 60 days may well decide the next test.

What to do

  • Put an expiry date on every model price in your catalog, and re-verify at every vendor price-page change. The price movements tracker logs exactly these events.
  • Budget the post-expiry leg of every promo, not just the promo itself.
  • Re-run task-to-model assignments at each expiry date - the cheapest model for a given task changes when a promo leg flips off.
  • Log announced-but-cancelled hikes as market signals and re-run your elasticity assumptions before the next quarter's budget. A comparison of current rates across providers is in this pricing comparison.