What Is IoA Usage Accounting? The Beginner's Guide to Auditable Agent Billing Across Domains

CodexFuse Team · 2026-11-05T20:35:04.115Z · 21 min read min read

What Is IoA Usage Accounting? The Beginner's Guide to Auditable Agent Billing Across Domains

What Is IoA Usage Accounting?

What is IoA usage accounting? It is a proposed framework for recording, checking, and reconciling the work that AI agents do when they collaborate across different organizations and domains. The letters IoA stand for Internet of Agents, not Inter-Office Account from corporate finance and not Input-Output Analysis from life-cycle assessment, two unrelated meanings that share the same acronym.

The framework is defined in an IETF Internet-Draft called Verifiable Usage Accounting for Internet of Agents, published as draft-zhang-ioa-usage-accounting-01 on November 2, 2026.

The draft gives every domain the same vocabulary for five things: the scope of a task, the rules for measuring it, the quantities being measured, the records of what happened, and the evidence that backs those records up. With that shared vocabulary, a platform that ran part of a job and a platform that ran the rest can compare notes, correct mistakes, and settle disputes without trusting each other's private logs. The goal of Internet of Agents accounting is auditable agent billing across domains, built on records any receiver can check against declared rules.

The draft comes from five authors at AsiaInfo Technologies in Beijing, and it is an individual submission rather than a product of an IETF working group. It is an Internet-Draft, which means it is work in progress and not an adopted standard, its intended status is Informational, and it expires on May 6, 2027 unless a newer revision replaces it. That status matters, because everything in this guide describes a proposal, not a rule that any system must follow today.

The records this framework produces need tamper-evidence, and the same hash ideas behind a SHA-256 hash generator show up in the evidence layer described later in this guide. If you run agents on rented infrastructure, the accounting problem also starts with the bill for the machine underneath, which is why this guide sits beside our explanation of VPS hosting.

Why App Logs and Platform Billing Cannot Do This Job

One agent can now start a task, hand part of it to a second agent on another platform, and receive results from a third. Each platform keeps its own logs, counts usage in its own units, and bills through its own system. When the customer asks what the whole job cost, or why two invoices disagree, nobody has a single record that covers the full chain.

App logs are written for debugging, not for accounting. They record what a developer needed at the time, in whatever format the application chose, and they are easy to edit after the fact. A billing API is the opposite problem: it reports a total, but it hides the events, the measurement rules, and the evidence behind that total.

Cross-domain accounting needs a third kind of record, one that is structured, comparable, and checkable by a receiver who was not there when the work happened. That is the gap the draft tries to fill, and it is the same gap that agent frameworks are trying to close from the other side. Readers who want the framework view can start with What the I2ICF framework is, while the security side of the same problem is covered by What the Agentic AI Security Framework is.

An agent usage accounting framework that tried to do everything would do nothing well, so the draft's answer is deliberately narrow. It does not build a billing product, and it does not tell anyone what to charge. It defines the records and the evidence, and it leaves pricing and payment to other systems, a boundary the later sections of this guide return to.

The Five Building Blocks at a Glance

The draft's object model has five pieces, and they chain together in one direction. An Accounting Context sets the scope, a Metering Profile declares how usage inside that scope is measured, Measurement Dimensions name what is counted, Usage Event Records capture what happened, and Accounting Evidence References point at the proof. Together they form the agent usage accounting framework the draft proposes, and the table below summarizes each piece before the following sections explain them one by one.

PieceWhat it isWhat it answers
Accounting ContextThe scope that binds identifiers, policies, and evidence rules for one task or sessionWhich job does this record belong to?
Metering ProfileThe declared rules for how usage is measured and what evidence is requiredHow was this usage counted?
Measurement DimensionOne quantity, its unit, and how its value was obtainedWhat was measured, and in what unit?
Usage Event RecordThe structured record of one observed accounting-relevant eventWhat happened, when, and where?
Accounting Evidence ReferenceA pointer to the integrity-protected evidence behind a recordWhat proves this record?

Two details matter before the detail sections. First, every piece is a declaration or a record, not a service: nothing in the draft runs a server or moves money. Second, the pieces are designed so that a receiver in a different domain can interpret a record without access to the sender's internal systems, which is the whole of verifiable usage accounting Internet of Agents as the draft defines it.

Accounting Context: The Scope That Holds a Task Together

