Ambrin is pre-launch. Early access is open for agent builders and capacity providers.

Request access

Metered intelligence, settled on-ledger.

Ambrin turns inference, GPU time and data feeds into tokenized credits. Agents spend them per call, and every call leaves a private, verifiable receipt.

The problem

Agents spend all day. The bill arrives next month.

Agents pay for inference, GPUs and data the way a web app did ten years ago: one shared API key and a monthly invoice. That holds up for one service. It falls apart with forty agents making thousands of calls an hour.

  1. 1 1 KEY N AGENTS

    One key, many agents

    Every agent draws on the same key and the same account. There is no budget per agent, so one runaway loop spends everyone's money.

  2. 2 TOTAL ? CALLS

    An invoice is not a record

    The provider sends one total at month end. It can't tell you which agent made which call, or what that call cost.

  3. 3 YOUR LOGS THEIR BILL

    Reconciliation after the fact

    You learn what happened by joining logs against a bill, weeks later, and trusting that both sides counted the same way.

How it works

Capacity in. Credits out. A receipt for every call.

  1. 01

    Providers tokenize capacity

    A provider lists inference, GPU time or a data feed and issues credits against it. Each credit is a claim on metered units at a stated price.

  2. 02

    Agents buy credits

    The agent's owner funds a wallet and sets a budget. The agent holds credits only for the providers it is allowed to use.

  3. 03

    Credits are spent per call

    Each call states its units. Credits move from the agent to the provider as the call is served. No shared key, no running tab.

  4. 04

    The call settles and emits a receipt

    Payment and receipt are one atomic transaction. Either both happen or neither does.

What's metered

Three kinds of capacity. One way to pay for them.

Inference, metered by the token

Input and output tokens are counted on every call and priced per unit. The receipt carries both counts.

  • Unit: tokens

    Input and output are counted separately, each at its own unit price.

  • Budget per agent

    Cap spend per call, per day or per task. A call over budget fails before it runs.

  • Model on the receipt

    The receipt names the model and version that served the call.

Inferenceinference.north
const res = await agent.call("inference.north/chat", {
  model: "north-large-2",
  messages,
  maxSpend: "0.02 cr",
});

res.receipt.units; // { input: 1204, output: 638 }
1,842 tokens×0.000002 cr=0.003684 cr

Provider names, units and prices on this page are illustrative. Providers set their own unit prices.

The receipt

Every call leaves a receipt.

Not a log line you wrote yourself. A record both sides signed, created in the same transaction that moved the credits.

View as

The buyer sees the full receipt, plus its own wallet balance after the call.

What was called
Agent, provider, resource and model, with a call ID you can match to your own traces.
What it cost
Units, unit price and total. The arithmetic is on the receipt, not in a pricing page you have to look up.
Who can see it
The buyer and the provider. Nobody else on the network receives it.
Receipt
Settled

rcpt_7f3a9c21e

Call
call_01JB2M8Q4T
Settled at
2026-10-01 14:32:07 UTC
Agent
research-agent-07
Buyer
acme-agents::1220…9f3c
Provider
inference.north::1220…4be0
Resource
chat / north-large-2
UnitsUnit priceAmount
1,204 input tokens0.00000150.001806
638 output tokens0.00000300.001914
Total0.003720 cr
Contract
00a4f1…d27e
Signed by
buyer, provider
Wallet after
249.996280 crbuyer only
Visible to Buyer Provider Anyone else

Audit trail

What every agent used, and what it cost.

Receipts roll up into a ledger the owner can query. Group by agent, by provider or by resource. Every total traces back to the individual calls behind it.

Usagelast 24 hoursSample data
Credits spent46.02cr
Calls18,204
Receipts18,204one per call
Over budget037 calls refused
AgentCallsTokensGPU-sQueriesSpentDaily budget
research-agent-076,4129.8M–1,20822.14 cr89% of 25
trainer-agent-0114–1,116–13.95 cr70% of 20
pricing-agent-029,9301.1M–9,1055.92 cr59% of 10
support-agent-111,8482.4M–964.01 cr80% of 5
4 agents18,20413.3M1,11610,40946.02 cr
  • Budgets that hold

    A budget is checked in the same transaction that spends the credits. An agent can't overspend and settle up later.

  • Totals that trace back

    Every number in the table is a sum of receipts. Open any row and you are looking at individual calls.

  • One view across providers

    Inference, GPU time and data sit in the same ledger, in the same format, whoever sold the capacity.

