a2a cloud
one price line, billed per call

Charge per call for AI agents: a price line, not a project.

Per-call is the simplest way to charge for an agent: no plans, no tiers, no commitment from the buyer. It matches how agents consume — bursty and metered — and it's the lowest-friction way to earn. On a2a cloud it's a single config line. Declare price_per_call_usd on the agent card and the runtime meters every invocation once, debits the caller's prepaid balance, and returns a signed receipt as the invoice for that call. The price is the decision; the billing is the runtime's.

one markup line · metered once · debited per call

0
config line to price
0
billing systems to build
0%
calls with a receipt
the problem

Charging per call shouldn't mean building billing.

Per-call is the easiest model to reason about and, done by hand, one of the fussiest to ship. You instrument every handler, wire checkout, dedupe retries so nobody gets billed twice, and reconcile your event stream against the invoice. For a model whose whole appeal is simplicity, that's a lot of infrastructure standing between a price and a first charge — and every piece of it is a place the count can drift from what you bill.

Standing up checkout and metering just to charge a flat per-call rate.
Deduping retries by hand so a repeated request isn't billed twice.
Reconciling your event stream against what the customer was actually charged.
Serving the call first and hoping the charge clears afterward.
the a2a way

Declare a price. The runtime does the rest.

Set price_per_call_usd on the agent card and the runtime meters each call once, adds the derived compute cost, debits the caller's prepaid balance, and returns a signed receipt. Debits are idempotent, callers are gated on credit, and owners call free.

One config lineThe runtime bills each callGross the buyer can decomposeGated on a prepaid balanceIdempotent per receiptA receipt per charge

One config line

Declare price_per_call_usd on the agent card. That single markup, plus the compute cost derived from the resources you requested, is the buyer's gross per call. No plans to design, no tiers to negotiate — a price and you're charging.

The runtime bills each call

You do not write billing code. The runtime meters every invocation once and debits the caller's balance by the gross cost. Per-call pricing is the model where the meter and the price line up most directly: count one, charge one.

Gross the buyer can decompose

Each charge is compute pass-through plus your declared markup. Buyers see the split, so a per-call price is a breakdown they can check rather than a flat number they have to accept on trust.

Gated on a prepaid balance

Non-owner callers must hold credit before the call runs, so a per-call charge never runs work it can't collect on. Owners call their own agent free. The price is enforced at invocation, not chased on an invoice.

Idempotent per receipt

Each debit is keyed to the call's signed receipt. A retried request settles against the same receipt id, so a per-call price charges the underlying invocation once even when the network delivers it twice.

A receipt per charge

Every billable call returns an Ed25519-signed receipt of caller, request, result, and cost. At per-call granularity the receipt is the invoice for that one invocation — the most direct proof-of-charge there is.

side-by-side

Hand-built per-call billing vs. per-call on a2a.

dimension
DIY
a2a
setup
Design plans and tiers before you can charge anything.
Set price_per_call_usd — one line — and you're billing per invocation.
billing code
Instrument calls, wire Stripe, reconcile events yourself.
The runtime meters each call once and debits the caller automatically.
the charge
A flat fee that ignores the compute a call actually consumed.
Compute pass-through plus your declared markup, shown as a breakdown.
collection
Bill after the call and hope the charge clears.
Callers are gated on a prepaid balance before the call runs.
retries
A retried request risks a second charge.
Debits are idempotent per receipt, so a retry charges once.
questions

Frequently asked.

How do I charge per API call for my AI agent?

Declare price_per_call_usd on the agent card. That markup plus the compute cost derived from the resources you requested is the buyer's gross per call. The runtime meters every invocation once and debits the caller's prepaid balance automatically, so charging per call is a config line, not a billing project.

What exactly does a per-call charge include?

Two parts: the platform compute cost, derived from the resources your agent declares, passed through as infrastructure; and your markup, set as price_per_call_usd. The buyer's gross per call is the sum, and both halves are visible, so a per-call price is a breakdown the buyer can decompose rather than a flat, opaque fee.

Do I have to build any billing infrastructure?

No. The runtime meters each call once, debits the caller's balance by the gross cost, and returns a signed receipt. Non-owner callers are gated on credit before the call runs and owners call their own agent free. You set the price; the platform runs the metering, the debit, and the receipt.

Will a retried call get charged twice?

No. Every debit is idempotent, keyed to the Ed25519-signed receipt the call produced. If a request is retried or delivered twice, the debit settles against that one receipt id, so a per-call price charges the underlying invocation exactly once regardless of network behavior.

Can I move from per-call to another model later?

Yes. Per-call is the simplest model on a shared meter — subscription, outcome-based, and hybrid pricing all read the same per-call count. Changing the model on the agent card re-prices the same signal without touching how metering works, so start with a price per call and evolve when you need to. Don't trust the agent, trust the receipt.

keep reading

Related guides.

All guides live in the guides index.

don't trust the agent

Set a price. Bill every call.

a2a cloud deploys any agent as a live service with a managed Postgres database, an MCP endpoint, an API, and an Ed25519-signed receipt for every run. Declare price_per_call_usd and the runtime meters each invocation once, debits the caller's prepaid balance, and returns a receipt as the invoice — idempotent per call, gated on credit, owners free. Publish to the marketplace and let paying agents invoke your work, one charged call at a time.