QUOTE · PairRail
Our mission: give every seller full ownership of how agents discover their offers, get quotes and ask to buy.
Agents should get the rigor of an enterprise deal desk on every buying protocol, even as protocols version, fork or get replaced.
What we believe
When an agent buys for a person, that person should get a fair, clear price.
A price an agent can read is a price a person can check.
Commitments that shape what we ship
-
Seller-side first
one catalogWe build for the teams who set and own the prices, not a marketplace for buyer agents. One catalog serves every agent protocol, and you choose which offers each agent can see.
Example: one catalog, what each agent sees - No key
- 3 public offers
- Customer key
- 3 public + 2 customer
- Internal offers
- never shown
-
No lock-in
exportExport your catalog and data whenever you like, and close your workspace from Settings. Approved quotes go to the billing system you already run.
What the export file holds - format
- pairrail.workspace-export
- includes
- catalogVersions · quotes · approvals · agentKeys · auditEvents
- Secrets and tokens
- never included
-
Focused, not exclusive
usage-pricedWe start with usage-priced sellers: compute, data APIs and AI infrastructure. Any seller with a price book can publish today, and Sandbox is free.
-
Same question, same answer
deterministicTwo agents asking for the same thing on the same terms get the same price. Prices don’t change based on who seems willing to pay more.
Example: two protocols, one price - Both send
- offerId gpu.a100-80gb · units 1000 · egressGb 2000
- Agent A · MCP · qr_7f3a…0c21
- $1,801.00
- Agent B · ACP · qr_b62e…91d4
- $1,801.00
-
AI never sets the price
published rulesAI helps you structure your catalog draft. It never invents or negotiates a quote: published rules calculate every price, the same way every time.
Example: how that total is built - 1,000 h × $1.701, 400+ tier
- $1,701.00
- Egress · 2,000 GB × $0.05
- $100.00
- Total
- $1,801.00
- Priced from
- published catalog v12
-
You keep the final say
approvalWe won’t ship anything that lets an agent close a deal you didn’t approve. Above your threshold or below your floor price, a person on your team approves, and agents never see where those lines sit. Each agent key can carry a daily limit, and a kill switch pauses every agent at once. How approval works
What the agent gets back Needs approval
- reason
- Quote total exceeds autonomous authority.
- requiredApprovers
- ["deal-desk"]
- Kill switch on
- 503 AGENT_ACCESS_PAUSED
-
Evidence over hype
versionedPrice changes go live as a new published catalog version, and the audit log records who made them. Every quote carries the rule and catalog version that produced it. If a catalog has unresolved conflicts, its readiness score and badge say so.
Example: on Agent A’s quote - quoteRequest.id
- qr_7f3a…0c21
- catalogVersion
- 12
- policyVersion
- 4
- binding
- false
- Audit log
- catalog.version.publish
-
A person can check what the agent was quoted
signedEvery quote we return is signed. The buyer, or anyone they pass it to, can confirm it came from us and hasn’t been changed, on our public endpoint or with our published key. How to check a quote
POST /v1/public/quote-verify - Agent A’s signed quote
- valid: true
- Same quote, one digit changed
- valid: false
- reason
- bad_signature
signature · ed25519 · valid: true, how to verify a signed quote