Relay — Webhook Delivery & Event Routing
Webhook Infrastructure

Webhook delivery that
never silently fails.

Relay routes, signs, and retries your event webhooks with cryptographic verification and automatic exponential backoff. Built for developers who need to know every delivery succeeded.

⌘K
relay — delivery log
evt_8x2k…f1 → hooks.stripe.com 200 · 42ms
evt_8x2k…f2 → api.slack.com 200 · 88ms
evt_8x2k…f3 → webhook.internal.io 503 · retry 2/5
evt_8x2k…f4 → hooks.stripe.com 200 · 39ms
evt_8x2k…f5 → api.github.com 200 · 61ms
Core Features

Everything between
your event and their endpoint.

Relay handles signing, routing, retries, and observability so your team can ship events without building delivery infrastructure.

delivery / retry

Automatic retries with exponential backoff

Every webhook gets up to 5 retry attempts with jittered exponential backoff. Configure per-endpoint retry policies, max attempts, and timeout windows. Failed deliveries surface in your dashboard before your customers notice.

attempt_1 → 503  wait 1s
attempt_2 → 503  wait 4s
attempt_3 → 503  wait 16s
attempt_4 → 200 ✓
signing / security

HMAC-signed payloads

Every webhook is signed with HMAC-SHA256. Recipients verify authenticity using a timestamped signature header. Replay protection included.

routing

Dynamic event routing

Route events to different endpoints based on type, payload shape, or custom filters. Fan-out to multiple destinations from a single source.

observability

Per-request delivery logs

Inspect every delivery attempt with full request and response bodies, headers, and timing. Filter by status, endpoint, or event type.

ingestion / sdk

Send events with a single line

Drop in the SDK, call relay.send(), and Relay handles the rest. Available for Node.js, Python, Go, and Ruby. REST API and CLI for everything else.

POST https://api.relay.dev/v1/events
x-relay-signature: t=1718428800,v1=8x2k…
body: {"event":"invoice.paid","data":{…}}
Quickstart

Send your first
webhook in 30 seconds.

Install the SDK, set your API key, and send. Relay handles signing, queuing, retries, and delivery confirmation. No infrastructure to manage.

  • No webhook servers to deploy or scale
  • Automatic HMAC signing on every payload
  • Real-time delivery status via SSE or polling
  • Dead-letter queue for permanently failed events
send_webhook.js
// Install: npm install @relay/sdk
import { Relay } from "@relay/sdk";

const relay = new Relay({
  apiKey: process.env.RELAY_KEY,
});

// Send a signed webhook to any endpoint
await relay.send({
  event: "invoice.paid",
  endpoint: "https://app.customer.io/hooks",
  payload: {
    invoice_id: "inv_8x2k3f",
    amount: 4999,
    currency: "usd",
  },
  retry: { attempts: 5, backoff: "exponential" },
});

// → 200 OK · delivered in 42ms
// → signature: t=1718428800,v1=8x2k…a1f3
Reliability

Delivery you can
depend on at scale.

Relay processes billions of webhooks per month across multi-region infrastructure with automatic failover.

99.98%
Delivery success rate
Measured per attempt, not per event
42ms
P50 delivery latency
From ingest to endpoint response
2.4B
Webhooks / month
Across all customers and regions
5×
Retry attempts max
With jittered exponential backoff
Delivery uptime — last 90 days 99.98% · operational
Pricing

Pay for delivered
webhooks, not infrastructure.

Start free. Scale as you grow. No servers to manage, no bandwidth fees.

Hobby
Free
For side projects and testing.
$0 / month
  • 10,000 webhooks / month
  • 3 endpoints
  • 3 retry attempts
  • 7-day delivery logs
  • Community support
Start free
Enterprise
Custom
For high-volume and regulated workloads.
Custom
  • Unlimited webhooks
  • Dedicated regions + failover
  • Custom retention + audit logs
  • SAML SSO + SCIM
  • 99.99% SLA
  • Dedicated support engineer
Contact sales
≡ hart

Hosted on hart

intrane-landings/10-relaypublic
🏠 hart home🔎 Explore public👤 More from intrane-landings