Skip to content
TriedDocs
Account and security

Billing and pricing

Prepaid credit, the per-minute price of each call component, per-second billing, extra usage lines, auto-recharge, monthly budgets, invoices, payment methods and account states.

Tried is prepaid and pay as you go. You buy credit, and each call, chat and metered feature draws it down. There is no subscription plan. Billing is per workspace and is managed by admins on the Billing page.

The Billing page: credit balance, usage, payment method, auto-recharge, budget and concurrency

How a call is priced#

All prices are in Australian dollars (AUD), excluding GST. GST is added on invoices.

A voice call is the sum of per-minute components. The price of each component depends on the agent's configuration, and the agent builder shows the total as Cost in the header before you deploy (see Estimated latency and cost).

There is no telephony charge. You bring your own numbers over SIP or your own Twilio account, and your carrier bills the phone line as it does today. Web calls cost the same as phone calls.

Component Price per minute Cost line (product) Applies to
Voice infrastructure $0.08 voice_infra Every call. Includes speech recognition, turn-taking, media, recording and analysis
LLM by model, below the model name, for example gpt-5.6-terra Every call with an LLM engine
Voice by tier, below voice_premium or voice_standard Every call
Knowledge base $0.01 knowledge_base Agents with at least one knowledge base
Recording retention $0.001 per extra 30 days recording_retention_<days>d Workspaces that keep recordings longer than the included 30 days. See Recording retention

The lowest all-in rate is $0.16 per minute: GPT-4.1 mini ($0.02) with a Standard voice ($0.06) plus voice infrastructure ($0.08). The default agent, GPT-5.6 Terra with a Premium voice, is $0.30 per minute.

LLM prices#

Model $/min
gpt-5.6-terra (default) 0.10
gpt-5.6-luna 0.01
gpt-5.5 0.24
gpt-5.4-mini 0.036
gpt-4.1 0.07
gpt-4.1-mini 0.02
claude-opus-5-5 0.18
claude-sonnet-5-5 0.09
claude-haiku-5-5 0.006
claude-sonnet-4-6 0.12
claude-haiku-4-5 0.045
gemini-3.5-flash 0.018
gemini-3-flash-preview 0.015
gemini-2.5-flash 0.009

Voice prices#

Voice tier voice_model $/min
Premium (default) eleven_v4_turbo 0.12
Standard eleven_flash_v2_5 0.06

Agents moved from Retell with another voice_model are billed at that model's rate, on a voice_<voice_model> line. See Voice.

Example#

An agent on gpt-5.6-terra with a Premium voice and a knowledge base:

Line $/min
Voice infra 0.08
LLM (gpt-5.6-terra) 0.10
Voice (Premium) 0.12
Knowledge base 0.01
Total 0.31

A 2 minute 10 second call costs 130 / 60 x 0.31 = $0.672. On the Standard tier the same call costs $0.542.

Per-second billing#

Duration is rounded up to the next whole second, and each line costs unit_price x seconds / 60. There is no minimum and no per-minute rounding. The result is stored on the call as call_cost:

{
  "call_cost": {
    "product_costs": [
      { "product": "voice_infra", "unit_price": 0.08, "cost": 0.173333 },
      { "product": "gpt-5.6-terra", "unit_price": 0.1, "cost": 0.216667 },
      { "product": "voice_premium", "unit_price": 0.12, "cost": 0.26 },
      { "product": "knowledge_base", "unit_price": 0.01, "cost": 0.021667 }
    ],
    "total_duration_seconds": 130,
    "combined_cost": 0.671667
  }
}

See The call object for the other call fields.

Additional usage lines#

These lines are added to call_cost after the call when they apply:

Line (product) Price When
s2s_gpt-realtime $0.45/min Speech-to-speech engine. Replaces the LLM and TTS lines (their cost becomes 0)
s2s_gpt-realtime-mini $0.15/min As above
llm_node_<node_id>_<model> that model's $/min Conversation flow nodes with their own model, billed for the time spent in the node. The agent's LLM line covers the remaining time
llm_prompt_length LLM cost x (tokens / 4,000 minus 1) Prompts over 4,000 tokens scale the LLM cost linearly
llm_priority 0.5 x the LLM cost model_high_priority or model_ultrafast (x1.5 on the LLM line)
guardrail $0.01/min Guardrail input or output topics are configured
batch_dial $0.01 per dial Each dial attempt from a batch call
concurrency_burst $0.15/min Calls admitted above your concurrency limit with burst on

Transfers add no charge: the transferred leg runs on your own trunk, so your carrier bills it.

Other usage#

Usage Price
Chats $0.003 per message, on the chat's chat_cost
Contact memory $0.01 per conversation saved to memory
AI Quality Assurance First 100 analysed minutes each calendar month (UTC) free, then $0.15/min
Conductor Free daily credits, then $0.30 per credit with pay-as-you-go on, up to your monthly limit
Purchased concurrency $12 per slot per month above the included limit (20 by default)

GET /billing/platform-usage breaks down contact memory, QA minutes and Conductor credits for the current month.

The Usage tab: cost per day and cost by product

Credit balance#

