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.

1

Your app

POST /api/sms/send

Clean REST API · your API key

2

SMSKit gateway

Queue · route · retry

Picks the best device + SIM

3

Your Android phone

Native SmsManager

Woken by a high-priority push

4

Delivered

Over your own SIM

Real number · carrier-trusted

Delivery reports flow back the same path: your Android phone → SMSKit gateway → 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.