Open source SMS gateway. Build with your own devices.

Self-hosted API to send SMS using Android phones or modems. No third-party APIs, no per-message fees. Just your hardware, your rules.

Built for developers

Vendel is for devs who want to own their SMS infrastructure. Clean API, webhooks, and no surprises.

Send SMS
// Send an SMS
const response = await fetch('https://your-server.com/api/sms/send', {
  method: 'POST',
  headers: {
    'X-API-Key': 'vk_your_api_key',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    recipients: ['+1234567890'],
    body: 'Your verification code is 847293'
  })
});

const { message_ids, status } = await response.json();
// { message_ids: ["a1b2c3d4e5f"], status: "accepted" }
Webhook Events
// Webhook payloads — incoming & outgoing
// sms_received, sms_sent, sms_delivered, sms_failed
{
  "event": "sms_delivered",
  "message_id": "a1b2c3d4e5f6g7h",
  "to": "+1234567890",
  "body": "Your verification code is 847293",
  "status": "delivered",
  "sent_at": "2024-01-15T10:30:08Z",
  "delivered_at": "2024-01-15T10:31:12Z",
  "timestamp": "2024-01-15T10:30:05Z"
}

Simple API

One endpoint to send. No complex SDKs needed.

Real-time Webhooks

Know instantly when messages are delivered or fail.

Your Infrastructure

Self-host it. Your data never leaves your server.

What's included

Everything you need to run your own SMS gateway. Self-host it, own your data, pay nothing per message.

Your Devices

Turn your old Android phones or USB modems into SMS gateways. No special hardware needed.

Webhooks

Get notified on delivery, failures, and incoming messages. Integrate with anything.

Quotas & Limits

Built-in quota system to manage usage across users and API keys.

REST API

Clean, documented API. Send messages, manage devices, check status. That's it.

Multi-tenant

Create users, assign devices, set permissions. Great for teams or reselling.

Dashboard

Web UI to manage everything. Or use the API if that's your thing.

Quick Start

curl -X POST https://your-server.com/api/sms/send \
  -H "X-API-Key: vk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"recipients": ["+1234567890"], "body": "Hello from Vendel!"}'

FAQ

Common questions about Vendel. Still confused? Open an issue or ask on Telegram.

Is Vendel really free?

Yes. Vendel is open source and free to self-host. You only pay for your own infrastructure (server, SIM cards, etc). No per-message fees, no hidden costs.

What devices can I use?

Any Android phone with a SIM card works. We also support USB modems. The older the phone, the better — repurpose that drawer full of old phones.

How many messages can I send?

As many as your carrier allows. Vendel doesn't impose limits. Just be mindful of carrier restrictions and don't spam.

Is there a hosted version?

We offer a managed cloud version if you don't want to self-host. Same features, we handle the infrastructure. Check out the Dashboard for pricing.

Can I use this for marketing/bulk SMS?

Technically yes, but please don't. Vendel is designed for transactional messages: OTPs, notifications, alerts. Carriers will block you if you spam.

How do I contribute?

Check out our GitHub repo! We welcome PRs, bug reports, and feature requests. Join our Telegram to chat with other contributors.