With API-key BYOK, the model provider bills your account and Checkfu creates no
managed-model charge. Runtime, separately priced Tools, and governed Web Search still follow
their own terms. Customer-operated Cloudflare also does not, by itself, remove the
Checkfu runtime fee. Physical compute and storage costs are separate from the
Session’s runtime meter.
Running time
Suppose a support Session has two overlapping Runs, while a second Session works independently:
Session A records six running minutes, not eight. Session B records two of its
own: eight Session-minutes in total. If A then waits for approval from 10:06 to
10:10 with no Run running, those four minutes add no Session runtime. Its
machine or storage may still incur physical costs during that wait.
Session runtime producer versions 2 and 3 record the union of its running
intervals: overlapping Runs in one Session count once, while different Sessions
count separately. Historical producer version 1 retains its per-Run intervals;
read its original producer version rather than reinterpret that history as a union.
A Run waiting for approval or rescheduling does not itself add running time. If another Run in that
Session is still running, the Session’s interval continues; it closes when no Run
remains running. Terminal and settled time do not add running time.
If a crash leaves a running interval without an authoritative close, its end
remains unresolved and the never-closed interval remains unbilled. Restart,
erasure, or a missing response does not supply a billable end timestamp.
Unresolved supplier costs are not thereby zero. Accounting retains the
original interval identity for recovery; an accepted close is retried against
that same Usage identity rather than billed again. These rules do not establish
that a particular outage has been reconciled.
See Sessions and Runs for lifecycle events and
Attribute Usage for retained
runtime versions and attribution.
The authority split
Use the Usage guide to query metered work and its
charges. A Usage row, Budget reservation, billed amount, credit, invoice, and
collected payment answer different questions. None alone establishes all the
others.
The append-only Usage ledger is the metering authority. A trace may project
some of the same activity, but it can be sampled, delayed, redacted, or absent.
Checkfu does not reconstruct authoritative Usage from trace spans, message
text, response timing, or a provider dashboard.
Model supply and credential custody
A Session freezes its AgentVersion and Environment. The Agent’s model config determines which model source Session admission freezes: a model that pins a Workspace credential (model.model_credential_id) uses that credential, and an
unpinned managed model uses platform supply.
- Workspace credential: Checkfu records model Usage and creates no managed-model charge because the provider bills the Workspace’s account. This removes managed-model charges only; Session runtime and separately priced tools still follow their own terms.
- Platform supply: Checkfu uses an admitted provider account owned by Checkfu and records the resulting platform charge. Text generation runs on Checkfu’s OpenRouter account, with each managed route pinned to the price ceiling its rate card was reviewed at; image generation runs on fal.
validation.conflict; update or rotate the credential before
starting again. If the credential is rejected or revoked for an already-admitted
provider effect, that effect fails closed with model.credential_rejected.
Selecting platform supply again is an explicit configuration change for a later
admission.
Raw provider credentials stay in trusted custody. They are not fields in model
context, harness configuration, Session events, Usage rows, or sandbox
workloads. The trusted provider edge attaches the credential only after the
live authorization, policy, approval, Budget, and revocation checks have
allowed the exact effect. See Security posture.
Current metering rules
Usage records activity and its accounting basis. An immutable charge records the customer amount; delivery to Autumn and payment are separate steps. A pending billing projection does not mean that the work was free or that payment has completed. If a delivery loses its response, acceptance can remain unknown. An empty reconciliation scan or an expired delivery lease does not establish that Autumn rejected the original event. Checkfu retains the original charge and unresolved delivery for reconciliation; these observations do not authorize another debit. For recorded model-token Usage,measurement.basis: "admitted_maximum" means the
counters are the conservative maximum admitted before dispatch because no
provider receipt was recovered. These counters are an unreconciled estimate,
not provider-measured consumption. Read the original charge separately; this
basis does not prove supplier acceptance, Autumn delivery, or payment.
Customer charges retain their original rate or formula version and exact amount.
A later rate change or provider change does not rewrite an existing charge.
Supplier costs are separate accounting facts; they are not customer amounts.
A correction links to the original charge and records an absolute target amount
and a signed adjustment. The original charge remains in history. An adjustment’s
delivery status does not establish that a credit or cash refund has completed.
Usage without a recorded charge does not, by itself, establish a zero price.
Check its supply class and applicable terms before treating it as BYOK or free
work. A missing financial fact and an undelivered charge are different states.
Read the charge for a Usage entry
Where the Usage read capability is available, requestGET /v1/usage/{usage_entry_id}/charge using the original Usage ID. The SDK
method is client.usage.charges.retrieve(usage_entry_id, { limit: 20 }).
This authenticated read returns the retained customer charge and its pricing
version, linked corrections, and the original charge’s projection state.
It does not purchase work or activate commercial billing.
Follow corrections.next_page as the next request’s page, keeping the same
Usage ID, Workspace and limit. A page is not necessarily the complete correction
history. Each correction includes an absolute target and a signed adjustment;
do not add the absolute targets together. The response’s projection describes
the original charge, not delivery of each correction or payment. A null charge
means no charge is recorded in this read; it does not prove that the work was free.
Rate versions
The current accounting contracts retain these rates and exclusions. They are not a universally activated price list; the admitted terms and commercial availability govern each operation:
Native built-in search does not currently produce the governed
web_search
meter. It is not billed as a governed Web Search request; runtime and model
usage still follow their own terms. The governed-search rate describes the
existing accounting contract, not universal availability or commercial activation.
The Session-owned native model gateway requires an explicitly selected,
independently frozen customer rate card for managed admission. If that selection
is missing, admission refuses before creating managed supplier or customer holds.
The older model-plane gateway can still use the default supplier-times-1.05
formula shown above; the Session-owned native gateway does not fall back to it.
Historical charges retain their original terms.
Native Sessions retain their runtime financial disposition at creation. Closing
or replaying an interval uses those original terms, not the current billing
switch. The older runtime path uses its enabled-runtime-billing setting. A
disabled native disposition records running time with no billed amount; it is
not permission to enable commercial billing later or reprice that interval.
Managed Tool catalog publication describes a release, not a priced purchase admission.
The exact-release response reports customer_terms_status: available includes
the observed fixed price, billing basis, empty-result policy, rate-card version
and effective window. not_installed or revoked returns customer_terms: null,
which means no offered quote, not free execution. These read-only terms do not
reserve funds, grant execution permission or authorize a purchase. Admission
retains the applicable original terms separately from catalog discovery.
The product direction is about $0.08 per active Session-hour and no Checkfu
markup on managed tokens. That direction is not commercial activation. Independent
customer rate cards freeze retail amounts separately from supplier costs for the
selected provider/model pair. Cross-provider model identity mapping is not yet
qualified; changing that pair requires a reviewed mapping and retained customer
price terms. Selecting cards and activating commercial billing are separate
steps; the direction does not change existing charges. Gateway funding and
payment-fee treatment require explicit terms.
Supplier cost estimates, observed liabilities, reconciled supplier invoices,
and supplier payments remain separate from the customer charge. Unknown
liability survives a provider receipt or idempotency window expiring; expiry
does not authorize a fresh paid attempt.
Provider-reported model counters are normalized into immutable model Usage
facts. Actual work remains Usage even when a Session later fails, is cancelled,
or becomes subject to an erasure request.
Sandbox compute and snapshot retention can be recorded for unit economics even
when they are not invoiced. Their presence in Usage does not make them
Budget-enforceable or billable. Included compute and Computer premiums remain
undecided; physical compute, idle residency, and storage do not become Session
runtime charges merely because they incur supplier costs.
When a Principal is erased, retained accounting facts may remain identifiable
or pseudonymous through Workspace and original accounting identifiers. The
direct Principal link is removed and a generated subject reference is retained;
that reference does not establish anonymity. Erasure must not change historical
Workspace totals. Current
end-to-end erasure limits are described in
Retention and zero-data retention.
Four independent refusal gates
All applicable gates must allow a request. Raising a Budget does not repair
payment or entitlement. Commercial entitlement does not override an
ActionPolicy, a revoked credential, or a Workspace quota.
Budget admission and stopping
A Budget reserves capacity before work and settles against authoritative Usage. Live runtime checks include elapsed time in the Session’s still-open running interval within the Budget’s scope and window. This counts towardsession_runtime_ms and, when billable under the retained runtime terms, the
runtime share of total_spend. A Session cannot avoid its Budget merely by
keeping the interval open.
Open accrual is an enforcement projection, not billed runtime Usage. Billed
runtime Usage requires an authoritative close. The closed fact replaces the
open projection, so the same interval is not counted twice.
A prior reservation or approval does not grant unlimited future spending.
Customer Budget capacity and supplier capacity are separate; reserving one
does not reserve the other.
Spend thresholds use integer micro-USD. BYOK removes managed-model charges from
total_spend, not model-cost facts from model_spend. Neither metric proves
supplier payment or payment of a customer invoice. See
Enforce a Principal Budget
for the request shape and scope.
A hard threshold can block new admission, interrupt an in-flight turn, or pause
a Session according to its configured action and supported path. pause_session
is valid only for a Session-scoped Budget. Traces do not enforce these limits.
A stop request is not a stop acknowledgment. Observe the original Run’s actual
stopped or terminal outcome and the Session’s authoritative runtime state. Its
interval closes only when no Run remains running. Do not use a Budget response,
client disconnect, or missing result as the stop time. An in-flight provider operation may already have incurred cost; stopping
the Run cannot undo it. Budget enforcement is not a promise of an instantaneous
hard cap across every provider or physical resource.
For native managed-model work, a total_spend Budget includes the retained
maximum customer exposure while settlement is incomplete. This is a spending
control, not an invoice charge or a payment. Expiry or release of the execution
hold does not erase that exposure: the original Usage and its matching frozen
customer charge must both be recorded before the actual charge replaces it.
Usage alone, or a charge for a different original request, customer card, or
credential generation, does not release the bound. An uncertain outcome can
therefore keep capacity unavailable until original financial evidence is
recovered. Retrying must recover that original work rather than buy it again.
An authenticated BYOK model association has zero managed-model customer
exposure. Session runtime and separately priced tools still count according to
their own admitted terms; BYOK does not remove those charges or Budget limits.
Typed commercial routes
The current contract defines routes such as:
These shapes are API contracts, not a support claim. Call the authenticated
support endpoint and inspect
available and missing_prerequisites before
showing a commercial action.
Next steps
Attribute Usage
Query authoritative Usage and attach a Budget to a Principal.
Permissions
See how permission, policy, approval, revocation, and audit compose.