Wallet, DID Leases & Razorpay Billing
Understand prepaid shared fleet wallets, pre-call reserve math, whole-minute ceiling billing, Razorpay auto-recharge mandates, GST invoices, and DID 30-day lease cycles.
Wallet, DID Leases & Razorpay Billing
Every Talkar client operates on a prepaid shared fleet wallet. Understanding how pre-call admission checks, margin floors, ceiling billing, sub-org caps, and auto-recharge behave will help you prevent surprise call blocks when handing over client agents.
1. Shared Master Wallet & Call Thresholds
When an enterprise creates Sub-Organizations, all sub-orgs bill against the Master Organization's single wallet while tracking usage, monthly spending caps, and GST invoices cleanly per sub-org.
| Threshold / Rule | Value | Impact on Agents & Calls |
|---|---|---|
| Minimum Balance Floor (Call Block) | ₹500 | Once balance hits <= ₹500, new live calls are blocked across the fleet, Service Paused alerts fire, and auto-recharge is attempted if enabled. |
| Default Low-Balance Alert | ₹1,500 (configurable ₹500–₹50,000) | Post-call checks warn below ₹1,500; hourly cron uses client's custom threshold (both have a 24h cooldown). |
| Deposit & Reactivation Thresholds | >= activation_deposit (for pending_deposit); > ₹500 (from zero_balance suspension) | Standalone accounts in pending_deposit activate once wallet reaches >= activation_deposit; zero_balance-suspended accounts and sub-orgs require balance strictly > ₹500 (sub-org minimum manual top-up is ₹500). |
| Playground vs. Non-Voice Modes | ₹0 while agent_building | WebRTC is free (₹0, max 2 concurrent) only during agent_building—once active, WebRTC reserves balance and bills per minute. textchat and mock bypass pre-call reservation (mock always bills ₹0). |
Voice Margin & Rate Floors (Two-Step Rule)
Before pre-call reserve checks and post-call deductions execute, Talkar calculates each agent's effective per-minute rate in two steps:
- ElevenLabs / Cartesia Tier Promotion: Unless an admin has set an explicit custom per-agent rate override, selecting ElevenLabs or Cartesia TTS raises the agent's effective base rate to at least the
protier rate (₹18/min). - Hard TTS Provider Floors (Applies to All Overrides): Even with custom org or per-agent overrides, effective rates always clamp upward to minimum TTS floors:
- ElevenLabs / Cartesia:
₹12/min - SmallestAI:
₹5/min - Deepgram & Other Providers:
₹4/min
- ElevenLabs / Cartesia:
2. Pre-Call Reserve Check vs. Post-Call Billing
Before the Call Starts (Exact Reserve Formula & Rejection Codes)
Before admitting a live telephony call (or an active-org WebRTC session), Talkar computes:
max_call_cost = ceil(max_duration_secs / 60) * ratetotal_required_reserve = concurrent_calls * max_call_cost
If any admission gate fails, Talkar blocks the call immediately with an explicit rejection code:
| Rejection Code | Cause |
|---|---|
insufficient_balance | Wallet is at or below ₹500, or account/provisioning state is not active. |
insufficient_reserve | Shared wallet lacks enough headroom (total_required_reserve) for concurrent worst-case call duration. |
spending_cap_exceeded | Sub-organization reached its monthly_spending_cap_paise for the current calendar month. |
concurrency_limit_exceeded / sub_org_concurrency_limit_exceeded | Master fleet or sub-org concurrent call cap is full. |
unprovisioned_pipeline | Organization agent runtime/tier is not provisioned cleanly. |
After the Call Ends (Whole-Minute Ceiling Billing)
- Rounding Rule: Every connected call rounds duration up to whole minutes (
ceil(duration_seconds / 60)). Even a 12-second call is billed as 1 minute at the agent's effective per-minute rate. - Zero-Cost Exceptions: Zero-duration (
<= 0s) calls, Mock Simulator calls, Text Chat sessions, andagent_buildingWebRTC runs record at₹0. - Idempotency & Nightly Safety Net: Each call run is billed once at most. Failed billing deliveries go through exponential retry + a Dead Letter Queue + daily
02:00 AM ISTreconciliation sweep.
3. Razorpay Top-Ups, Upgrades & Auto-Recharge Mandates
Talkar uses Razorpay (INR) for setup deposits, manual top-ups, tier upgrades, and recurring card mandates.
Top-Up & Tier Upgrade Protections
- Authoritative Gateway Verification: Every top-up and upgrade order verifies payment status and HMAC signatures directly against Razorpay before crediting wallets.
- Tier Upgrade Shortfalls: Upgrading tiers from
pending_depositor switching into a higher-deposit tier creates a payment order for exactshortfall_paise(the delta required to meet the new tier deposit). - Compliance Guard: Top-ups are blocked if an organization is suspended for
policy_violationorfraud. Sub-org manual top-ups enforce a minimum of₹500.
Master-Only Auto-Recharge & 120s Fail-Closed Lock
- Master-Owner Control Only: Only the Master Organization owner can save/delete recurring card mandates (
token_xxx, verified via refundable₹2mandate check) or modify auto-recharge settings. Sub-orgs cannot manage fleet auto-recharge cards. - Trigger Thresholds &
120sLock: Trigger threshold minimum₹100, recharge amount minimum₹500. Effective auto-recharge trigger dynamically evaluatesmax(configured_threshold, concurrency_limit * 15 * rate), and execution acquires a120sfail-closed distributed lock so simultaneous calls never trigger duplicate charges. - 3-Failure Circuit Breaker: Failure 1 enters
30 mincooldown -> Failure 2 enters2 hrcooldown -> Failure 3 setsauto_recharge_enabled = false(24 hrcooldown) and notifies clients + admins. - Automatic Reactivation Cascade: Lifting wallet balance
> ₹500(or>= activation_depositforpending_deposit) automatically reactivates pending orzero_balance-suspended master/sub-orgs, whilepolicy_violationandfraudsuspensions remain strictly locked.
4. Dedicated Phone Number (DID) Leases & Maintenance Sweeps
- Fleet Free Quota (
free_phone_numbers): Active DIDs across the Master Org and all Sub-Orgs are ordered chronologically from oldest to newest. The firstfree_phone_numberscost₹0/month; every additional DID bills₹500/month(or custom lease price) on assignment and every 30 days thereafter. - Daily Renewal & Fleet Maintenance (
09:00 AM IST): The daily billing sweep covers bothactiveandsuspendedcustomers, billing due 30-day DID renewals (generatingINV-YYYY-XXXXXXinvoices), dispatching due low-balance/lifecycle alerts, triggering auto-recharge retries, and syncing suspension policy rules (14+days<= ₹0-> suspend;45+days suspended ->churnedand release DIDs).
5. GST Invoices & Financial Isolation
- Automatic Invoice Generation (
INV-YYYY-XXXXXX): Created on every Razorpay wallet top-up and every billable DID assignment or renewal, capturing exact GSTIN / Tax ID and billing address snapshots. - Sub-Org Visibility: Sub-orgs see only their own invoices and ledger entries, while Master Organization owners view the unified fleet ledger filterable by sub-org.
Notifications, Emails & In-App Announcements
Understand what alerts clients receive across onboarding, low balance, billing, and suspensions, how sub-org bell inheritance works, and how scheduled digests and announcements operate.
Audio & Turn Problems
Fast diagnosis and exact fixes for callers getting cut off, background noise interrupting the bot, missed short replies, awkward silences, and voice pronunciation glitches.