Skip to main content
Prepaid credit, spent per second. You cannot be billed for more than you have added.

Micro-USD

Amounts are integer micro-USD: 1,000,000 = $1.00.
Voice usage is billed per second, per token and per character. A charge of $0.000021 has no float-dollar representation that agrees with the ledger, which is why the API does not pretend otherwise.
Responses carry a formatted *_display string alongside the integer, so nothing has to do currency arithmetic in JavaScript.

The lifecycle of a charge

1

Reserved at admission

Credit is held before the call is placed. An underfunded account is refused with 402 before a port is opened or a provider socket is created.
2

Debited as it runs

Usage accrues every few seconds against what the call actually consumes — speech recognised, tokens generated, characters synthesised.
3

Settled at hangup

The reservation is released and the duration-based lines are priced off the answered time.

Prices are frozen per call

A call is priced when it is admitted and finishes on those rates. A price change can never move a meter mid-conversation.

Running low

At roughly a minute of remaining runway the agent speaks a warning to your caller. At zero it speaks a closing line and then hangs up — it does not drop the line mid-sentence.

When we fail

If our own process crashes mid-call, you are charged for the seconds we can prove, not the amount that was reserved. A crash costs us revenue rather than charging you for time we cannot substantiate.

Tracing a charge

Every micro debited against a call is explained by a usage row. The sum of a call’s events always equals what was taken from your balance.