The guarantee
In short
Unit
What counts as one, in your words, from an event your system already records: a ticket marked resolved, a document marked processed
Price
Dollars per unit, fixed for the term: our expected cost per unit plus a transparent margin, shown in your quote
Term
12 months. Then renew at a new quote, or stop
Covered
Every model call, retry, tool step, and embedding a unit makes through our endpoint, on the models you've approved, including the work on tickets that don't resolve
Not covered
Self-hosted models, fine-tuning, batch jobs, and work outside the unit's definition
Delivery
Your calls run through our endpoint, on our provider accounts. We buy the inference and pay the providers
Billing
Monthly, in arrears, net 30. Each invoice lists every unit's calls
What you pay
Units delivered times the price per unit. No platform fee, no seats, no deposit, and no minimum
Price cuts
You share in provider price cuts
Models
No change of model, provider, or region without your approval
Changes
If your product or volume changes significantly, either side can re-quote
Reserve
Held in trust for you at a US bank, with an independent trustee. If we stop operating, it's paid to you
Fallback
If our endpoint fails, your calls go straight to your providers on your own keys, and we don't bill any unit that touched them
What it is
A supply contract: we sell you the inference at a fixed price per unit and pay the providers ourselves. Your auditors decide how it books
The X-ray
What we need, and what you get
We need
Usage exports or invoices from each inference provider for the last three to six months, by day and by model if you can, and the number of units you delivered in the same months
You get
Cost per unit by day and by month, how far it swings and the days that drove it, your model mix and cache share, and a quote with its parts shown
The price
Our expected cost per unit for the term, counting what prompt caching will save you, plus a transparent margin. It often lands below what you pay today. When it doesn't, the report says why
Turnaround
Five business days from the files
Cost
Free
Your data
No access to your systems: you send files. A mutual NDA before the first file. Deleted 90 days after your report, unless a shadow period starts. Never used to train models, or to price anyone else
Starting
Sign in at app.merlinfield.com with a code sent to your work email, accept the NDA, answer six questions, and upload the files. Or write to hello@merlinfield.com for the NDA and a private upload link. Please don't attach files to email
Weeks 1 to 4
The shadow period
What happens
We price every unit as it happens. Nothing binds and nothing changes in production. After four weeks you have a record, unit by unit, of what you'd have paid us and what the work cost
What we read
Call metadata: tokens, model, latency, retries, and the unit each call belongs to. No prompt or completion text, no tool arguments
The exporter
Open source (Apache 2.0). Runs next to your traces with a read-only key you scope, sends an allowlist of fields to one endpoint, and never updates itself: you pin a signed release. Reads OpenTelemetry traces, or your trace store's export
Units
Read from an ID your traces already carry, such as the ticket or document ID
When the guarantee starts
What changes in your stack
What changes
In each provider's SDK, the base URL and the key: ours replaces yours. Each call carries a unit ID header. Your prompts stay as they are
Switch-over
Weeks 5 to 7. A share of your traffic moves first, so you measure latency on your own calls before the rest moves
Your keys
Stay in your client and never reach us. A few lines around each SDK (Apache 2.0) send a call to the provider on your own key when our endpoint fails its health check. A stream we drop before its first token is retried there; one we drop mid-response ends with an error, as a provider's can
Provider accounts
Ours, with a project of your own at each provider, with its own keys and rate limits. Zero data retention is in place on every account before a guarantee runs on it
Where it runs
AWS us-east-1, one region for now. Your fallback covers a regional outage
Latency
We aim for under 20 ms added at the median and 60 ms at the 99th percentile, time to first token included, and you measure it yourself in the switch-over
Uptime
99.9% a month, on a public status page. Commitments and credits are in your order form
Prompt text
Passes through to the provider and back, unchanged except the prompt-caching markers we add with your approval, which change cost, not output. We never store prompt text and never cache responses
Providers
OpenAI, Anthropic, and Google Gemini
Features
Streaming, tool calls (parallel ones too), structured outputs, embeddings, and the providers' own prompt caching
Not yet
Batch, realtime audio, fine-tuning, and file storage. Calls to those go straight to the provider, outside the guarantee
Azure and Bedrock
Those units stay outside the guarantee, or, with your written approval, move to the same models on the provider's own API. Throughput you've reserved stays yours
Leaving
Point your SDKs back and drop the fallback lines. There's nothing else to undo
Your models
Nothing changes without your approval
Your models, providers, and regions don't change without your written approval. We may propose a change, with its results on your own test set against your own bar: resolution rate, extraction accuracy. You approve it per unit type, and if you roll it back, we revert within the hour. Every response names the model that served it, and your price never depends on saying yes.
Finance
What you get every month
The invoice
Units times the price, in arrears, net 30, with every unit's calls and what they cost us, so you can check it line by line
The report
Your volume and cost per unit, and any change big enough to re-quote, before it arrives
The reserve
Every quarter, the balance of the reserve held in trust for you
Your team
What each step takes
| Engineering | Finance | |
|---|---|---|
| X-ray | Nothing | Export usage, count units |
| Shadow period | Run our exporter | Review the record |
| Switch-over | Point each SDK at our endpoint, tag calls with their unit, add the fallback | Sign the order form |
| Guarantee | Nothing more | Pay one invoice a month |
Questions
What people ask us
What does the X-ray cost?
Nothing. The X-ray and the quote are free.
Where are the full terms?
In your order form, which comes with your quote.
Will you change which models we use?
Not without your approval, and the same goes for providers and regions. We may propose a change, with its results on your own test set, and you can roll it back. Every response names the model that served it.
How do you make money?
From a transparent margin in your price, shown in your quote. It pays us for carrying the risk that costs rise above what we expected.
Who pays when a unit costs more than the price?
We do. We buy the inference and pay the providers. You pay the price per unit, whatever that unit cost us.
Do you see our customers' data?
Not before you sign. The X-ray and the shadow period run on usage exports and call metadata, never prompt text. During the guarantee, calls pass through our endpoint to the provider, and we never store what they say.
What if our volume changes?
If your product or volume changes significantly, either side can re-quote. No minimum, no deposit, and no take-or-pay.
What if a cheaper model comes out mid-term?
Move units to it whenever you like, and we re-quote those units. When a model you already use gets cheaper, you share in the cut.
What about our committed spend with a provider?
Only the units in scope move to our accounts. The rest of your traffic keeps drawing down your commitment, and we size the scope with you so you still meet it.
What happens at the end of the term?
We re-quote on your latest data. You can renew at the new price or stop, and pointing your SDKs back takes minutes.
What if Merlinfield stops operating?
Your calls fall back to your own provider keys, the contract ends, and you owe nothing more. The reserve held in trust is paid to you.