The SMS credit wallet
Every tenant SMS — campaign, flow, test or transactional — is authorised against your SMS credit wallet before it reaches a carrier. This is a hard, non-negotiable gate.Top up
Buy credit packs (500, 2,500, 10,000, 50,000). The balance is the source
of truth; the transaction log is append-only.
Never negative
The wallet refuses to go negative under any race. A hold is placed at
authorise time and settled on carrier acknowledgement.
Auto-refund
On hard provider failure (rejected, invalid number, blacklist) the hold
is refunded. Holds expire automatically after 5 minutes if a worker
crashes.
Segment counting
1 GSM segment = 160 chars, 1 Unicode segment = 67 chars. The wallet and
the send worker count with the same library.
Sender IDs
The From name on an SMS is a Sender ID. Because every tenant shares one carrier account, sender IDs are gated to prevent impersonation.1
Use the platform pool
SENDER, INFO and SHOP are pre-registered and available to everyone
with no request.2
Request a branded ID
Request your brand as a sender ID (3–11 chars,
A-Za-z0-9-). Clean names
auto-approve instantly; names that look like a bank, government body,
carrier or another tenant’s active ID are held for operator review.3
Send from it
Once active, pick it in the SMS composer. An unapproved branded From is
rejected at send time — it never silently falls back.
Compliance
Marketing SMS to Israeli numbers is regulated. Senderz enforces it at the worker:Explicit opt-in
Explicit opt-in
An SMS to a number without recorded SMS opt-in
(
smsConsent = subscribed) is rejected. Transactional and OTP are
exempt.STOP handling
STOP handling
Inbound STOP from the carrier DLR webhook suppresses the number within
seconds and appends to the consent log.
Quiet hours & Shabbat
Quiet hours & Shabbat
Marketing SMS is blocked 20:00–08:00 local and during Shabbat (real
Jerusalem sunset, with candle-lighting and havdalah offsets).
Transactional & OTP SMS
Send transactional SMS via the Public API (POST /public/messages/sms), or send one-time codes via the OTP API. Transactional SMS still goes through the wallet and the sender-ID gate, but skips consent, quiet hours and frequency caps because the recipient requested it.
