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.
Four steps to your first message
Clone and configure
Grab the repo and copy the example settings file. yakugate.config holds your listen address and store connections — MySQL is the only requirement to start. Any environment variable of the same name overrides the file.
$ git clone https://github.com/yakugate/yakugate_public $ cd yakugate_public $ cp yakugate.config.example yakugate.config # set YAKU_API_ADDR and your YAKU_*_DSN store connections
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
Rather have it set up for you?
We run a fully functional gateway with its portal for you — at least 500 messages a second, free for 60 days. Or read the full feature spec and the FAQ first.
