# Product changes and model retirement policy

## 2026-08-21

- Published the exact five paid AI endpoints and four free discovery endpoints on the homepage,
  endpoint overview, `llms.txt`, complete agent corpus, sitemap, and portable Agent Skill.
- Deployed and indexed the guarded Flash v2.5/Scribe v2 MP3 speech scope after exact-build dark
  activation, one non-retried provider/storage qualification, and public no-spend parity checks.
  x402scan now resolves all nine public resources; the release automation did not spend USDC.
- Added canonical Base64 JSON input to the existing speech-to-text endpoint while retaining the
  standard multipart upload. Both forms decode and inspect the same bounded MP3 bytes before any
  payment challenge, provider call, or settlement.
- Published the JSON schema and a valid unpaid probe example so JSON-only agent directories can
  verify and list speech to text without adding another public endpoint.

## 2026-08-19

- Prepared the guarded speech catalog with `elevenlabs/flash-v2.5` for MP3 text to speech and
  `elevenlabs/scribe-v2` for MP3 speech to text. Multilingual TTS and every other audio format remain
  unavailable until their qualification gates pass.
- Corrected the generated TTS guide to use the actual `expires_at` response field and added a
  complete multipart STT request example that preserves the body across the unpaid and paid calls.
- Updated OpenAPI, pricing, x402 discovery, the portable Agent Skill, privacy language, and model
  documentation to describe measured speech usage and ElevenLabs' route-specific retention modes.
- Clarified that ambiguous encrypted STT staging becomes inaccessible at its one-hour logical
  expiry, while physical deletion can complete later through Azure storage lifecycle management.

## 2026-08-14

- Matched Gemini 3.1 Flash-Lite Image's fixed-1K Vertex contract by retaining the selected aspect
  ratio but omitting the redundant private provider `imageSize` field. Public requests still select
  and receive a validated 1K image at the same $0.035 promotional total.
- Corrected the private Vertex `generateContent` adapter so image size and aspect ratio use its
  official `generationConfig.imageConfig` fields. The public image endpoint and request format do
  not change.
- Kept the service dark until the corrected immutable build passes one non-retried Flash-Lite
  provider and encrypted-storage qualification. No USDC is used by that qualification.
- Kept text-to-speech in ElevenLabs Zero Retention Mode and changed speech-to-text to the provider's
  standard retained mode after the protected Scribe v2 qualification confirmed that STT ZRM was
  unavailable for the production account. Onchain Router's encrypted STT staging is still deleted
  after a definite result, while ElevenLabs may retain audio and transcripts under its own policy.
- Kept every speech model and voice dark until the revised adapter passes one new non-retried
  qualification and the remaining media, privacy, and release gates are complete.

## 2026-08-13

- Selected `gemini-3.1-flash-lite-image` as the guarded Base-mainnet image model at 1K/1:1 after
  the newer immutable Flash Image builds failed returned-aspect validation. The endpoint remains
  `POST /v1/images/generations`; Flash Image and Pro Image remain dark.
- Set the promotional successful-image total to $0.035: $0.034 catalog-fixed provider image price
  plus the existing $0.001 successful-call fee and 0% service fee.
- Kept the public service dark until this exact Flash-Lite build passes its one-shot provider and
  encrypted-storage qualification. That qualification uses provider credit and no USDC.

## 2026-08-12

- Added provider-neutral `POST /v1/images/generations` with the first Gemini image model, one
  1024×1024 image per request, OpenAI-compatible URL or Base64 delivery, and a fixed $0.068
  successful-call price during the 0% service fee launch promotion.
- Added repository support for model-specific `image_size` and `aspect_ratio`, with 1K/1:1
  defaults and exact integer price tiers. Additional Flash specifications plus Gemini 3.1
  Flash-Lite Image and Gemini 3 Pro Image are enabled only for non-production qualification; the
  Base mainnet catalog remains on its approved Flash 1K/1:1 route until expansion gates pass.
- Added private AES-256-GCM encrypted image storage and capability URLs. Every response reports
  `url_retention_days: 7` and the exact `url_expires_at`; URLs stop serving at expiration and Azure
  lifecycle management deletes the encrypted object after seven days.
- Preserved the financial ordering for images: payment authorization is verified and durable before
  generation, while settlement occurs only after the image and result are durable. Known failed
  generations are not charged.
- Updated the durable product description from an LLM-only router to an AI model router so the brand
  remains stable as image, video, and audio capabilities are added.
- Curated the public agent endpoint showcase to OpenAI-compatible Chat Completions, Anthropic-compatible Messages, categorized Models, detailed Pricing, and a Base USDC Balance lookup. Operational and private support routes remain functional but are no longer presented as separate products.
- Organized `/v1/models` around available capability categories and endpoint compatibility. Text and
  image generation are now available; video, speech-to-text, and text-to-speech categories will
  appear only when those capabilities are released.
