Prepaid credits, often managed in a user “wallet,” are a billing model where customers purchase a specific volume of service upfront. Instead of receiving a variable bill at the end of the month based on their usage, they draw down from their prepaid balance as they consume resources like API calls, data storage, or processing time.
This approach combines the flexibility of pay-as-you-go with the predictability of a fixed subscription. It empowers users to control their spending, experiment with new features, and avoid the anxiety of a surprise invoice, making it an increasingly popular choice for usage-based SaaS products.
A prepaid credit system is a straightforward workflow that makes billing feel transparent and manageable for the end-user. The process involves a few key components that work together to create a seamless experience.
These components are the initial purchase, consumption tracking, and replenishment through top-ups and auto-recharges, all supported by proactive alerts.
- Initial purchase: The journey begins when a customer buys a “bundle” or “pack” of credits. For example, they might buy 10,000 credits for $100. This transaction loads their digital wallet with a balance that’s ready to be used.
- Real-time consumption: As the customer uses your product, their actions debit credits from their wallet. An API call might cost 1 credit, storing 1GB of data might cost 100 credits, and running a report might cost 50. This consumption is tracked in real time, so the user’s remaining balance is always visible.
- Top-ups and auto-recharge: When the balance runs low, users can manually purchase another bundle (a “top-up”). A more effective method is auto-recharge, where the system automatically purchases a new bundle when the user’s balance drops below a predefined threshold, ensuring uninterrupted service.
- Spend alerts: To maintain transparency, automated notifications are sent at key balance thresholds. For example, an email might be triggered when 50%, 25%, and 10% of the credits remain, giving the user ample warning to recharge or adjust their usage.
Prepaid credits are most effective for products where value is directly tied to consumption. This model helps align the price a customer pays with the value they receive, making it a natural fit for several types of services.
- API-first products: Companies like Twilio (for SMS/voice) or OpenAI (for AI models) charge per API call or token. A prepaid wallet allows developers to set a budget and experiment without risking a massive bill.
- Infrastructure and PaaS: Services that provide computing resources, such as server time, bandwidth, or database queries, can use credits to bill for consumption in a predictable way.
- AI and Machine Learning platforms: The cost of running AI models can be highly variable. Credits allow users to pay for processing time, data analysis, or model training in manageable, budgeted chunks.
- Freemium to paid conversion: Granting a small number of free credits to new users is a powerful onboarding tool. It lets them explore premium features and understand their value before committing to a purchase, creating a frictionless path to becoming a paying customer.
While powerful, implementing a credit system requires thoughtful planning around a few key areas: how to guide customer purchases, what to do with unused credits, and how to account for the revenue.
How do you help customers choose the right credit bundle? Without guidance, they may buy too little and face service interruptions or buy too much and feel locked in.
Provide clear heuristics based on user personas or typical usage patterns. For example:
- “Starter Pack (5,000 credits):” Ideal for developers and small teams building a prototype, supporting roughly 2,500 file conversions.
- “Growth Pack (50,000 credits):” Best for small businesses launching their product, handling around 25,000 monthly user authentications.
Deciding what happens to unused credits at the end of a billing period is a critical policy decision.
- Use-it-or-lose-it: Credits expire at the end of the period (e.g., monthly). This model creates predictable revenue but can lead to negative customer sentiment.
- Rollover with expiry: Unused credits carry over to the next month but expire after a longer period, like 12 months. This is a customer-friendly compromise that prevents indefinite liability.
- Full rollover: All unused credits carry over indefinitely. This offers the best customer experience but can create financial complexity in recognizing revenue.
A successful prepaid credit system is built on a foundation of transparency and user control. From the dashboard to the alerts, every element should empower the customer and build trust.
- Build a transparent dashboard: The user’s dashboard should clearly display their current credit balance, a detailed history of consumption (e.g., “-10 credits for Report Generation on Aug 27”), and easy access to purchase more credits.
- Make auto-recharge attractive: Offer a small discount (e.g., 5-10%) for enabling auto-recharge. This improves retention by preventing service disruptions and locks in future revenue.
- Set intelligent alert defaults: Don’t wait until the user’s balance is zero. Pre-configure alerts at multiple, sensible thresholds and allow users to customize them. Proactive communication is key to avoiding frustration.
- Tie credits to value: In your UI and communications, translate credits back to the value they provide. Instead of just saying “You used 500 credits,” say “You analyzed 50 documents with 500 credits.”
Implementing a robust prepaid credit system requires a flexible billing engine that can handle usage-based charges. While your application will manage the user-facing wallet and credit balance logic, Kinde provides the underlying infrastructure for metered billing.
You can configure features in Kinde as “metered,” allowing you to report usage against them via the API. This lets you track consumption of resources like API calls or data processing. You can then use this data to debit credits from the customer’s wallet balance stored in your own system.
Kinde’s webhooks, such as customer.meter_usage_updated
, can be used to trigger real-time actions in your application. For example, when usage is recorded, you can check the user’s remaining balance and trigger a low-credit notification if it falls below a certain threshold.
This separation of concerns allows you to build a custom credit system tailored to your product while relying on Kinde for the heavy lifting of usage tracking and invoicing.
Get started now
Boost security, drive conversion and save money — in just a few minutes.