Managed MQTT Broker · Singapore Region
Dedicated MQTT Broker Indonesia
One Mosquitto process reserved for each customer, not a shared broker with topic limits. Free topic structure, TLS, REST publish, and webhook triggers. From Rp 75 thousand per month.
Your own broker, not an account on someone else's.
Shared MQTT brokers usually restrict usernames, ACLs, and topic wildcards. Voltrus gives you a genuinely separate process.
Dedicated, not shared
You get one isolated Mosquitto process. Configuration, restarts, and other customers' load never touch your broker.
Topics on your terms
No ACL templates and no # wildcard bans. The topic structure is entirely yours.
TLS on port 8883
Devices connect via mqtts://<tenant>.broker.voltrus.id:8883. Encryption from the first packet.
Publish via REST
Send messages from servers, cron jobs, or functions through POST /v1/publish. Serverless with no persistent connection.
Webhook triggers
MQTT messages can fire webhooks: JSON body, HMAC-SHA256 signature, automatic retries with backoff, and a queue that survives restarts.
Jakarta region
Brokers run in Jakarta, close to devices and users in Indonesia. Monthly payments via QRIS, no credit card needed.
One plan for now. Bigger ones on the way.
Starter is dedicated from day one. Larger plans are being prepared.
- 50 simultaneous connections
- 5GB traffic per month
- 1 dedicated Mosquitto process
- TLS on port 8883 (
mqtts://) - REST publish + webhook rules
- Monthly QRIS payments
Larger plans are being prepared. Pricing will be announced when they become available.
No credit card · No topic limits · Cancel anytime from the console
An ESP32 online in five minutes.
- Create a broker in the console, then note the hostname
<tenant>.broker.voltrus.id. - Install the
PubSubClientlibrary from the Arduino IDE Library Manager. - Fill in your WiFi credentials and broker hostname, then upload the sketch below.
#include <WiFi.h>
#include <PubSubClient.h>
WiFiClientSecure tlsClient;
PubSubClient mqtt(tlsClient);
const char* WIFI_SSID = "wifi-name";
const char* WIFI_PASS = "wifi-password";
// from the Voltrus console
const char* MQTT_HOST = "<tenant>.broker.voltrus.id";
const int MQTT_PORT = 8883;
void setup() {
Serial.begin(115200);
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) { delay(500); }
tlsClient.setInsecure(); // production: use setCACert() instead
mqtt.setServer(MQTT_HOST, MQTT_PORT);
mqtt.connect("esp32-kandang-01");
}
void loop() {
mqtt.loop();
if (!mqtt.connected()) {
mqtt.connect("esp32-kandang-01");
return;
}
mqtt.publish("kandang/suhu", "{\"temp_c\":27.5}");
delay(5000);
}
The kandang/suhu topic above feeds straight into a webhook rule: any payload past your threshold is delivered to your endpoint as a signed POST request.
Shared broker vs dedicated.
Questions that come up a lot.
Shared brokers put many users in one process, then constrain each username with ACLs and often ban the # wildcard. Voltrus gives you one Mosquitto process of your own: no neighbors, no template topic limits.
Both are mature platforms, but their dedicated tiers are priced for large scale: public pricing for dedicated clusters starts around $233 per month. Voltrus Starter is Rp 75,000 per month and already includes a dedicated process with TLS and webhooks.
We do not promise SLA numbers yet. A public status page will be available at launch, and all operational figures will be published there.
Every delivery is signed with HMAC-SHA256 and has a five-second timeout. Failed deliveries are retried up to three times with exponential backoff through a queue that survives restarts. Messages that keep failing land in a dead-letter table.
Yes. The REST endpoint POST /v1/publish accepts a topic and payload with per-tenant API key authentication, so servers, cron jobs, and functions can send messages without opening an MQTT connection.
Monthly payments are made via QRIS from the console. No credit card required.