Documentation

Getting started

Hiras turns an Android phone into a self-hosted, LAN-only SMS gateway. Install the app, tap Start, and anything on the same network can send SMS through the phone’s SIM over a small REST API. No accounts, no cloud, no subscriptions — your phone, your SIM, your data.

Hiras is built for a solo developer, student, or indie hacker who needs to send or receive SMS for local development, testing, or a low-volume integration. It is deliberately not a bulk-messaging, campaign, or CRM platform.

Four steps

  1. Install Hiras on an Android phone (Android 8.0 or newer) with a working SIM.
  2. Tap Start and grant the SMS permission. Hiras begins hosting on your local network.
  3. Copy the address and key. The app shows its LAN URL — http://<phone-ip>:8080 — and an API key beginning sk_local_. Scan the on-screen QR code to copy both at once.
  4. Call the API from any device on the same network.

Your first request

curl -X POST http://<phone-ip>:8080/api/sms/send \
  -H "Authorization: Bearer sk_local_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"to":"09171234567","message":"Hello from Hiras"}'

A successful send returns:

{
  "success": true,
  "mode": "real",
  "smsSent": true,
  "messageId": "msg_...",
  "status": "queued",
  "segments": 1
}

Want to try it without spending a text? Send the same request in Dry Run mode — Hiras validates everything and returns a realistic response without touching your SIM.

Good to know

  • Hiras and the calling device must be on the same local network. Requests from outside your private network are refused before anything else runs.
  • LAN traffic is plain HTTP. The API key authenticates every request except the health check.
  • Messages are sent through your own SIM, so your carrier’s normal charges apply.
  • status: "queued" means Hiras handed the message to Android to send. It is not a carrier-side delivery receipt — Hiras reports queued, then sent or failed.

Next