Pricing and billing
Kleos bills you wholesale, per minute, from a prepaid balance. You bill your customers whatever you like — we never see your prices and never contact your customers.
How it works
You load a balance. Every call your customers make draws from it at the rate below. What you charge on top is entirely yours: Kleos has no view of your pricing, sends your customers no invoices, and appears nowhere in your billing relationship with them.
All amounts in the API are whole US cents, as integers. There are no fractional cents anywhere in the system — a float dollar amount in an API is a rounding argument waiting to happen at reconciliation time.
The call rate
| Call minutes this month | Per minute |
|---|---|
| From the first minute | $0.20 |
| From 5,000 | $0.18 |
| From 25,000 | $0.16 |
| From 100,000 | $0.15 |
Tiers apply from the minute you cross them. Earlier minutes are not re-priced, and the counter resets with the calendar month (UTC). Calls are billed in whole minutes, rounded up — a forty-second call is one minute.
Your current rate is on GET /v1/balance, not just in this table. Read it from there rather than hard-coding it: a figure baked into your own billing is wrong from the moment your volume crosses a tier.
Everything else
| What | Price |
|---|---|
| Phone number | $15.00 / month, per number |
| Verified caller ID (your customer's own number) | $12.00 / month |
| Chat message | $0.02 |
| Researched prospect | $0.04 |
Topping up
| Top up | Bonus credit |
|---|---|
| $25.00 or more | — |
| $500.00 or more | +3% |
| $2500.00 or more | +5% |
| $10000.00 or more | +8% |
Minimum top-up is $25.00. Bonus credit is spent before your cash, expires twelve months after it is granted, and is not refundable — it is a discount on volume, not a deposit.
The monthly minimum
Each live customer has a minimum monthly spend of $10.00. It is a minimum, not a fee: a customer who spends more than that in a month is never charged twice, and a customer who spends less is topped up to the minimum once, after the month closes. A customer's first month never counts — a customer you onboard on the 28th does not owe a full month for three days.
Test-mode customers are never counted. Neither are customers you created and never took live.
Money held during a call
When a call starts, Kleos holds enough of your balance to cover its maximum length. When it ends, the hold is released and you are charged for the minutes actually used — never for the reservation. Held money appears as reserved_cents on GET /v1/balance and is already excluded from available_cents.
If a call never reports back, its hold is released automatically within thirty minutes. Money cannot get stranded because a process died.
Running out
When the balance reaches zero, new calls do not start. Calls already in progress are never cut off — hanging up on a real human mid-sentence to save eleven cents is not a trade Kleos makes. We email your account contact at 25%, at 10%, and at zero, and the same stage is on GET /v1/balance as low_balance so you can surface it in your own product.
Test mode costs nothing
Test calls are priced into your ledger and never charged: the line appears with applied: false and the balance does not move. That is deliberate — you can model your entire margin against realistic numbers before a single real phone rings.
GET /v1/usage carrying the customer_id it belongs to. That is the endpoint to rebill from; you should never have to reconstruct attribution from call records.