Open source webhooks gateway that ingests, persists, delivers and debugs webhook events with retries, rate limiting and circuit breaking.
svix/svix-webhooks
An open-source webhook sending service written in Rust that handles delivery, retries, and signing so developers can dispatch webhooks with one API call.
Open-source alternative to:Svix Cloud
- Stars
- 3,476
- Forks
- 299
- Open issues
- 64
- Last commit
- 23 hours ago
What is it?
Svix is a webhook service for teams that need to send webhooks to their customers. A developer makes one API call to publish an event, and the service handles delivery to each subscribed endpoint, including retries, signing of payloads, and tracking of delivery status.
The server is written in Rust and runs as a standalone binary or Docker container. It requires PostgreSQL for event storage and optionally uses Redis or other queue backends for its task queue and cache. Configuration is provided through a TOML file or environment variables, and the project supports symmetric (HMAC-style, with per-endpoint secrets) and asymmetric ed25519 signature schemes, with symmetric as the default. Failed tasks that exhaust retries go to a dead letter queue that can be redriven through an admin endpoint.
Client libraries are available for Go, Python, TypeScript/JavaScript, Java, Kotlin, Ruby, C#, Rust, and PHP, plus a Terraform provider and a CLI distributed through npm. The repository also includes a Redis queue DLQ implementation and optional OpenTelemetry export for traces, metrics, and logs.
Key features
- 01Sends webhooks with a single API call from the publisher side.
- 02Handles retries and tracks delivery status for each endpoint.
- 03Signs payloads with symmetric keys by default, with optional ed25519 asymmetric signatures.
- 04Supports PostgreSQL for storage and Redis for the task queue.
- 05Provides a dead letter queue with an admin endpoint to redrive failed tasks.
- 06Exports traces, metrics, and logs via OpenTelemetry.
Use cases
- Adding outgoing webhook notifications to a SaaS product for customer integrations.
- Replacing a hand-built webhook dispatcher that needs retries and signing.
- Self-hosting a webhook delivery pipeline with PostgreSQL and Redis.
- Sending event notifications from a backend using one of the provided client libraries.
Quick start
- 1
Try the Svix CLI without installing it
npx svix-cli --help - 2
Go to the server directory in the repository
cd server - 3
Start the server with Docker Compose, which also boots Redis and PostgreSQL
docker compose up
Things to know
- The server needs a PostgreSQL database, and Redis is optional but recommended for the task queue.
- Redis must be configured with persistence and a non-evicting eviction policy, which adds self-hosting effort.
Topics
FAQ
- What is svix-webhooks?
- An open-source webhook sending service written in Rust that handles delivery, retries, and signing so developers can dispatch webhooks with one API call. Svix is a webhook service for teams that need to send webhooks to their customers. A developer makes one API call to publish an event, and the service handles delivery to each subscribed endpoint, including retries, signing of payloads, and tracking of delivery status.
- Is svix-webhooks free to use? What license does it have?
- svix-webhooks is open source under the MIT license. Check the license terms before using it in commercial products.
- Is svix-webhooks still maintained?
- Actively maintained. The last commit to svix-webhooks was on Nov 5, 2026.
- What can I use svix-webhooks for?
- Adding outgoing webhook notifications to a SaaS product for customer integrations. Replacing a hand-built webhook dispatcher that needs retries and signing. Self-hosting a webhook delivery pipeline with PostgreSQL and Redis. Sending event notifications from a backend using one of the provided client libraries.
- How do I install svix-webhooks?
- Try the Svix CLI without installing it: npx svix-cli --help Go to the server directory in the repository: cd server Start the server with Docker Compose, which also boots Redis and PostgreSQL: docker compose up
- Where can I get svix-webhooks?
- The source code and installation instructions are on GitHub: https://github.com/svix/svix-webhooks
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Kafka API-compatible streaming data platform written in C++ that runs without ZooKeeper or the JVM.
NSQ is a realtime distributed messaging platform designed to handle very high message volumes without a single point of failure.
A portable runtime that gives distributed apps and AI agents durable workflows, service-to-service security, state, and pub/sub through a sidecar.
Durable workflow engine that runs step functions, background jobs and AI workflows on serverless, servers or edge, with retries and flow control.
A Go library for building event-driven applications, with a unified Publisher/Subscriber interface over Kafka, RabbitMQ, NATS, SQL and more.