All articles
AI · 11 min read

Token arbitrage: the AI price gap inside the unit you buy

Seats became credits. The credit does not say what it costs to run.

A dark control room where a single sealed glowing cube labelled with a unit sits between a stream of raw model tokens on the left and an invoice on the right, with the inside of the cube hidden from view.
Contents

Token arbitrage (noun): the difference between what you are charged for an AI unit and what it actually costs to deliver the outcome.

Enterprise AI is moving from seats to units. ServiceNow sells assists. SAP sells AI Units. UiPath sells Platform Units. Microsoft sells Copilot Credits. Each unit has a name that sounds like money and a definition that reads like a feature list.

The unit hides that difference from the buyer, and the difference can run either way. That is the problem.

Disclosure: I use ServiceNow, SAP, UiPath, Moveworks and Microsoft Copilot Studio at work, and ServiceNow has featured my work publicly. This is a buyer’s read from public documents, and each point links its source.

In the great AI lockdown I wrote that enterprise vendors are metering access elegantly. This is the other half. It is about what the meter measures.

What is token arbitrage?

It is a structure, not an accusation. A unit you are billed in sits between the model work a vendor pays for and the invoice you receive, and five things make the gap hard to see:

  • The unit is not tokens. It is an assist, a credit, a message, an outcome, so you cannot divide it back into model work
  • What sits behind one unit varies. The same unit can cover a deterministic step or a frontier model call
  • The buyer cannot see what ran. The consumption table, the model class and any routing change are usually not exposed
  • The gap runs either way. A flat unit can earn the vendor more than it costs, or less
  • Bringing your own model does not remove it. The vendor’s unit can still burn, next to your own provider’s bill

The unit you are billed in is rarely the unit the vendor pays in.

The vendors named below are examples of each part, not a list of suspects. I describe structure, not intent. The vendors have stated reasons for their units, and I give them where I found them.

The unit is not tokens

A token is something the model provider meters and publishes a price for. The units on enterprise invoices are something else, and each one is defined by the vendor.

ServiceNow’s unit is the assist, which its community documentation defines as “ServiceNow’s unit of AI consumption, triggered each time a Now Assist skill or agentic workflow executes.” Its stated reason is value. On the Q2 2026 call on 22 July, the CFO said “Customers aren’t paying us for tokens, they’re paying for resolutions.” Predictable pricing is something buyers ask for, so that is a reasonable position.

Other units follow the same shape:

The unit is a choice the vendor makes about what to count. Resolutions, actions, headcount and credits are all defensible. None of them can be converted back into tokens by the buyer.

What sits behind one unit

Inside any of those units, the work can be very different. A deterministic workflow step, a small model, a frontier model and a cached prompt can each bill as one unit.

The documents show this in a few places:

  • Deterministic and generative steps share a table. In Microsoft’s billing rates a classic answer, written by an author with no generation, is 1 credit, a generative answer is 2, an agent action is 5 and tenant graph grounding is 10
  • Salesforce does the same. Its pricing page defines an action as a function an agent executes, such as updating a record, summarising a case or running a custom prompt, and all of them draw from the same pool
  • A unit does not imply a model. A ServiceNow developer post from July 2026 names Google Gemini 3.5 Flash, OpenAI GPT 5.1 and OpenAI GPT 5.4 Mini as the replacements for the in-house model, and on the Q2 call the CPO described a mix of open-weight, domain-specific and frontier models
  • Routing is a feature. Cursor says its Auto mode “automatically routes to different frontier models based on capacity”, and GitHub’s billing docs say that for Copilot code review the model is selected automatically and is not disclosed

A diagram titled what a unit does not tell you. On the left, an invoice line reading one unit. In the middle, a sealed box. On the right, four possible things behind it: a deterministic workflow with no model, a small model, a mid-size model and a frontier model, with the cost of each unknown to the buyer.

A thought experiment: what the unit allows

