Pricing
SecureOTP uses a prepaid credit system. You purchase credits in advance, and each message you send deducts the corresponding credit cost from your balance. There are no subscriptions, no monthly fees, and no expiry on your balance.
Per-Message Rates
| Channel | Cost per OTP | | --- | --- | | SMS | 499 credits | | WhatsApp | 299 credits |
WhatsApp delivery is more affordable than SMS because it uses an internet channel rather than carrier networks.
Checking Your Balance
Your current balance is always visible at the top of the Console dashboard. The API does not expose a balance endpoint, so monitor it from the Console.
If a send request is made when your balance is below the cost of the message, the API returns a 402 Payment Required error and no message is sent:
{
"error": "Insufficient balance"
}Topping Up
To add credits to your account:
- Go to Purchase in the Console navigation
- Enter the amount you want to credit to your account
- Select your payment method:
- Bank Transfer - QRIS - Credit Card - Debit Card - E-Wallet - Cash
- Submit the order — it will appear as Pending
- An admin reviews and confirms your payment, at which point your balance is credited
Credits are added to your balance only after an admin marks the order as Completed. You will see the order reflected in Order History.
Order History
All top-up orders are listed in the Order History page with the following details:
- Invoice number
- Amount
- Payment method
- Status:
PENDING,COMPLETED, orFAILED - Payment date (once confirmed)
Sandbox Usage
Sandbox keys (sk_test_...) do not deduct credits and do not require a balance. Use them freely during development and testing. Switch to a live key (sk_live_...) when you are ready to send real messages.