a2a cloud
one price line, billed per call

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

Per-call is the seller pricing model a2a supports natively today. Declare price_per_call_usd on the agent card. The authenticated Agent API checks known buyer credit before execution; after success, the control plane signs and persists run evidence, stores compute, markup, fee, payout, and charge beside the receipt ID, and applies any matching debit idempotently.

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. The authenticated Agent API checks known credit before execution; after success, the control plane adds derived compute to seller markup, stores the split, and applies an idempotent debit by receipt ID. Owners are not debited for their own agents.

One config lineThe Agent API bills successful paid callsGross the buyer can decomposeTwo debit paths are explicitIdempotent per receiptReceipt and charge linked, not conflated

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 Agent API bills successful paid calls

You do not write the native per-call ledger. For an authenticated non-owner Agent API call with a positive price, the control plane checks known credit before execution and records economics plus an idempotent debit after success.

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.

Two debit paths are explicit

Authenticated Agent API paid calls check known buyer credit before execution, then debit after a successful signed run. The separate self-reported receipt path is post-hoc and can leave a negative collections balance, so it should not be used as the entitlement gate. Owners are not debited for their own agents.

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.

Receipt and charge linked, not conflated

The Ed25519 signature covers caller, skill, input evidence, the grants that authorized it, outcome or result preview, and timing. Optional activity fields are not populated by default; price and fee fields live in the linked ledger row.

side-by-side

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

setup

DIY

Design plans and tiers before you can charge anything.

a2a

Set price_per_call_usd — one line — and you're billing per invocation.

billing code

DIY

Instrument calls, wire Stripe, reconcile events yourself.

a2a

The Agent API checks known credit and debits each successful non-owner paid call once by receipt ID.

the charge

DIY

A flat fee that ignores the compute a call actually consumed.

a2a

Compute pass-through plus your declared markup, shown as a breakdown.

collection

DIY

Conflate authenticated Agent API billing with self-reported receipt ingestion.

a2a

Document Agent API preflight, post-success debit, and the post-hoc ingestion path separately.

retries

DIY

A retried request risks a second charge.

a2a

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. Seller markup plus compute derived from declared resources determines gross price. The authenticated Agent API checks a non-owner buyer's known credit before execution, then records the successful split and applies an idempotent debit keyed by receipt ID.

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?

For native per-call pricing, set price_per_call_usd. Authenticated Agent API paid calls check known credit before execution, then persist signed evidence, economics, and a matching idempotent debit after success. The separate self-reported receipt-ingestion path is post-hoc and may create a negative collections balance. Owners are not debited for their own agents.

Will a retried call get charged twice?

A debit is idempotent for one receipt_id, and duplicate receipt IDs are rejected. That prevents re-ingesting the same receipt from charging twice. A client that creates a genuinely new invocation and new receipt ID is a separate billable run, even if its business request looks like a retry.

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

Per-call is the only native seller pricing model today. You can use exported per-call usage and ledger data as an input to an external subscription, entitlement, outcome-verification, or hybrid billing system, but those models are not configurable on the agent card today.

keep reading

Related guides.

All guides live in the guides index.

don't trust the agent

Set a price. Bill successful Agent API calls.

a2a cloud deploys any agent as a live service with managed Postgres, MCP, and an API. Authenticated Agent API paid calls check known credit before execution, then persist signed evidence plus separate charge and payout rows after success. Public `/invoke` and standard MCP gateway receipts are evidence-only and record zero platform economics.