Repolode
svix

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. 1

    Try the Svix CLI without installing it

    npx svix-cli --help
  2. 2

    Go to the server directory in the repository

    cd server
  3. 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