Adding credit
Dashboard → Billing → Add credit. Pick an amount, pay, and the balance moves when the payment settles, usually within seconds.Returning from checkout is not the same as the credit landing. Payment is
confirmed by the provider calling us back, not by your browser coming home, so
the dashboard waits for that rather than claiming success early.
billing:write:
checkout_url. Send the customer there; the balance
moves on settlement. Whole dollars, minimum 10,000 per top-up:
the floor stops dust payments costing more in fees than they add, the ceiling is
a fat-finger guard rather than a limit on what you may spend, and the whole-dollar
rule is because the payment provider carries the amount as a quantity, so a
fractional value could not be charged exactly as written.
The console offers 25, 100 as one-click amounts and a field for
anything else from $10 up.
Idempotency-Key is required here. See Idempotency.
Discount codes
A code reduces what you pay, not what you get. Redeem 50% off on a 5 and credited the full $10; the balance does not know a promotion happened. That is the only sensible reading of a discount on prepaid credit: the alternative, crediting what was charged, would make “50% off 5, which is not an offer.A code covering the whole price still works: the payment settles at zero and the
credit lands in full. Codes are issued by us with their own limits and expiry;
there is no way to apply one that was not issued.
What a call costs
Roughly 0.15 per minute, depending on the engine; see Voice engines for the per-engine table. That covers speech recognition, the model, speech synthesis, and a flat $0.012 per connected minute of orchestration. It does not include telephony. For phone calls you bring your own SIP trunk, so your carrier bills you directly and we do not mark it up. A realtime session from a web page or app has no telephony at all and costs the same per minute.Other charges
Making a cloned voice costs $1.00, once, when it is made. It is taken from the same balance and shows in usage events as avoice_clone
line. Speech in a cloned voice costs the same as the provider’s other voices.
Reading the balance
held_micros is credit reserved by calls in progress. available_micros is
what a new call can draw on.
Micro-USD
Amounts are integer micro-USD: 1,000,000 = 0.000021 has no float-dollar representation that agrees with the ledger. Responses carry a*_display string alongside the integer so nothing has to do currency
arithmetic in JavaScript.
Running out
Credit is reserved before a call is placed. An account that cannot fund the first 15 seconds is refused with402 insufficient_credits at admission,
before a port is opened or a provider socket is created. You are not charged for
a call that never happened.
Mid-call, at roughly a minute of remaining runway, the agent speaks a warning to
your caller. At zero it speaks a closing line and hangs up. It does not drop the
line mid-sentence.
Free test minutes
Each account gets 5 free minutes to talk to its own agents from the console, in the browser. They are counted per second of conversation, one test at a time, and nothing is charged for them. When they run out, console tests use credit like any session. They cover console tests only. Phone calls, and sessions your own app creates with an API key, always use credit.Tracing a charge
Every micro debited is explained by a usage row, so a bill is answerable without asking support:
Prices are frozen per call: a call is priced when it is admitted and finishes on
those rates, so a price change can never move a meter mid-conversation.
If our own process crashes mid-call you are charged for the seconds we can
prove, not the amount that was reserved.

