Billing
Pricing scales with usage. Chat completions are billed per token; specialized tool calls (document analysis, compliance checks, and future tools) are billed per-call based on complexity, reflecting the retrieval, citation grounding, and jurisdiction logic layered on top of the base model.
Free
Free trial credits
20 req/min
✓ Try every /v1 endpoint
✓ No credit card required
✓ Great for prototyping
Pay-as-you-go
$8 / $32 per MTok (chat)
100 req/min
✓ Chat completions: $8/MTok in, $32/MTok out
✓ Document analysis: $0.15–$1.50/call by complexity
✓ 10% off past $500/mo, 20% off past $2,000/mo
Enterprise
Custom
2,000+ req/min
✓ Dedicated capacity + SLA
✓ Custom rate limits
✓ Invoiced monthly, dedicated support
How usage is metered today
Every call is logged (endpoint, status, credits, duration) against your account. The wallet endpoints below are live today — you can already query your balance and budget programmatically. A dedicated “Usage & Billing” panel surfacing the same data directly in the Developer Console is on the roadmap.
Prepaid wallet
Each signed-in developer has a prepaid USD wallet. Every metered call deducts real cost-equivalent balance; calls are blocked with 402 Payment Required once your balance reaches zero. You can set a monthly budget cap to get alerted at 80% and 100% of spend, and top up manually or via Razorpay.
/api/v2/developer/walletGet your current balance, monthly spend, and budget status.
Response body
{
"user_id": "usr_123",
"balance_usd": 42.5,
"currency": "USD",
"monthly_budget_usd": 100,
"alert_80_sent_at": null,
"alert_100_sent_at": null,
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-02-10T12:00:00Z",
"monthly_spend_usd": 12.3,
"budget_pct_used": 12.3,
"budget_alert_80": false,
"budget_alert_100": false
}/api/v2/developer/wallet/topupTop up your balance — manual (test/admin) or via Razorpay.
Request body
{
"amount_usd": 50,
"method": "razorpay"
}Response body
{
"status": "pending_payment",
"order_id": "order_Hj8x...",
"amount": 5000,
"currency": "INR",
"amount_usd": 50,
"razorpay_key": "rzp_live_..."
}/api/v2/developer/wallet/topup/verifyVerify a Razorpay payment and credit the wallet. Idempotent on order_id.
Request body
{
"order_id": "order_Hj8x...",
"razorpay_payment_id": "pay_Hj9y...",
"razorpay_signature": "3f2504e0...",
"amount_usd": 50
}Response body
{
"user_id": "usr_123",
"balance_usd": 42.5,
"currency": "USD",
"monthly_budget_usd": 100,
"alert_80_sent_at": null,
"alert_100_sent_at": null,
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-02-10T12:00:00Z",
"monthly_spend_usd": 12.3,
"budget_pct_used": 12.3,
"budget_alert_80": false,
"budget_alert_100": false
}/api/v2/developer/wallet/budgetSet (or clear, with null) your monthly usage budget cap for 80%/100% alerts.
Request body
{
"monthly_budget_usd": 100
}Response body
{
"user_id": "usr_123",
"balance_usd": 42.5,
"currency": "USD",
"monthly_budget_usd": 100,
"alert_80_sent_at": null,
"alert_100_sent_at": null,
"created_at": "2026-01-01T00:00:00Z",
"updated_at": "2026-02-10T12:00:00Z",
"monthly_spend_usd": 12.3,
"budget_pct_used": 12.3,
"budget_alert_80": false,
"budget_alert_100": false
}Insufficient balance (402)
When a metered call would take your balance below zero, the API returns 402 Payment Requiredwith the amount you're short by:
402 Payment Required
{
"error": {
"type": "insufficient_balance",
"message": "Wallet balance is insufficient to complete this request.",
"balance_usd": 0,
"required_usd": 0.15
}
}Enterprise invoicing
Enterprise-tier keys are auto-postpaid — they never receive a 402; usage is recorded to your ledger as an invoice_pending event and billed on your monthly invoice instead of deducting from a prepaid wallet.