Clone to first message in minutes.
No installer, no cluster, no signup. One Go binary that provisions its own database, and four commands between you and an accepted message.
Clone and configure
Grab the repo and copy the example environment file. The .env holds your listen address and store connections — MySQL is the only requirement to start.
$ git clone github.com/yakugate/yakugate $ cd yakugate $ cp .env.example .env # set YAKU_API_ADDR and your MySQL DSNs
Run the HTTP edge
One binary, run by role. On first start the gateway creates its own database, applies migrations and seeds a dev account — no manual schema work.
$ make run ROLE=http-server ✓ bootstrap: database created, migrations applied ✓ seed: dev accounts provisioned ✓ http-server listening on :8080
Send your first message
Accepted means durably enqueued — the response confirms your message is safe in the queue with a ULID you can track through its whole lifecycle.
$ curl -X POST "http://localhost:8080/sms/v4/send" \ -H "Content-Type: application/json" \ -H "yaku-sms-key: $TOKEN" \ -d '{"from": "TEST", "to": "+14155550100", "message": "Hello"}' { "status": "ACCEPTED", "messageId": "01J3…" }
Add the rest of the pipeline
Start vendor senders, DLR handling, retry and billing as separate roles of the same binary — deploy exactly the shape you need, scale each role independently.
$ make run ROLE=smpp-vendor # vendor egress $ make run ROLE=dlr # receipts → clients $ make run ROLE=retry # backoff & expiry $ make run ROLE=billing # rate & charge
Where to next?
Prove the performance on your own hardware, read the full feature spec, or bring in a partner when it's time for production SLAs.