An Accounting Context is the scope inside which Usage Event Records are correlated and interpreted. It binds together the identifiers, policies, metering profiles, and evidence requirements for one task, invocation, session, or gateway-mediated collaboration. Without it, a usage record is just a number with no statement of what job it belongs to.

A context should carry its own identifier, the accounting domain it belongs to, the gateway and agent involved, the task, session, invocation, and trace identifiers, a subject reference, a policy reference, a metering-profile reference, an evidence policy, a validity window, and a privacy scope. It must be unambiguous inside the domain that asserts it, and when it crosses into another domain, the receiver must be able to identify who asserted it, how long it is valid, and what disclosure constraints apply.

Context fieldPurpose
accounting-context-idIdentifies this scope within its domain
accounting-domain-idNames the administrative domain responsible for the records
gateway-idNames the gateway that mediated the collaboration
agent-id / agent-didNames the agent that performed the work
task / session / invocation / trace idsTie the record to one specific job and its execution trail
subject-refNames the subject the work was done for
policy-refPoints at the policy that governs this scope
metering-profile-refPoints at the measurement rules in force
evidence-policyStates what evidence must be kept and for how long
validityGives the start and expiry of the scope
privacy-scopeStates what may be disclosed outside the domain

The practical effect is that two domains can talk about the same job without sharing the same database. Each side keeps its own records, and the context identifier is the thread that ties them together when a dispute or a reconciliation needs to pull the chain apart.

Metering Profile: The Rules for How Usage Is Measured

A Metering Profile declares how usage is measured and what evidence is required, for one capability, agent, gateway, or accounting domain. It is the rulebook that a context points at: the categories of usage it supports, the dimensions it measures, the methods it requires, and the evidence it demands. Two records measured under different profiles are not automatically comparable, which is why a record used for cross-domain reconciliation must name the profile and its version.

A profile should specify its identifier and version, the usage categories and measurement dimensions it supports, the measurement methods it requires, the evidence types it requires, and how it aggregates, corrects, and exports records. It should also state its privacy behavior, covering redaction, pseudonymization, minimization, and selective disclosure, and its export behavior, covering push, pull, batch, streaming, or local-only handling.

Profile declaresWhy it matters
Profile id and versionLets a receiver know exactly which rules produced a record
Supported usage categoriesStates what kinds of work this profile covers
Supported measurement dimensionsStates what quantities can be reported
Required measurement methodsStates how each value must be obtained
Required evidence typesStates what proof must accompany a record
Aggregation behaviorStates whether records roll up per event, per task, per session, per window, or as summaries only
Correction behaviorStates how wrong records are fixed without rewriting history
Privacy behaviorStates how personal or sensitive data is redacted or minimized
Export behaviorStates how records leave the domain: push, pull, batch, streaming, or local-only

The profile is where the draft's honesty lives. By forcing the measurement rules into the open, it makes it possible for a receiver to ask whether a number was observed, reported by a provider, estimated, sampled, or derived, instead of taking a bare total on trust.

Measurement Dimensions: What Gets Counted, and in What Unit

A Measurement Dimension declares what is measured, which unit is used, which usage category or modality it applies to, and how the value is obtained and aggregated. The draft names example dimensions such as input-token-count, output-token-count, cached-token-count, reasoning-token-count, processing-time-ms, request-count, transferred-bytes, tool-call-count, workflow-step-count, delegation-count, and standard-compute-usage. Each dimension carries a unit, a value type, a measurement method, an aggregation scope, and a privacy class.

Dimension labels do not establish comparability on their own. Token counts must identify the model, the tokenizer, or the provider counting convention behind them, and a cached or reasoning subset must not be added again to a total that already includes it. The draft also treats a Standard Compute Unit, or SCU, as a normalized unit for compute across heterogeneous models and tools, but it defines no calibration, exchange rate, or pricing for an SCU, so no SCU price or conversion can be quoted from this draft.

One distinction runs through the whole draft and is worth stating plainly. A measured zero is a value, and it is not a default for a measurement that is unavailable, withheld under policy, or not applicable. Reporting a dimension as zero when it was never measured would hide a gap in observation, and the draft requires explicit coverage limitations instead.