This is a thought experiment about what a unit allows. It says nothing about any vendor named in this piece.

Suppose a vendor, call it Vendor X, sells a premium assistant message. The name on the box and the model doing the work are separate facts. Now put real prices on the model side. These are Anthropic’s published list prices as at 5 October 2026, per million tokens:

  • Claude Fable 5.1: $10 in, $50 out, $0.25 cache read
  • Claude Sonnet 5.5: $2 in, $10 out, $0.20 cache read
  • Claude Haiku 4.5: $1 in, $5 out, $0.10 cache read

Take one agent call with a 20,000 token prompt, of which 15,000 are cache reads, plus 500 tokens of output. The token counts are my assumption. The prices are not.

Model runCost per call
Fable 5.1 with caching$0.07875
Fable 5.1, no caching$0.22500
Sonnet 5.5 with caching$0.01800
Haiku 4.5 with caching$0.00900
Deterministic workflow, no modelabout $0

Cached Fable costs 4.4 times cached Sonnet. Uncached Fable costs 12.5 times cached Sonnet. Cached Fable costs 8.75 times Haiku. Whatever price a vendor puts on its unit, the cost behind one unit can differ by a factor of ten or more depending on what ran. The buyer cannot tell which row they are in.

What the buyer cannot see

A spread you cannot see is a spread you cannot negotiate. Four things are usually missing from the buyer’s side.

The consumption table. ServiceNow’s own consumption forecasting guidance puts incident summarisation at 1 assist, a Virtual Agent topic at 10, and an AI agent run at 25, 50 or 150 depending on how many tools it uses. I could not open the rate card itself, which returned an access error, so those figures are as the guidance gives them. They are weights per feature, not token counts.

The price per unit. A third-party licensing analysis notes ServiceNow’s allowance values are not publicly listed. For SAP, I could not find a published price per AI Unit, SAP’s pricing page returned an access error, and third-party advisers quote prices that do not agree, so I have printed none. When the cost side and the price side are both unpublished, the spread cannot be computed from outside. I am not saying it is large. I am saying you cannot tell.

The model class. UiPath is the useful contrast, and the most transparent platform unit I read. Its agents licensing page prices an LLM call at 0.4 Platform Units for a premium model class, 0.2 for standard and 0.16 for basic, and says it charges for LLM calls in 64k input-token increments. The Platform Unit price is still not published, but the structure of the unit is, so a buyer can reason about it. Microsoft meters tokens in one place, its prompt tools, at 0.1 credits per 1,000 tokens for basic, 1.5 for standard and 10 for premium. At the prepaid pack rate of 25,000 credits for $200 a month, which is $0.008 a credit by my arithmetic, premium is $80 per million tokens. That is above the $50 per million output price on Anthropic’s list for Fable 5.1. Microsoft’s pages do not say which model sits in each tier, so it is a documented spread against list price, not proof of margin.

What changes mid-term. The newest Microsoft line is the one I find most interesting. For agents powered by the GitHub Copilot harness, its credit overview says credits are charged for LLM tokens, tools including knowledge and MCPs, and “the harness itself”. When a vendor bills for the harness, the unit is explicitly more than the model. Caching is another quiet variable. GitHub bills cached input at 10 percent of the standard input rate, and the credit tables I read do not mention caching either way.

Which way the gap runs

Token arbitrage is not the same as vendor margin. The gap has a direction, and the buyer cannot see it.

When it runs in the vendor’s favour, a flat unit sits above the cost behind it. A Moveworks-style per-employee fee is the clean structural case. A quiet year costs the vendor less than you paid, and a heavy year costs more. The buyer gets predictability and loses any link between the invoice and the work behind it.

