Usage and billing

Prepaid, per SMS part, from your organization’s wallet.

What’s charged

ActionCharge
SMS (single or bulk)Price per part × parts, by destination network.
OTP code (each send and resend)OTP price per part. Checking codes is free.
Sandbox requestsFree.
Failed before reaching the network (not_sent)Nothing — the hold is released.

Current prices are shown in the dashboard (Wallet) and with each cost estimate. Prices can change; each message records the price applied to it.

How a charge works

  1. When you send, the price is calculated and held in your wallet (it moves from available to reserved). If the wallet can’t cover it, the request fails with INSUFFICIENT_FUNDS and nothing is sent.
  2. When the network accepts the message the hold becomes a charge.
  3. If the message is never sent the hold is released in full.

Every message carries its charge, and every wallet movement is listed in Wallet → Transactions.

Balance

curl -X GET "https://api.nopexo.com/v1/account/balance" \
  -H "Authorization: Bearer $NOPEXO_API_KEY"

Usage

More → Developers → Usage shows API requests per day, errors, response times and which keys and endpoints were used. Each request has a trace ID (the X-Request-Id header) you can quote to support. Spending per project is in Wallet → Usage; delivery results are in /v1/sms/reports.

Limits

LimitDefault
Requests per API key120 per minute
SMS per project60 per minute (use bulk for more)
OTP codes per project30 per minute
OTP codes per number5 per hour per project (configurable); 10 per hour across all of Nopexo for production codes (sandbox codes never count)
Bulk batch10,000 recipients per request
Sandbox200 SMS and 100 OTP codes per project per day