DimensionUnitWhat it counts
input-token-counttokenTokens sent into a model call
output-token-counttokenTokens produced by a model call
cached-token-counttokenInput tokens served from cache
reasoning-token-counttokenTokens spent on reasoning before the answer
processing-time-msmillisecondTime spent processing a request
request-countrequestRequests made to a capability
transferred-bytesbyteData moved between domains
tool-call-countoperationTool invocations performed
workflow-step-countstepSteps completed in a workflow
delegation-countcountTimes work was handed to another agent
standard-compute-usageSCUNormalized compute across models and tools

Usage Event Records: The Ledger Entries

A Usage Event Record is the structured record of one observed accounting-relevant event: a task starting, a delegation, a tool invocation, a model inference, a workflow step completing, or a task result being verified. It carries a record identifier, the accounting context it belongs to, the event type and time, the observation point, the actor and target, the usage category, the measurements keyed by dimension, the quota state, the result status, sequence information, an evidence reference, and a signature or integrity reference. A receiver must not treat a record as verified only because it is syntactically valid.

How one event becomes a checkable record:

  1. The event is observed at a declared observation point, with the observation time recorded separately from the time the record is received.
  2. The event is placed inside its Accounting Context, so the receiver knows which task and domain it belongs to.
  3. Measurements are attached, each keyed to a dimension from the Metering Profile, with the method that produced each value.
  4. An evidence reference is attached, pointing at the signature, receipt, hash, or attestation that supports the record.
  5. The record is exported to the collector, which can check it against the declared rules and raise a finding if it does not add up.

The draft defines eleven initial event categories, from orchestration and execution through tool invocation, model inference, multimodal processing, quota control, gateway forwarding, workflow, result verification, correction, and dispute. Correction and dispute are categories in their own right, which is a deliberate choice: the model expects records to be wrong sometimes, and it gives the correction a first-class place instead of letting it hide as an edit.

Event categoryExample
orchestrationPlanning and splitting a task across agents
executionRunning a step of the task
tool-invocationCalling an external tool or API
model-inferenceOne model call, with its token counts
multimodal-processingHandling image, video, or audio input
quota-controlChecking or enforcing a usage quota
gateway-forwardingPassing a task through a gateway to another domain
workflowAdvancing a multi-step workflow
result-verificationChecking a task outcome under a declared policy
correctionReplacing a wrong value while keeping the old one as history
disputeFlagging a record that one side does not accept

The draft's worked examples show the arithmetic the model is built for. One inference record reports 1,832 input tokens, 412 output tokens, and 960 reasoning tokens, which add to 3,204 total tokens.

A delegation example reports a parent's local 100 tokens plus a child's 40, giving a 140-token subtree total, and a later correction changes the child to 35, giving an effective total of 135, while the old 140 is kept as history rather than silently rewritten. A duplicate-handling example counts a retransmitted record once, at 10, and adds a distinct retry of 7, for 17 in total, because a retransmission is not a second execution.

These examples are illustrative and are not a normative serialization profile, and their values are invented illustrations, not real measurements. That caveat matters for anyone quoting the numbers: they demonstrate the counting rules, and they do not describe any real deployment.

Accounting Evidence References: The Receipts Behind the Records

An Accounting Evidence Reference points at the integrity-protected evidence that supports a Usage Event Record: a signature, a receipt, a hash, an authorization reference, an execution trace, a result attestation, or a human confirmation record. It carries an evidence identifier and type, a location that may be embedded, local, a URI, digest-only, or unavailable under policy, a digest and its algorithm, the asserting entity, the verification method, a validity and retention period, and a disclosure policy.

The draft requires no particular evidence format. Implementations may use JOSE, COSE, JWT, CWT, or selective-disclosure mechanisms, and the choice is left to the profile. What the draft does require is restraint: evidence references must not demand the disclosure of raw prompts, tool results, personal data, or sensitive operational data unless policy allows it and the accounting purpose actually needs it.

Evidence is the hinge of the whole framework, and it is also where the draft is most careful about its limits. A signature binds protected bytes to a signing key under stated validation assumptions, and a digest binds a record to particular bytes when compared against a trusted reference. Neither mechanism on its own proves that usage counters are accurate, that an observation point saw everything, that an action occurred, that a business result is correct, or that a payment was settled, and the draft says so directly.

What "Verifiable" Actually Means — and What It Does Not

In this draft, verifiable means that a receiver can evaluate explicitly identified accounting claims using declared measurement rules, provenance, and evidence. It does not imply that every reported value was independently measured, that every event was observed, or that a signed record proves that a task succeeded or a payment occurred. That sentence is the most important one in the draft, because the word verifiable is easy to over-read.

