Branded sender IDs
Request the name recipients see on their phone. Each request is reviewed before it goes live, so your messages read as yours.
SMS API · Bulk SMS · OTP
Send OTPs, reminders and alerts from your own branded sender ID. Top up prepaid credits, send from the dashboard or one REST endpoint, and see every message and every credit in your log.
No subscription — you only pay for the credits you buy.
Request the name recipients see on their phone. Each request is reviewed before it goes live, so your messages read as yours.
Buy a package, see exactly what each message costs, and watch the balance move in a ledger you can audit line by line.
POST a recipient list and a message. Failed numbers are refunded automatically, and every send is queryable by id.
Use cases
SMS lands on every phone — no app, no data, no inbox to dig through.
Verify sign-ups and logins with one-time codes that arrive in seconds.
Cut no-shows for clinics, salons, schools and service teams.
Confirmed, packed, out for delivery, ready for pickup.
Outages, payment due dates, schedule changes — sent the moment they happen.
Reach every member, parent, employee or homeowner at once.
Send sale alerts and vouchers to customers who opted in.
Try it
Type your message. Plain text fits 160 characters in one part; emoji and some symbols switch the message to Unicode, which fits 70. Each part uses 1 credit per recipient.
Pricing
One credit covers one message part. Bigger bundles carry a better rate. Credits don’t need a subscription.
Recommended package appears here.
₱10,000
10,000 credits
Good for testing and small blasts.
₱1.00 / SMS
Get started₱22,500
30,000 credits
For regular OTP and notification traffic.
₱0.75 / SMS
Get started₱35,000
50,000 credits
Our most-used bundle for growing teams.
₱0.70 / SMS
Get started₱65,000
100,000 credits
Campaign volume at a sharper rate.
₱0.65 / SMS
Get started₱100,000
200,000 credits
Best rate per credit, for high-volume senders.
₱0.50 / SMS
Get startedPer-SMS price is for one 160-character part. Prices in PHP.
Developer API
Generate an API key and secret in your dashboard. Post a form, read a JSON response — no SDK required. Numbers that can’t be delivered are refunded to your balance automatically.
Not a developer? Send from the dashboard — paste numbers, type, send.
curl -X POST https://www.sms.rdnc.digital/api/v1/sms \ -d "api_key=YOUR_API_KEY" \ -d "api_secret=YOUR_API_SECRET" \ -d "from=YOURBRAND" \ -d "to=+639171234567,+639181234567" \ -d "text=Hello from RDNC SMS"
$response = Http::asForm()->post('https://www.sms.rdnc.digital/api/v1/sms', [
'api_key' => env('SMS_API_KEY'),
'api_secret' => env('SMS_API_SECRET'),
'from' => 'YOURBRAND',
'to' => '+639171234567',
'text' => 'Hello from RDNC SMS',
]);
$result = $response->json(); // ['total_sent' => 1, ...]
const res = await fetch('https://www.sms.rdnc.digital/api/v1/sms', {
method: 'POST',
body: new URLSearchParams({
api_key: process.env.SMS_API_KEY,
api_secret: process.env.SMS_API_SECRET,
from: 'YOURBRAND',
to: '+639171234567',
text: 'Hello from RDNC SMS',
}),
});
const result = await res.json(); // { total_sent: 1, ... }
import os, requests
res = requests.post("https://www.sms.rdnc.digital/api/v1/sms", data={
"api_key": os.environ["SMS_API_KEY"],
"api_secret": os.environ["SMS_API_SECRET"],
"from": "YOURBRAND",
"to": "+639171234567",
"text": "Hello from RDNC SMS",
})
print(res.json()) # {'total_sent': 1, ...}
Response
{ "batch_id": "9f1c…", "total_sent": 2, "total_failed": 0,
"total_credits": 2, "remaining_balance": 498, "encoding": "GSM7" }
How it works
Four steps from sign-up to your first delivered message.
Register with your business details. Takes a minute, no card needed.
Tell us the name recipients should see. We review and approve it.
Pick a package, pay, and submit your reference. Credits land once confirmed.
Compose in the dashboard or POST to the API. Watch every message in your log.
It’s the name your recipients see as the sender instead of a number — for example your business name. Request one from your dashboard; RDNC reviews each request before it can be used.
No. You buy prepaid credits and only use them when you send. There’s no monthly fee.
Plain-text messages fit 160 characters in one part (153 per part when longer). Emoji and some special characters switch the message to Unicode, which fits 70 characters (67 per part). Each part uses 1 credit per recipient. Try the calculator above.
Numbers that can’t be delivered are refunded to your balance automatically, so you don’t pay for messages that didn’t go out. Every message has a status in your log.
Choose a package, pay using the options shown on your top-up screen, and submit your payment reference. Credits are added to your account once the payment is confirmed.
No. You can send from the dashboard by pasting numbers and typing your message. The API is there when you want to send from your own app or system.
Up to 1,000 recipients per API request. For larger lists, send in batches.
Register, request a sender ID, top up — usually live the same day.