Key Takeaways
- A fintech CSV is a ledger event, not a marketing list. Validate E.164, amount tokens, and idempotency keys before any radio send.
- Payroll, KYC nudges, and login OTP must not share one Android pool. One hung campaign must not starve 2FA.
- Bad rows still cost operator SMS credit once they hit the SIM. Dry-run against a staff slice first.
- Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Free is 1 device, 300 SMS lifetime, 300 contacts.
- Developer Center owns live import and send fields. This scenario is about failure modes, not an endpoint catalog.
- Name who tops up SIMs and who aborts a file mid-run before Friday close.
Summary
Scenario 2033 is a fintech bulk CSV import on an Android SIM gateway: payroll notices, card-activation reminders, KYC “upload missing ID” nudges, or batch settlement alerts. The file is the source of truth in finance ops. The phone is only the radio. Priced by devices and SMS send volume. You use your own phone and operator SMS credit. You do not buy prepaid carrier packs from us.
Importing 18,000 rows and pressing send is not a release. It is a radio event. One bad MSISDN column will burn operator credit and page compliance before lunch.
Why fintech still imports CSV
Core banking and payroll vendors still drop delimited files. The Android gateway does not become the ledger. Your worker reads a signed artifact, maps columns, and enqueues templated SMS. Idempotency is per statement id or payroll run id, not “name + last four.” See idempotent send and CSV import habits.
Live field names live in the Developer Center. Industry messaging context (not a license): GSMA.
Lane map
| File / lane | Device pool | Body rule | Abort if |
|---|---|---|---|
| Login / step-up OTP | Dedicated charged phone | Brand + digits + expiry only | Any marketing or notice file shares the SIM |
| Payroll / payout notice | Second device or SIM | No full account numbers; no amount if policy forbids SMS amounts | Column checksum fails or row count ≠ control total |
| KYC / card activation nudge | Same notice pool or third MSISDN | Link to HTTPS portal; no document images over MMS | Consent flag missing or STOP already persisted |
Dual SIM is operator diversity, not “OTP plus 20k notices on one handset.” Dual SIM in depth.
Validate before radio
Reject the file if E.164 parse fails, if the country prefix does not match the licensed corridor, or if the template token count does not match the approved copy. Store consent and STOP with the MSISDN — a “customers.csv” from CRM is not a license. Number formats · blacklist.
Canary 20 staff numbers that exist in the same file format. Watch DLR and inbound “STOP” before the remaining rows leave the queue. Webhook accept is not delivered — see delivery reports.
Pace, retries, and airtime
OEM and carrier rate ceilings still apply. A tight loop will get the SIM filtered and will still debit prepaid balance on each attempt. Budget airtime for retries separately from the first-pass estimate. Rate ceilings. Starter, Professional, and Business list Unlimited SMS as platform send volume; that is not unmetered carrier SMS. Platform volume on paid device plans is a different meter from operator credit.
If a device sleeps mid-file, the remainder must resume by idempotency key, not by re-importing the whole CSV. Doze.
Keep login OTP off the blast SIM
Fintech OTP is high-stakes. Isolate devices, rotate API keys after contractor access, and never log full codes into Slack. Priority queues fail the moment a notice file shares the pool. OTP on Android · priority queue limits.
Devices, volume, Free cap
Priced by devices and SMS send volume. You use your own phone and operator SMS credit. Free is 1 Android, 300 SMS lifetime, 300 contacts. Developer is 25,000 SMS per year on one device. Starter, Professional, and Business uncap platform send volume and still meter devices (2 / 5 / 15). Operator airtime is always yours. Sending on Free or Developer pauses when the allowance is exhausted — there is no silent $0.0x overage.
Compare tiers on device and SMS volume pricing. Pair hardware via the setup guide.
Ops for a Friday payroll file
Daily: pairing health, battery exemptions, queue depth, DLR anomaly rate, SIM balance. After an OEM update or SIM swap, re-run the canary file end to end. Keep a spare charged phone paired for failover — failover limits.
Name an abort owner. If control totals drift mid-run, freeze the queue; do not “finish the file” and reconcile later over SMS.
Security
Encrypt files at rest. Limit who can upload. Treat the CSV as payment data even when the SMS body is only a “funds posted” stub. Verify webhook signatures on every status callback. Security and Trust Center. Promotional card offers still need STOP — never auto-reply into OTP threads. STOP keywords.
Checklist
- Control totals and column map signed off by finance ops.
- E.164 + corridor + STOP/consent checks in the worker, not in the phone UI.
- OTP pool physically separate and charged.
- Staff canary passed with DLR sampled.
- Airtime budget includes retries; top-up owner named.
- Abort path documented; spare device paired.
- Developer Center checked for current send fields.
- No OTP bodies in shared chat.
Next steps
Return to the fintech playbook, review transactional SMS, then pair a device in downloads. Confirm APIs in the SMS API documentation.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- bulk SMS from Excel and CSVSpreadsheet campaigns
- contacts, lists, and segmentsAudience hygiene
- bulk SMS with consent best practicesHigh-volume outreach
- SMS API documentationLive endpoint reference




