Webhook infrastructure

Webhooks that never drop

Point your producers at one relayd endpoint. We handle signing, retries with exponential backoff, replay, and a searchable delivery log — so your consumers can be down and nobody notices.

Read the quickstart
curl https://api.relayd.eu/v1/events \ -H "Authorization: Bearer $RELAYD_KEY" \ -H "Content-Type: application/json" \ -d '{"topic":"invoice.paid","payload":{"id":"in_8812","total":4900}}' # → 202 Accepted # { "id": "ev_01HQ8", "attempts": 0, "status": "queued" }
import { Relayd } from "@relayd/node"; const relayd = new Relayd(process.env.RELAYD_KEY); await relayd.events.publish({ topic: "invoice.paid", payload: { id: "in_8812", total: 4900 }, }); // Verify on the receiving side: const event = relayd.verify(req.rawBody, req.headers["relayd-signature"]);
from relayd import Relayd relayd = Relayd(os.environ["RELAYD_KEY"]) relayd.events.publish( topic="invoice.paid", payload={"id": "in_8812", "total": 4900}, ) # Verify on the receiving side: event = relayd.verify(request.data, request.headers["Relayd-Signature"])
client := relayd.New(os.Getenv("RELAYD_KEY")) _, err := client.Events.Publish(ctx, relayd.Event{ Topic: "invoice.paid", Payload: map[string]any{"id": "in_8812", "total": 4900}, }) // Verify on the receiving side: event, err := client.Verify(body, r.Header.Get("Relayd-Signature"))

What you stop building

Retries with backoff

Twelve attempts over 24 hours, jittered. Consumers can be down for a working day and lose nothing.

Signed payloads

HMAC-SHA256 signatures with key rotation, plus a five-minute replay window to stop replay attacks.

Delivery log

Every request and response body kept for 30 days, searchable by topic, status, or consumer.

99.99%

Delivery SLA

41ms

Median publish latency

2.4B

Events last month

3

EU regions

Pay per event, not per seat

Every plan includes all regions, all features, and the full 30-day log.

Hobby

€0/mo

  • 100k events/month
  • 7-day delivery log
  • Community Discord

Scale

€490/mo

  • 100M events/month
  • Dedicated queues + static egress IPs
  • 99.99% SLA with credits
  • Shared Slack channel