Skip to content

How SMSKit works

Your code calls our API. We wake your phone. Your SIM sends the SMS. You get it all back.

Your server SMSKit cloud FCM push Android phone (SmsManager) Recipient

Delivery reports flow back the same path: phone → cloud → your webhook.

  1. 1

    Pair a phone

    Install the SMSKit Gateway app on any Android phone (8.0+), open the dashboard, and scan a pairing code. The phone registers and reports its SIMs.

  2. 2

    Call the API

    From your backend, POST /api/sms/send with a recipient and a message, authenticated by your API key. We queue the message and pick the best device + SIM.

  3. 3

    We wake your phone

    A high-priority push (FCM) wakes the app even if it's idle. It pulls the job and sends the SMS through Android's native SmsManager — over your real SIM.

  4. 4

    Track everything

    The phone reports back: sent, delivered, or failed. See it live in the dashboard, poll the job-status endpoint, and receive webhooks. Replies come back as sms:received.

Why send from a real phone?

Because real numbers get delivered. An SMS from a physical SIM arrives as a normal person-to-person message from a real local number. Carriers don't filter it the way they filter shared short codes and aggregator brand IDs. No A2P 10DLC registration is required because — to the carrier — it's just you, texting.

This is exactly why SMSKit started: aggregator OTP deliverability was unacceptable, and a local SIM fixed it. More on the origin in About.

What makes it reliable

Retry + dead-letter

A failed send retries across your other phones; truly stuck jobs go to a dead-letter queue you can see — never silently dropped.

Auto-failover

A phone drops offline mid-send and its jobs move to a healthy device automatically.

Per-device throttling

An hourly limit per device keeps you under carrier abuse thresholds.

Idempotency

Retried API calls with the same key never double-send.

Observability

Prometheus metrics, health checks, and PII-masked logs — so you (and we) can see what is happening.

What you'll need

  • One or more Android phones (8.0 / API 26+). Cheap or used is fine.
  • A SIM in each, on a normal carrier plan.
  • The phones kept on, charged, and online (Wi-Fi or mobile data).
  • Five minutes to pair the first one.

Battery tip. Android aggressively sleeps background apps. The app guides you to exempt it from battery optimization — see the Download guide.

Who runs what

You bring the phones and SIMs. We run everything else — the API, the routing engine, push wakeups, the dashboard, and your database. No servers to set up, nothing to deploy: sign up, pair a phone, send.

Where your data lives

Every account gets its own isolated database — your messages never share a table with anyone else's. We host that database; you don't manage it, but it's yours alone. Logs mask phone numbers and message content.

Start sending in five minutes.

Pair a phone, grab an API key, send your first SMS — free.