Mobile Terminated
Outbound. You submit, we route, the handset lights up.
Hover to follow itTap to follow it- Accepteddurably enqueued, never in RAM alone
- Routeddirect, failover, load-balance or LCR
- Deliveredone DLR fanned back to your webhook
Yakugate is an open-source A2P SMS gateway and SMS firewall built for scale — HTTP and SMPP on both edges, smart routing, full DLR lifecycle, billing, and traffic protection. One Go binary, fifteen roles.
$ curl -X POST https://api.yakugate.com/sms/v4/send \ -H "yaku-sms-key: $TOKEN" \ -d '{ "from": "ACME", "to": "+14155550142", "message": "Your code is 84213" }' # response — accepted = durably enqueued { "statusCode": 200, "status": "ACCEPTED", "messageId": "01J2XW9KQ3RZ8H4M6P0T5V7B2D", "acceptedTime": "2026-08-14T09:12:44Z" }
Submit on one edge, deliver on the other, and get the truth back — MT out, MO in, DLR closing the loop. The engine holds all three at once, four thousand times a second, per process.
Outbound. You submit, we route, the handset lights up.
Hover to follow itTap to follow itInbound. The handset replies and it lands on your endpoint.
Hover to follow itTap to follow itTruth. Parsed by key, never by position in the string.
Hover to follow itTap to follow itA public sandbox gateway is launching at demo.yakugate.com — same engine, same pipeline, routed to a blackhole vendor so nothing is actually delivered. Until it's live, run the engine locally in minutes — it self-provisions its own database.
https://demo.yakugate.com/sms/v4/senddemo.yakugate.com:2775https://portal.demo.yakugate.comdemodemoShared sandbox: data is wiped and credentials restored on every reset. Rate limits are low, delivery is simulated — for real throughput, run the benchmarks on your own hardware.
# one message through the live demo gateway $ curl -X POST "https://demo.yakugate.com/sms/v4/send" \ -H "Content-Type: application/json" \ -H "username: demo" -H "password: demo" \ -d '{"from": "DEMO", "to": "+14155550100", "message": "Hello from the sandbox"}' { "status": "ACCEPTED", "messageId": "01J3..." }
Yakugate covers the complete lifecycle in both directions — accept, screen, route, deliver, confirm, bill and protect — as a successor to the Kannel/Jasmin generation of gateways.
Accept traffic over HTTP or SMPP 3.4, and deliver upstream over either — mix and match per client and per vendor. MT, MO and DLR flows in both directions.
Onboard any REST, XML or SOAP carrier with a JSON adapter profile — templated requests, regex extraction, session auth chains. Zero code, hot-reloaded.
Direct, failover, weighted load-balance and least-cost routing per destination. Vendor health, weights and rate cards feed every decision.
Validation, blocklists, templates, spam gates, quotas, credit, rate limits, HLR lookup and dedupe — every message screened before it ever hits a queue.
Concatenated SMS assembled before policy so rules see whole messages. Per-part truth over SMPP, single-call delivery over HTTP — aggregated honestly.
Delivery receipts correlated end-to-end and pushed to clients over bind or webhook. Retries with backoff, expiry TTLs, retention and cold archive built in.
Every message rated from versioned buy/sell rate cards, settled against an append-only balance ledger with idempotent charging. Audit-proof by design.
Sliding-window scoring for AIT, spend spikes, spam and template abuse — automatic warn, throttle and suspend actions, every step audited.
Queue, config, hot and cold stores each run on MySQL, MSSQL, MongoDB or Redis — pick per store, scale independently, no vendor lock-in.
Every process — HTTP server, SMPP server, vendor senders, DLR, retry, billing, abuse monitor and more — is the same Go binary run by role. Clients and vendors meet only through durable per-vendor queues.
Per-vendor queues, HLR shards, delivery reports — the beating heart of throughput.
Accounts, vendors, routes, templates, rate cards — refreshed live, no restarts.
Recent message detail records, partitioned per tenant-month for instant lookup.
Long-term compliance archive — partitions exported and dropped on schedule.
Every hard-won SMPP lesson — windowing, throttle backoff, receipt parsing, never-retransmit-on-timeout — is already encoded so you don't have to learn it in production.
One POST, one canonical response envelope. Per-recipient results, idempotency keys, scheduling and validity periods out of the box.
JWT (HS256, RS256, ES256) or username + password, header or query, with lockout ladders and password-spray protection built in.
Per-account API dialects map your legacy field names, response shapes and even submit URLs — migrate carriers without touching client code.
Self-provisioning MySQL bootstrap, .env configuration, and a benchmark harness that reproduces the published 13,435 seg/s peak on your own hardware — scale vertically as you grow.
# send a message — accepted means durably enqueued $ curl -X POST https://api.yakugate.com/sms/v4/send \ -H "yaku-sms-key: $TOKEN" \ -H "Content-Type: application/json" \ -d '@message.json'
Yakugate is built in the open by operators who have run carrier messaging for years — and brought to market by licensed distribution partners.
Serial technology entrepreneur and messaging domain expert. Twenty-five years across SMS, gateways and large-scale IT implementations — Yakugate distills everything learned running carrier traffic into one open-source engine.
Canada
The Kannel era deserved a successor. Yakugate's entire engine is MIT licensed — run it on your own metal, audit every line, and never pay per-message platform tax again.
Need SLAs, a managed deployment or the admin portal? That's what partners are for.