Introduction

Pricing

Understand the credit system, per-message costs, and how to top up your balance.

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:

json
{
  "error": "Insufficient balance"
}

Topping Up

To add credits to your account:

  1. Go to Purchase in the Console navigation
  2. Enter the amount you want to credit to your account
  3. Select your payment method:

- Bank Transfer - QRIS - Credit Card - Debit Card - E-Wallet - Cash

  1. Submit the order — it will appear as Pending
  2. 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, or FAILED
  • 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.