- Added a readable unpaid-402 JSON explanation while retaining the official `PAYMENT-REQUIRED` header as the authoritative payment challenge.
- Corrected Bazaar discovery identity so each paid challenge names the canonical public Onchain Router endpoint instead of the private Azure API hostname. This does not change payment amounts or settlement behavior.
- Corrected Base mainnet payment persistence for the official x402 Permit2 `upto` payload emitted by the wallet client. The authorization nonce is now durable before any model request is sent.
- Improved the wallet test page's phase-specific errors for nested wallet rejections, payment-persistence failures, and uncertain settlement. Server traces now include only a safe failure category, never signatures, payment payloads, prompts, or completions.
- Activated a catalog-versioned 0% service fee launch promotion across production billing, pricing pages, endpoint descriptions, OpenAPI, model discovery, quotes, and receipts.
- Corrected discovery's minimum successful price to include both the $0.001 minimum usage charge and the separate $0.001 fixed successful-call fee.
- Simplified the local production buyer so it connects directly to the public endpoint without the retired dark-release canary credential.
- Kept each request's signed spending limit and truthful dynamic discovery range. The final charge still uses measured usage and never exceeds the amount authorized by the buyer.

## 2026-08-11

- Made the durable product identity provider-neutral: Onchain Router is now described as the x402-native LLM router, while Gemini remains clearly identified as the current MVP catalog rather than the brand itself.
- Published the progressive-branch mark through root favicon, manifest, Open Graph, Twitter, and OpenAPI logo metadata so discovery directories and social previews can resolve the intended logo.
- Declared explicit OpenAPI auth modes for public, receipt-protected, and x402-paid operations so x402scan can register supporting resources without treating free endpoints as broken paywalls.
- Simplified every customer-facing payment reference to Base mainnet and USDC, removing internal-network explanations, redundant payment-value wording, and the pre-launch unavailability notice.
- Reworked the website into a wider editorial layout that uses large screens more effectively.
- Reduced heading sizes across the home page, documentation, model catalog, pricing, status, and legal pages.
- Replaced the operating-system font fallbacks with a self-hosted Plus Jakarta Sans variable font and a sharper, more consistent weight system across the public site.
- Applied the same font to the wordmark, navigation, and Base Mainnet label, and refreshed search as a modern command palette.
- Added content-versioned stylesheet and script URLs so a browser cannot combine updated page markup with stale interface styles.
- Replaced the temporary letter tile with the selected progressive-branch logo, representing one interface expanding into multiple onchain capabilities, and added a matching favicon asset.
- Rewrote page titles, descriptions, navigation labels, and introductory copy in clearer language. Technical abbreviations are now explained on first use when the surrounding page is intended for a broad reader.
- Expanded `llms-full.txt` into a one-request package containing the product overview, every guide, generated endpoint references, the model catalog, service status, legal drafts, and portable Agent Skill references. Added HTML discovery links and an XML sitemap so agents can find these surfaces without guessing paths.
- Added local browser checks for wide desktop, laptop, tablet, and mobile layouts. This local review does not publish or activate the paid service.

## 2026-08-10

- Published the first custom single-origin website and documentation build.
- Added HTML, per-page Markdown, `llms.txt`, `llms-full.txt`, OpenAPI, sanitized catalog, and Agent Skill surfaces.
- Set the current paid-inference minimum to `1000` atomic USDC (`0.001000` USDC).
- Qualified the initial Gemini text candidates before selecting the production catalog.
- Added explicit handling for reasoning-token output ceilings, empty visible responses, actual settlement, and durable receipts.
- Published the Base mainnet public-alpha contract using USDC, an authoritative per-request cap, and a global conservative estimated-loss breaker. Hourly and daily payer caps were later removed by ADR-024.
- Removed payer registration and payer allowlisting; every facilitator-verified wallet may purchase under the same limits.
- Kept automated payment conformance fixtures outside the documented production environment.
- Approved seven GA Gemini text aliases for mainnet-alpha routing. The `gemini-3.1-pro-preview` route remains disabled on mainnet.
- Added fail-closed production configuration, a one-origin site/API deployment, public per-receipt
  capabilities, a least-privilege provider federation role, and a separately approved production
  infrastructure workflow. Synthetic reconciliation is now forbidden in production.
- Revalidated the public catalog against current Google model and pricing sources, including the
  65,536-token output limit for `gemini-3.1-flash-lite`.
- Expanded the privacy and service-terms release candidates and added automated checks for stale
  test/private-alpha language, operator-only configuration, enabled-model count, and legal sections.

## Deprecation policy

Model aliases can change only through an immutable catalog version. A retiring model shows its retirement date in `/v1/models` and `/models`. The service does not silently map an alias to a more expensive tier.

Clients should discover models rather than hard-code them indefinitely. Before each deployment and periodically during long-running sessions, refresh the catalog and reject an alias that is unavailable, past retirement, or outside the caller's model allowlist.

The Gemini 2.5 compatibility routes have a conservative operational removal date of 2026-10-16. `gemini-3.1-pro-preview` is a testing-only preview and cannot become a production default without a new approved catalog and provider gate.
