setup
Design plans and tiers before you can charge anything.
Set price_per_call_usd — one line — and you're billing per invocation.
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
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.
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.
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.
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.
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.
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.
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.
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.
Design plans and tiers before you can charge anything.
Set price_per_call_usd — one line — and you're billing per invocation.
Instrument calls, wire Stripe, reconcile events yourself.
The Agent API checks known credit and debits each successful non-owner paid call once by receipt ID.
A flat fee that ignores the compute a call actually consumed.
Compute pass-through plus your declared markup, shown as a breakdown.
Conflate authenticated Agent API billing with self-reported receipt ingestion.
Document Agent API preflight, post-success debit, and the post-hoc ingestion path separately.
A retried request risks a second charge.
Debits are idempotent per receipt, so a retry charges once.
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.
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.
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.
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.
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.
All guides live in the guides index.
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.