A verification can establishA verification cannot establish
That a claim follows the declared measurement rulesThat every value was independently measured
That a record's bytes match its digestThat the usage counters are accurate
That a signature came from the stated keyThat the signed action actually happened
That an observation was recorded under a declared policyThat the observation point saw every event
That a result was checked under a declared policyThat the business result is correct or the payment settled

The confusion the draft guards against is the gap between a record being well-formed and a record being true. A syntactically valid record with a good signature is still only a claim, and verification is the process of testing that claim against the rules the sender declared. Anything beyond that, such as whether the agent's answer was actually correct, belongs to result verification, a separate category with its own policy.

What the Draft Deliberately Leaves Out

The draft's abstract states its boundary in one sentence: it does not define pricing, charging policy, token issuance, financial settlement, revenue-sharing rules, invoices, or business support system interfaces. The fuller list in its scope section adds tariffs, rating algorithms, token exchange, a general-purpose business support system, an online charging system, a payment protocol, a financial ledger, a discovery or routing or orchestration protocol, a complete identity or trust framework, and a mandatory serialization format or transport protocol.

Left outWho defines it instead
Pricing and tariffsThe billing system that consumes the records
Charging policy and ratingThe operator's commercial policy
Token issuance and exchangeThe token platform
Financial settlement and revenue sharingThe settlement system
InvoicesThe business support system
Discovery, routing, orchestrationThe agent platform
Identity and trust frameworkThe identity system
Mandatory serialization or transportA future profile or a separate specification

The design principle behind the boundary is the separation of accounting facts from business charging. The draft standardizes what happened and how it was measured, and it leaves what it is worth to systems that are built to decide that. Disputes follow the same split: the draft defines correction and dispute records, but it does not define arbitration rules, legal process, liability, compensation, or financial settlement.

That restraint is why the draft can stay short at 34 pages. It does not try to be a billing system, a payment protocol, or a trust framework, and a reader who expects any of those will be disappointed in the right way.

How IoA Usage Accounting Relates to Agent Run Metrics

The draft's closest relative is Agent Run Metrics, the per-run JSON format for counting what a single agent run costs, which this draft references normatively as draft-arsentev-agent-run-metrics-02, dated November 1, 2026, one day before this draft's revision. Agent Run Metrics can supply source measurements for this framework, and a mapping between the two must preserve the counting conventions, the local-versus-subtree scope, the reporter namespace, and the missing-report status. No lossless or implemented mapping is claimed in either draft.

The two drafts work at different layers, and that is the point of the reference. Agent Run Metrics describes one run; IoA usage accounting describes the cross-domain world that run lives in, with contexts, evidence, export, collector findings, and correction and dispute relationships. Readers who want the per-run layer first can read What Agent Run Metrics is, and then return here for the layer above it.

QuestionAgent Run MetricsIoA usage accounting
What it describesOne run's resource useUsage across domains and organizations
FormatA JSON interchange formatA protocol-visible object model
ScopePer run and per step, local versus subtreeContexts, profiles, records, evidence
EvidenceCounters carried in the reportEvidence references plus verification claims
CorrectionsMissing-report statusReplacement corrections and collector findings
What it does not doCross-domain reconciliationPricing, settlement, or billing

The one-day gap between the two drafts is a small detail with a useful lesson. Two teams published complementary pieces of the same puzzle within a day of each other, and the IoA draft cites the -02 revision by name, which means its reference is pinned to a specific snapshot rather than to a moving target. The comparison people ask for, agent run metrics vs IoA usage accounting, is a comparison of layers rather than a contest between rivals.

Where the Idea Comes From: Three Accounting RFCs

The draft does not invent accounting from scratch. It adapts ideas that networks have used for decades, and it names three RFCs as its starting points.

RFC 2975, an introduction to accounting management from October 2000, frames accounting as the collection of resource-consumption data for capacity analysis, cost allocation, auditing, and billing, and argues that no single protocol fits every application. RFC 2866, RADIUS Accounting from June 2000, carries accounting information between a network access server and a shared accounting server in start, stop, and interim records.

RFC 7011, the IPFIX protocol from September 2013, exports flow information from an exporting process to a collecting process using template-based records. The draft itself runs to 34 pages across 14 sections plus an appendix.

