Why the first version is 4.0.
Yakugate's public life starts at 4.0 — because the engine's life didn't. Three internal generations came before it, and the public API contract carries the lineage in its name: /sms/v4/send.
First public release
The first open-source release of Yakugate — and a long-term-support line. Everything on this site describes 4.0.
- Dual-protocol edges: HTTP API v4 and SMPP 3.4, client-side and vendor-side
- 18-stage accept pipeline — validation, policy, credit, quota, HLR, routing, dedupe, durable enqueue
- Routing: direct, failover, weighted load-balance and least-cost, driven by live vendor health and versioned rate cards
- Config-driven vendor onboarding — REST/XML/SOAP adapters as JSON profiles with session-auth chains, hot-reloaded
- Concatenated (multipart) SMS with transport-correct delivery truth
- Full DLR lifecycle: correlation, client push over bind or webhook, retry, expiry, retention and archive
- Billing: buy/sell rating, prepaid ledgers, idempotent charging
- Abuse monitoring: sliding-window scoring with warn / throttle / suspend
- Per-account API dialects — legacy field names, response shapes and submit URLs preserved
- Security: JWT (HS256/RS256/ES256), bcrypt, lockout ladders, password-spray guard, anti-enumeration
- Measured: 13,435 seg/s peak, p95 as low as 3.7 ms, 1.6M-message endurance at 100% acceptance
The internal generations
Three generations of gateway engineering inside commercial messaging operations — never published, but they are why the public API is called v4. The lessons they taught (windowing, receipt parsing, throttle backoff, never-retransmit-on-timeout) are encoded throughout 4.0.
What LTS means here
4.0 is a long-term-support line: the v4 API contract stays stable, and fixes land on 4.0.x without breaking integrations. New capabilities arrive as 4.x minors; anything that would break the contract waits for the next major.
Running 4.0 takes minutes.
Clone it, run it, benchmark it — the whole release is open.