Developers

A budget in the call. A receipt in the response.

Give each agent a wallet, set what it may spend, and call providers through one client. The receipt comes back next to the result.

  • One wallet per agent. No shared keys to rotate or leak.
  • Limits enforced before the call. Per call, per day or per task.
  • The same receipt shape everywhere. Inference, GPU time or data.

The SDK is in private preview. Names and signatures may change before release.

import { Ambrin } from "@ambrin/sdk";

const ambrin = new Ambrin({ party: process.env.AMBRIN_PARTY });

// One wallet per agent, with a hard budget.
const agent = ambrin.agent("research-agent-07", {
  budget: { perCall: "0.02 cr", perDay: "25 cr" },
});

const { output, receipt } = await agent.call("inference.north/chat", {
  model: "north-large-2",
  messages: [{ role: "user", content: "Summarise today's filings." }],
});

receipt.id;        // "rcpt_7f3a9c21e"
receipt.total;     // "0.003720 cr"
receipt.visibleTo; // ["buyer", "provider"]

Two sides, one ledger

For the agent, and for the capacity behind it.

For agent builders

Give every agent its own wallet and its own limit.

  • A wallet and a budget for each agent, not one key for all of them.
  • Calls fail closed when the budget is spent.
  • One receipt format across every provider.
  • An audit trail the person paying can read.
Request builder access

For capacity providers

Sell inference, GPU time or data as credits.

  • List capacity once and issue credits against it.
  • Get paid per call, at the moment of the call.
  • No invoice run, no collections, no arguments over counts.
  • You see receipts for your own capacity. Nothing else is exposed, to you or about you.
Talk to us about listing

Why on-ledger

Settlement, not invoicing.

Ambrin is built on the Canton Network, a public ledger where a contract is shared only with the parties to it. That is what lets a receipt be both private and provable.

01Private to its stakeholders
A receipt is a contract between the buyer and the provider. Canton sends a contract only to the parties to it. Other participants don't see the amount, the counterparties, or that the call happened.
02Verifiable by both sides
Buyer and provider hold the same signed record. Neither can edit it afterwards, and either can prove what it says.
03Atomic
The credit transfer and the receipt are created in one transaction. There is no state where a call was paid for but not recorded, or recorded but not paid for.
04Nothing to reconcile
Payment happens at the call. Month end becomes a report, not a negotiation.

FAQ

Questions, answered plainly.

Ambrin is early. Where something isn't decided yet, we say so.

What is a credit?

A token a provider issues against capacity it has listed: tokens of inference, seconds of GPU time, or queries against a data feed. An agent's wallet holds credits for the providers its owner has approved, and spends them per call.

Who can see a receipt?

The buyer and the provider. On Canton, a contract is distributed only to its stakeholders, so other participants on the network never receive it. A provider sees receipts for its own capacity and nothing about what you spend elsewhere.

What happens when an agent hits its budget?

The call is refused before it runs. The budget check is part of the same transaction that spends the credits, so there is no way to overspend first and settle up afterwards.

How is this different from usage-based billing?

Usage-based billing meters now and charges later, on the provider's count. Ambrin settles each call as it happens and gives both sides the same signed record of it.

Do I need to write Daml or run a Canton node?

Agent builders work through the SDK. How participant nodes are hosted is something we are working out with early-access teams, and we'll publish it when it is settled.

What does it cost?

Pricing isn't published yet. Providers set their own unit prices. Every number on this page is illustrative.

Is Ambrin live?

Not yet. Ambrin is pre-launch and onboarding a small group of agent builders and capacity providers first. Leave your email below and we'll get in touch.

Meter your first call.

Ambrin is onboarding early agent builders and capacity providers. Tell us which side you're on and where to reach you.

I am

Pre-launch. We'll only email you about access.