SourcePublishedPagesWhat the IoA draft takes from it
RFC 2975, Introduction to Accounting ManagementOctober 200054Accounting-management concepts and vocabulary
RFC 2866, RADIUS AccountingJune 200028The event-record pattern of start, stop, and interim records
RFC 7011, IPFIX ProtocolSeptember 201376The exporter-to-collector model and template-based records
draft-zhang-ioa-usage-accounting-01November 2, 202634Applies those ideas to agent collaboration across domains

The three inspirations span 13 years and 158 pages combined, and the IoA draft is shorter than any one of RFC 2975 or RFC 7011 alone: 20 pages shorter than RFC 2975 and 42 pages shorter than RFC 7011. The whole history of this draft so far runs 364 days, from the -00 posted on May 7, 2026 to the -01 expiring on May 6, 2027, with 179 days between the two revisions and an identical 185-day lifespan for each, so the -01 is a same-length renewal rather than an extension of the -00. The -00 itself expired on November 8, 2026, and the -01 carries the same 185 days of validity from its posting date.

The lineage also sets expectations about pace. RADIUS accounting and IPFIX each took years to move from idea to standard, and the IoA usage accounting draft is four days old. Its value today is as a shared vocabulary for builders, not as a settled rule, and the next revision will show whether the wider community picks the vocabulary up.

Who should pay attention now depends on what they build. Platform teams shipping multi-agent products can adopt the vocabulary today, because naming the five pieces costs nothing and makes later interoperation easier.

Agent-infrastructure builders should track the revisions and prototype the object model, since the next version may change the details. Billing and finance teams can wait, because no pricing or settlement is defined here.

Standards watchers should look for a -02 revision or a working-group adoption, which would be the first sign that the wider community is picking it up.

Sources

Verifiable Usage Accounting for Internet of Agents, draft-zhang-ioa-usage-accounting-01 — IETF Datatracker, full text, 34 pages, posted November 2, 2026, expires May 6, 2027.

draft-zhang-ioa-usage-accounting-01.txt — IETF archive, plain-text version of the draft.

Datatracker document page for draft-zhang-ioa-usage-accounting — confirms -01 is the current revision and no -02 exists.

Agent Run Metrics, draft-arsentev-agent-run-metrics-02 — IETF Datatracker, the per-run JSON format this draft references normatively, dated November 1, 2026.

RFC 2975, Introduction to Accounting Management — RFC Editor, October 2000, 54 pages.

RFC 2866, RADIUS Accounting — RFC Editor, June 2000, 28 pages.

RFC 7011, Specification of the IP Flow Information Export (IPFIX) Protocol — RFC Editor, September 2013, 76 pages.

iddiff: draft-zhang-ioa-usage-accounting-00 versus -01 — IETF Author Tools, the -00 to -01 change comparison.

Frequently Asked Questions

Is IoA usage accounting an adopted standard?

No. It is an individual Internet-Draft, not a product of an IETF working group, and it would be published as an Informational document, not a Standards Track RFC. Like every Internet-Draft, it is valid for a maximum of six months and may be updated, replaced, or obsoleted at any time.

Does this draft set prices for agent work?

No. The draft deliberately leaves out pricing, charging policy, token issuance, financial settlement, revenue sharing, invoices, and billing interfaces. It defines the accounting records and the evidence behind them, and it leaves what the work is worth to the billing and settlement systems that consume those records.

Does a signed usage record prove the agent's task succeeded?

No. A signature proves only that specific bytes were signed by a specific key under stated validation assumptions. Verifiable here means a receiver can check a claim against the declared measurement rules and the evidence, not that the value was independently measured or that the task succeeded or a payment occurred.

What is a Standard Compute Unit (SCU)?

An SCU is a normalized unit for compute consumption across heterogeneous models, tools, and environments, defined by each Metering Profile. The draft gives no official conversion between SCUs and tokens, seconds, or money, because it defines neither a calibration nor an exchange rate for the unit.

When does the draft expire, and what happens then?

The -01 revision expires on May 6, 2027, which is 181 days after this guide was written on November 6, 2026. If no newer revision replaces it by then, the draft lapses, and anyone still using its vocabulary would be relying on an expired proposal rather than a live document.

Featured on Twelve Tools Hunt for Tools Featured on LaunchBuff Launch Llama Tools Launch your MCP Top Web Development Companies in the US - OnToplist.com Designer Listings Listed on SeeWhatNewAI Featured on SubmitMySaas