When it runs against the vendor, the correction arrives on your invoice. GitHub is the documented case. It began billing premium requests on 18 June 2025, with a multiplier per model. Then its chief product officer, Mario Rodriguez, wrote on 27 April 2026 that “a quick chat question and a multi-hour autonomous coding session can cost the user the same amount”, that GitHub had absorbed much of the escalating inference cost, and that the model was “no longer sustainable”. From 1 June 2026 monthly plans moved to AI Credits at $0.01 each, consumed on token usage at each model’s published API rate, while annual Pro and Pro+ plans stay on premium requests until they expire. That is about five weeks of notice.

Others moved the same way. On 16 June 2025 Cursor moved Pro from 500 requests to $20 of frontier model usage at API pricing, then on 4 July apologised for communicating the change unclearly and refunded users. Replit’s billing docs say paid work is billed at the provider’s public API rate, and The Register reported users hitting $1,000 in a week against $180 to $200 a month before.

The evidence is mixed for enterprise platforms too. On the same ServiceNow Q2 call, the CFO said subscription gross margin reflected more customers using hyperscaler partnerships and accelerating AI adoption. AI is not obviously free money for the vendor. A Copilot Studio generative answer is 2 credits, or $0.016 at the pack rate, which sits close to the Sonnet row in the thought experiment above.

The dev tools that sell to developers who read their own bills ended up un-abstracting. Most enterprise credit tables I read still do not expose tokens, with UiPath the exception. So a buyer on an opaque unit is exposed whichever way the gap runs.

Credits are the AI effect applied to billing. Once the AI works, it gets renamed into a unit. I wrote about that pattern in the AI effect. It also connects to the clock-speed problem in enterprise support, because vendors can change a unit faster than an annual contract can respond.

The double meter: bring your own key

Bring your own key sounds like the answer. It is a second meter on the same call, not a way out of the first.

ServiceNow’s documentation on using external LLMs with Now Assist says that with BYOK, “Assists are charged per the pricing guide for OOTB skills that have been modified in NASK to use this provider.” It also says additional costs may be incurred for your own instance. The Generative AI Controller FAQ says it needs an existing Pro Plus or Enterprise Plus entitlement and will consume assists.

So for those skills there are two bills for the same call. Assists go to ServiceNow, and tokens go to your model provider. The scope matters: this covers skills configured for BYOK or bring-your-own-LLM, and out-of-the-box skills use models ServiceNow selects.

There is a fair read. BYOK buys data residency, model choice and governance, and those are real things to pay for. Two bills is a cost. It is not necessarily a bad deal.

Elsewhere it varies. Microsoft’s rates exclude bring-your-own-model setups, which are billed separately, and the page does not say whether the feature credit still applies. UiPath charges customer-managed models a flat 0.2 Platform Units per run instead of per call, so units still burn alongside your own provider’s bill. I found no SAP source for a bring-your-own-key double charge, so I say nothing on it.

What to ask your vendor

These are the questions I would take into a renewal. None of them assumes bad intent.

  • Ask for the unit’s definition per feature, in writing. UiPath publishes a table. If a vendor will not, that tells you something
  • Ask which model class runs behind the unit, and whether it can change in the term. A unit does not imply a model
  • Ask whether deterministic and generative steps burn the same unit. A record update and an LLM summary sharing a unit is worth knowing about
  • Ask how cached and repeated work is counted. GitHub bills it at 10 percent, and the credit tables I read are silent
  • Ask what BYOK changes. Which bills, which units still burn, and for which skills
  • Ask how an outcome or a resolution is defined. Check whether silence counts
  • Ask what protects you if the rate card changes. GitHub’s change took effect about five weeks after it was announced
  • Model the contract at ten times today’s volume. Agent traffic compounds, as I covered in the great AI lockdown

If you can get only one of those, get the first. A unit you can read is a unit you can negotiate.


Written by Bradley Hunt. For more on AI-first building and enterprise architecture, see the writing index.

aitoken-arbitrageai-pricingenterprise-aisaas-pricinglicensingservicenowsapuipathmoveworkscopilot-studiogithub-copilotcioprocurement
Share

Read next

BH

Bradley Hunt

AI, engineering & leadership