Skip to content

v2.3.0: Typed 402s, tokenized assets, MPP on the edge, and two alarms that stopped lying

Latest

Choose a tag to compare

@MikeyPetrillo MikeyPetrillo released this 02 Sep 21:38
· 62 commits to main since this release
9670ee0

Thirty PRs merged on 2026-09-02, every one verified on production the same day.

Buyers

  • Typed 402s. Every challenge carries the typed output schema as accepts[0].outputSchema (one copy, first accept) as well as in the bazaar extension, and every route validates under @x402/core's own schemas. Stock x402 clients, native MPP buyers and mppx x402 buyers all still settle.
  • Tokenized real-world assets. rwa-list, rwa-markets, rwa-asset, rwa-issuers, rwa-issuer: 649 tokenized stocks, ETFs and commodities with onchain market data and the 33 issuers behind them, $0.003 to $0.006.
  • Router honesty. executeVia appears only on rows the router will pay now (executeViaCallableNow); every row and index seller carries routerDispatchEligible and routerDispatchReason; a manifest-priced route is read live once and then weekly so a seller's newly added rail reaches the index without a manifest change.
  • Models. gpt-4.1-nano and the openai/o4 prefix retired ahead of OpenAI's dates (gpt-5.6-luna is the nano default, gpt-5-nano stays, gpt-5.6-terra joins premium); /v1/images/fast fails over to gpt-5-image-mini. A refused MCP credential answers the spec's -32043.

Sellers

  • agent402-tollbooth 0.10.0. The edge build (Cloudflare Workers, Next.js edge, Deno, Bun) takes MPP through the same verifyX402 callback: a WWW-Authenticate: Payment challenge beside the x402 quote, HMAC- and resource-bound credentials translated to PAYMENT-SIGNATURE. The wire codec is a runtime-agnostic module shared with the Node build.
  • Index. Solana seller leaderboard scanned incrementally; a learned verb no longer flips a path's other method; row-level network inheritance; Base chain-truth on a refused payment.

Reliability and money-safety

  • Tempo subscriptions: a slow-RPC failure retries in minutes, and a send that timed out is settled by reading the chain (memo bound to subscription and period) before anything is signed again.
  • In-flight report composites are cut off on SIGTERM, so a deploy never spends upstream and then discards the answer.
  • Every skill pack runs every tool it advertises; feed-watch walks the newest feed items instead of betting on the first.
  • The Postgres alarm no longer confirms a failure against its own cache; the paid canary proves the Tempo subscription rail after every deploy.
  • Security review of the day's changes: one Medium found and fixed the same day. Solana leaderboard evidence (attributed by seller-advertised payTo) no longer counts toward the Base router floor; Solana proven-ness is a pay-time chain read against the accept's own payTo.
  • mppx 0.9.2, fast-uri 3.1.7, qs 6.16.0 (four same-day CVEs cleared).

Full detail per change on https://agent402.tools/changelog.