Key Takeaways
- A multi-device cloud relay is a server the phones poll (or that pushes jobs) so your backend does not talk to each handset on a LAN.
- Open source does not mean free SMS. You still pay operator airtime and you still own OEM pairing at 2am.
- Stars on GitHub are not a DLR SLA. Score last commit, issue hygiene, webhook signatures, and battery docs.
- Maintained SaaS is the same radio physics with someone else running the control plane, still priced on devices and send volume.
- Priced by devices and SMS send volume. You use your own phone and operator SMS credit. OSS license cost is not a carrier pack.
What cloud relay means
Cornerstone: Android SMS gateway open source. A relay sits on a VPS (or your cloud). Phones poll for jobs or receive pushes. Your app POSTs to the relay instead of to a USB modem. Multi-device means that relay maps jobs to more than one paired Android. It is not magic capacity and it is not free carrier SMS.
If the README’s architecture diagram ends at Docker and never mentions OEM battery, you found a demo, not a login path.
Local-only vs cloud relay vs maintained
| Shape | You run | Phones still | Typical fail |
|---|---|---|---|
| Local-only | LAN, no VPS | Must be reachable | NAT, laptop lid |
| OSS cloud relay | Relay + TLS + patches | Poll/push + GSM | Stale image, unsigned hooks |
| Maintained control plane | Phones + SIMs | Same radio physics | You skipped OEM exemptions |
Multi-device on a relay
Pinning must survive reboot. Dual SIM on one chassis is still one device in any honest inventory — see multi-device and dual SIM for the maintained product’s distinction. OSS projects that treat “SIM slot” as “failover node” will burn you. Isolate OTP from promo in the mapping table, not in a comment.
Failure modes OSS READMEs skip
- Relay token in a public gist. Anyone enqueues OTP to your users.
- No signature on inbound SMS webhooks. Attackers inject STOP or fake DLRs.
- Phone polls every 30s; your p95 OTP is already dead.
- Compose file pins an image from 2022. CVE in the relay, not in GSM.
Score the repo like ops, not like Hacker News. Last commit, open issues about pairing, and whether anyone documented delivery reports. GitHub itself is the forge, not a warranty: GitHub.
Evaluate a relay before you bet OTP
- Read the cornerstone first. This spoke is relay routing only. Do not treat it as the full OSS buyer’s guide.
- Draw who can reach whom. Backend → relay → devices, or devices poll the relay. NAT and TLS belong on the diagram, not in a wiki after the outage.
- Check multi-device mapping. How jobs pin to a device id after reboot. Slot drift is how OTP leaves the promo SIM.
- Demand signed webhooks and idempotency. Unsigned callbacks are an inbound SMS forge. Duplicate jobs still burn airtime.
- Run a 2am failure drill. Kill the relay, kill one phone, rotate a token. Time how long OTP is blind.
- Compare staff time to maintained. If nobody will patch the relay, you are buying a hobby, not a login path.
Maintained pairing: device setup. Honest CPaaS contrast: Twilio vs Android. Our API (not the OSS one): SMS API documentation.
True cost
Service pricing is based on device count and total SMS sent through the gateway. You need a working Android phone with a SIM and SMS credit from your mobile operator. Operator message costs are yours—we do not sell carrier SMS balance. OSS still needs VPS, TLS, on-call, and airtime. Maintained starts from $19/month plus your SIMs; Free is 300 SMS lifetime to canary. Device and SMS volume pricing. Do not convert “MIT licence” into unlimited operator send.
Next steps
Diagram the relay, drill a dead phone, then choose OSS control or a maintained plane. The SIMs do not care which JSON broker you picked.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- multi-device and dual SIM routingCapacity and failover
- device and SMS volume pricingPlans and allowances
- Twilio vs Android SMS gatewayCloud vs own-SIM cost model
- Android SMS gateway product guideDefinition, product, and how to buy




