Changelog
Changes to PairRail Atlas, newest first. Each entry says whether sellers need to do anything. Current protocol versions are on Protocols.
No changes match this filter yet.
October 2026
Buyer agents' keyed calls count against your plan's monthly queries. To stop one busy key using them up, open **Limits** on the key and set **Queries per month**. Every keyed call counts: REST, MCP and the protocol rails. At the cap the key gets
429 VELOCITY_LIMITuntil the next month (UTC), and refused calls are not counted against your plan. Anonymous public calls are not affected.Each key in the workspace now shows its queries this month. A rotated key keeps the count of the key it replaced. Keys have no monthly cap until you set one.
A quote over your threshold still comes back
approval-required, but nothing opens on your side yet: no approval, noapproval.requestedwebhook, no email or CRM task. The buyer agent sends it to your deal desk withPOST /v1/quote-requests/{id}/submit, MCPquote_submit, or thesubmitaction on UCP, ACP, A2A and UAP. A quote that is never submitted expires. Your team now only reviews quotes the buyer wants at that price.Agents that follow
nextActionssee the newquote.submitstep. An agent that only polls an approval-required quote now waits until it submits. Quotes made before this change count as submitted. Workspace shows a held quote as **Waiting on buyer**./mcp/directoryis one MCP server with two tools,directory_searchanddirectory_list, over the public offers of sellers who chose to list. Each result gives the seller's own MCP URL, where agents price, ask for a key and quote as before.Nobody is listed unless they turn on **List my public offers in the PairRail directory** in Governance. Sandbox sellers show
quotes: rehearsal. Directory calls are not counted against any seller's plan./docs/quotes documents version 1 of the JWS on every agent quote: its claims, how to verify it online or offline, and how the format is versioned. The JSON Schema is at
/schemas/pairrail-quote-v1.json. Quotes themselves did not change.Atlas answers MCP 2026-07-28 requests without a handshake: each request carries its version in
params._metaand theMCP-Protocol-Versionheader, andserver/discoverreplacesinitialize. Clients on 2025-11-25 back to 2024-11-05 still connect throughinitialize.A tool that runs and fails, such as an unknown offer or a request outside policy, now returns a result with
isError: trueand is not counted against the seller's plan. A missing key, plan limit or rate limit is still a JSON-RPC error.The agent card at
/.well-known/agent-card.jsonis an A2A v1.0 card, andPOST /a2atakes JSON-RPCSendMessage. A retried message with the samemessageIdreturns the same quote instead of a new one.Streaming, push notifications and stored tasks are not offered; those methods return the A2A error codes. A2A is on the Pro and Enterprise plans.
Quote requests on every protocol, and access requests over REST and MCP, can be signed with HTTP Message Signatures (tag
web-bot-auth). Atlas checks the signature against the keys the agent publishes and shows the seller who signed and whether it verified.Unsigned requests, and requests whose signature does not verify, go through exactly as before.
On Enterprise, a quote above the manager limit can require two or three different Owners or Publishers to approve it. One decline ends it.
A seller can attach a contract to an approved buyer key: a reference, a discount of up to 90%, optional per-offer discounts and an end date. That buyer's agent is quoted the contract price, and floor prices still apply. Audit streaming sends every audit event to the seller's signed webhook when it subscribes to
audit.event.Each row in the quote ledger has an Evidence button. It downloads one JSON file with the quote, the policy decision, approvals, mandate, outcomes and related audit events, signed with the quote key.
Anyone can check a quote's
signature.tokenor an evidence file withPOST /v1/public/quote-verify, no key needed.valid: truemeans PairRail signed exactly those facts. It does not make the quote binding, and an expired quote still verifies.Set a floor on an offer's price in the offer editor. A quote below it after discounts waits for a person, even inside the autonomous limit, and agents never see the floor. New workspaces start supervised: every agent quote waits for a person until the seller sets an autonomous limit in Governance.
Open quotes can be revoked from the quote ledger, and Owners and Publishers get a daily email of the quotes agents received without a person. Every plan can reject a pending quote; approving needs Pro.
Quotes returned to agents include a
signatureblock: a compact JWS (EdDSA, Ed25519) over the seller, catalog and policy version, what was priced, the calculation, status and expiry. A buyer's finance system can check it against the public keys at/.well-known/jwks.json.The signed payload says
binding: false. A signature shows Atlas computed these numbers; it is not a commitment.