The Credit balance card shows the balance, how much has been added and used, and the status Active or Out of credit. Every new workspace gets a $15 Free trial credit grant the first time billing is read.

The balance is credits added minus the cost of calls. Platform usage (contact memory, QA, Conductor) and purchased concurrency are recorded as negative entries in the credit ledger.

Buy credits#

Admins click Buy credits and pick $20, $50, $100, $500 or a custom amount between $5 and $10,000.

  • The dialog calls POST /billing/add-credits, which charges the saved card. With STRIPE_SECRET_KEY set on the API Needs keys, the charge goes through Stripe.
  • Without it, no card is charged and the credit is added immediately with a mock payment reference.
  • POST /billing/checkout is the hosted alternative: with Stripe it returns a Stripe Checkout URL. The credit is added when Stripe reports the payment to POST /webhooks/stripe (see below).

Stripe webhook#

Credit bought through Stripe Checkout (/billing/checkout or /billing/checkout-session in payment mode) is added when Stripe calls the API. In the Stripe dashboard, add a webhook endpoint at https://<your API host>/webhooks/stripe for checkout.session.completed and checkout.session.async_payment_succeeded, then set its signing secret as STRIPE_WEBHOOK_SECRET on the API Needs keys.

Requests without a valid stripe-signature (or older than five minutes) get 401. Each paid session adds its amount as a purchase credit and a paid invoice once, however many times Stripe retries it.

Every purchase creates an invoice.

What happens at zero#

When the balance is zero or below, new phone calls, web calls, registered calls, batch calls and chats are refused with 402 and error_code: "credit_exhausted". Calls already in progress continue. Outbound calls also check the balance before dialling (Insufficient credit balance. Add credits to place calls.).

Auto-recharge#

Auto-recharge buys credit automatically when the balance falls below a threshold. It needs a saved card.

Field API field Default rules
When balance is below ($) auto_recharge_below 0 to 10,000
Add ($) auto_recharge_amount 5 to 10,000

The check runs every minute and right after you change the settings. A failed charge is not retried until the next check; the attempt is reported as auto_recharge_failed by POST /billing/check. Each successful recharge gets an invoice of kind auto_recharge.

Monthly budget#

Set Budget per calendar month ($) to cap spend. Month usage counts call costs, chat costs and platform usage since the first of the month (UTC).

  • At 80%, Tried sends a budget_alert webhook to the workspace webhook URL.
  • At 100%, it sends budget_reached, and new calls and chats return 402 with error_code: "budget_reached" until you raise the budget or the month ends.

Each alert is sent once per month. The card shows the percentage used, or Reached: new calls blocked.

{
  "event": "budget_alert",
  "billing": { "month": "2026-10", "monthly_budget": 500, "month_usage": 401.25, "percent": 80.3, "threshold": 80 }
}

Payment methods#

The Payment method card shows the saved card (brand, last four digits, expiry).

  • With Stripe Needs keys: Add card opens Stripe Elements against a SetupIntent. Card details go straight to Stripe. We keep only the brand, last four digits and expiry. Tried creates one Stripe customer per workspace. Customer portal opens Stripe's billing portal, where you can manage cards and see Stripe receipts.
  • Without Stripe: the card form is a test form. Test mode: Stripe isn't configured, so the card is not checked or charged.
Adding a card
API (admin for writes) Purpose
GET /billing/payment-methods Saved cards
POST /billing/payment-methods/setup-intent SetupIntent client_secret and publishable key for Elements
POST /billing/payment-methods/default Make a card the default
DELETE /billing/payment-methods/:id Remove a card
POST /billing/checkout-session Stripe Checkout in setup or payment mode
POST /billing/portal Customer portal URL

Invoices#

Every credit purchase and auto-recharge creates an invoice numbered TR-<yyyymm>-<digits>, listed in the invoices table with Number, Date, Type, Status and Amount. View opens a printable HTML invoice (GET /billing/invoices/:id/html) with a Print or save as PDF button.

The invoices table: number, date, type, status, amount and a View link

POST /billing/invoices/usage with { "month": "2026-09" } creates a usage statement for a past month: a record of usage that was drawn from prepaid credit, marked paid.

Account states#

State Label When Blocks
active Active Default Nothing
invoice_past_due Invoice Past Due An invoice is unpaid for 1 day or more Nothing; a warning banner
invoice_overdue Invoice Overdue An invoice is unpaid for 14 days or more New calls, batch calls and chats (402, error_code: "invoice_overdue")
verification_needed Verification Needed Set by operations Outbound phone calls and batch calls (402, error_code: "verification_needed")

States are derived from unpaid invoices unless the operations team pins one. GET /account-status returns the state, label, reason and what it blocks. When a state is not active, a banner across the dashboard explains it with Open billing or Verify business. See Business verification.

Billing API summary#

Method and path Purpose
GET /billing Balance, totals and credit transactions
GET /billing/usage Daily cost, minutes and cost by product (default last 30 days, tz default Australia/Sydney)
GET /billing/settings, PATCH /billing/settings Auto-recharge and budget
POST /billing/add-credits Buy credits with the saved card (admin)
GET /billing/invoices Up to 200 most recent invoices
GET /concurrency-billing Included and purchased concurrency, monthly charges