Changelog
What shipped.
Newest first. Only things you can see or call; nothing we cannot measure. Atom feed
-
billing
A failed card payment is said out loud
When a subscription charge does not go through, every user of the account now gets one plain mail — what failed, whether the plan keeps running while the payment is retried, and the two ways to fix it: update the card or pay the open invoice. The billing page shows the same notice while the payment is outstanding, and the "Manage in Stripe" button opens the card portal again (a browser policy had been blocking it silently).
-
agents
The legacy SSE door is closed
As announced on 2026-09-14 for the 28th, the original HTTP+SSE MCP door at /mcp/sse and /mcp/messages closed on 26 September, two days early. Both paths now answer 410 Gone with the pointer to POST https://flexyield.io/mcp — Streamable HTTP, stateless, the same 35 tools with the same key — and stay on that answer for a month before they disappear. The pre-v2 tool names (usage_report, quote, pick_chain, set_key_budget and friends) went with the old door; the current names are listed at /skill.md. The server is published as version 1.4.0 in the MCP Registry with the one remote. Nothing changes for POST /rpc.
-
site
Product v1 — the finishing round
The closing list for product v1: the pricing calculator and the cache statistics fit a phone screen and the dashboard's curl example wraps instead of clipping; a browser session now ends after 30 days, or 14 idle days, and billing changes or account deletion ask for your password again after 15 minutes; changing your sign-in address needs the current password, re-confirms the new inbox and notifies the old one; sign-in attempts are limited per address as well as per network; a supplier's own error text can never carry one of our upstream credentials into your response; one percentile definition everywhere — the p95 on your dashboard, on the status page and in our admin is the same statistic on the same data; and the public status page reads all its probes in one query. And what the terms promised in §9 now happens by itself: a consumer who deletes the account within the statutory fourteen-day withdrawal period gets the unused part of the paid period refunded pro rata, with the amount named in the deletion mail. Nothing changes in what you pay or how calls are counted.
-
gateway
A transaction is sent once — and you are told when we cannot know
eth_sendRawTransaction and Solana sendTransaction are now posted to exactly one upstream endpoint and never re-sent by the gateway: a submission that timed out may already sit in a mempool, so a second broadcast from our side was never the right answer. If no usable answer comes back after the request has left us, the response is the new error -32017 "unknown outcome" — look the transaction up by hash or signature before you re-sign (re-sending the identical signed bytes is safe, a new signature on the same nonce is not). Reads keep failing over across suppliers exactly as before. Explained at /docs/errors/-32017 and by explain_error(-32017).
-
site
A switching report — paste your config, get the map
Moving from another provider? Paste your current config on /docs/migrate — endpoint URLs, an .env, the client setup — and get every endpoint mapped to our chain URL, every JSON-RPC method you name with its unit weight and limits, and the list of what changes: the auth header, published units instead of compute units, no overage, refusals as doorways, a measured status page. Anything that looks like a key is masked before it is shown and nothing you paste is stored. Agents get the same report from the new migrate MCP tool, no key needed — 35 tools on POST /mcp.
-
gateway
A paid quality floor under the free lanes
Free accounts, Builder and anonymous keys ride community supply. When a chain's community pool degrades — a failing endpoint, a rate-limit storm — the gateway now lifts those calls onto paid supply for as long as a budget allows, cheapest lane first to lose it when the budget runs low. Nothing to configure, never a refusal: worst case you see community quality, as before. Builder's soft ceiling is now enforced as published: past 20M units in a month the burst window is 10 requests a second for the rest of the month.
-
agents
The legacy SSE door closes on 2026-09-28
The original HTTP+SSE MCP door at /mcp/sse (and /mcp/messages) closes on 2026-09-28. Move your client to POST https://flexyield.io/mcp — Streamable HTTP, stateless, the same 34 tools with the same key. The pre-v2 tool names (usage_report, quote, pick_chain, set_key_budget and friends) answer only on the old door and go with it; their v2 names are listed at /skill.md. Nothing changes for POST /rpc.
-
console
The console on your phone, and fewer refusals on wide log queries
Every console page now works one-handed on a phone: a bottom bar with Dashboard, Keys, Stats and Billing, a menu with the full navigation and your plan, tables that read as cards, charts that scroll inside their box with the numbers open underneath. On the gateway: a supplier's own plan or range refusal on eth_getLogs is never passed through any more — the next endpoint answers, or you get our -32602 with the window it can carry — and a slow wide query no longer parks an endpoint for the next call.
-
agents
The MCP door opens to browser-based clients
POST https://flexyield.io/mcp now answers CORS preflights and carries the CORS headers on every reply, so a web inspector or a browser-based agent can talk to the door directly with your key as the bearer. Any Accept header is served JSON — a client that asks only for an event stream, or forgets the header, is no longer refused.
-
agents
MCP tool set v2 — 34 verb-first tools, rpc_call, list_api_keys
The MCP server's tools are now one job each with a verb in front: get_usage with a view instead of three usage tools, configure_key for budget and services, manage_tickets and manage_feedback, recommend for chains and routes, get_prices for gas and tokens. New: rpc_call sends any JSON-RPC call through the same routing, cache and meter as POST /rpc, and list_api_keys enumerates your keys or your agent fleet. The old names keep answering on the legacy SSE door until its sunset.
-
agents
Every MCP tool says when to use it, what not to use it for, and what comes back
All 34 tools on the MCP server now describe themselves the same way: what the tool does, when to use it, what it is not for and which tool to use instead, the JSON keys it returns, and whether it needs your key. Our house words are defined where they appear (a door is how a key was obtained, a fence is a limit, a doorway the path past it, a lane a price tier). Each tool also carries the MCP annotations — read-only, idempotent, destructive, open-world — so a client can tell a lookup from a purchase before calling. Server card 1.3.1.
-
gateway
Faster on every call, and a request id on every answer
The gate and the meter no longer touch the database on the hot path: a cache hit answers in about 10 ms of server time (was 20–30), a miss adds a few milliseconds to the supplier's own time. Every relay carries its request id in our ledger now, so a slow call you quote in a ticket matches a row on our side. Routing is served from a precomputed table; slow tails on one method at one supplier move that method to the next supplier automatically.
-
agents
MCP over Streamable HTTP, and timing on every relay
The MCP server now speaks Streamable HTTP at POST /mcp: one JSON answer per request, no session to keep, the same 44 tools and three resources. `claude mcp add --transport http flexyield https://flexyield.io/mcp --header "Authorization: Bearer <key>"`; the HTTP+SSE door at /mcp/sse keeps working for now. Every relay also carries a Server-Timing header (gate, route, upstream, or a cache hit) so you can split our share of the latency from the supplier's.
-
x402
Pay per call with USDC on Base mainnet — receipts, VAT by location
The x402 lane settles real USDC on Base. GET /x402 for the menu (cheap, balanced, fast), pay, then relay with the settlement hash as your credential. Every settlement has a receipt at /x402/receipts/<tx> stating net, VAT and the amount paid; VAT is added only where it applies, by the payer's location. Prices are the published per-call lane, net.
-
billing
Scale and Growth, prepaid packs, the calculator, founding seats
Two tiers above Pro (60M and 200M units a month), prepaid unit packs S/M/L consumed after your quota and valid 12 months, and a calculator at /pricing/calculator that recommends the lane that fits your volume and tells you when a higher tier pays off. Founding seats stay open until they are taken.
-
site
Error decoder, weekly digest, badges page
Every error code the gateway can answer with now has its own page with the meaning, what to do next and the exact body. A weekly "state of the public RPC pool" digest can be subscribed to by e-mail (double opt-in, one-click unsubscribe) with a public archive. A badges page collects every way to show the measured numbers on your own README or status page.
-
agents
Discovery files for agents and crawlers
A MCP server card, an agent-skills index (hash-pinned skill.md), an API catalog, llms-full.txt, x402 payment info in the OpenAPI document and a well-known x402 resource list — plus a one-click "Add to Cursor" install on the docs page.
-
site
Chain pages, method reference, reliability data downloads
Every chain has its own page with the measured numbers, the last weeks, the methods and limits for its dialect and a badge. Every method with a rule (log ranges, fee-history windows, archive depth, traces, cache classes) has a reference page with the exact answer you get when the rule applies. Weekly reliability reports are downloadable as CSV and JSON under CC BY 4.0, split by public-pool vs contracted supply. Badges also come in shields.io's endpoint format.
-
billing
Statements — your bill and usage, per key, without a dashboard
One statement per billing period (your own subscription cycle), with usage grouped by key and agent, chain and method class. Printable, JSON, CSV — and the same over the API with your key. An agent's key returns only that agent's usage.
-
site
Measured badges, sitemap, public support and feedback pages
Paste a live uptime/latency badge per chain into your README. Support and feedback now have public front doors; the ticketing itself stays in your console.
-
support
Support tickets that arrive with the evidence attached
Every error carries a request_id and a support link. A ticket attaches that exact call, your recent refusals, your limits and the chain status, plus the steps that usually fix it. Agents file and read tickets over MCP.
-
product
Feedback from the console and from agents
Feature wishes, chain requests, praise and complaints — private to your account, answered on the item. Over MCP as submit_feedback / list_feedback.
-
agents
Claim your agent with a wallet signature
An existing agent joins the fleet by signing a standard message in the browser; it gets a budgeted key of its own. No transaction, no gas.
-
gateway
We route. We fail over. We cache — cache hits are free
The toolbox went live (gas, prices, ENS, tx status, ABI + decoding, utilities) and repeated identical reads inside the freshness window cost zero units.
Where this is going: the roadmap.