All systems operational · 99.99% uptime

Webhooks that don’t page you at 3am.

Relay is the delivery layer for outbound events — fan-out, retries, signing, and replays behind one durable API. You send the event once; we make sure it lands.

$ npm i @relay/node · trusted by 4,200+ engineering teams
deliver.sh
# send an event to every subscribed endpoint
$ curl -X POST https://api.relay.dev/v1/events \
    -H "Authorization: Bearer sk_live_9f2a" \
    -d '{"type":"order.paid","id":"ord_9f2"}'

# 202 Accepted
{
  "id": "evt_2ZxQ7hK",
  "status": "queued",
  "endpoints": 3,
  "signature": "hmac-sha256",
  "attempt": 1
}

One POST in.
Guaranteed delivery out.

You stop writing retry loops, dead-letter queues, and signature code. Relay owns the hard, boring middle so your product code stays about your product.

01

Send us the event

A single authenticated POST. No queue to provision, no consumer to run. We accept it in under 20ms and take ownership.

// once, from anywhere relay.events.create({ type: "order.paid", data: order })
02

We fan out and retry

Every subscribed endpoint gets its own attempt with exponential backoff for up to five days. One slow customer never blocks the others.

// per-endpoint, automatic attempt 1 → 500 retry in 5s attempt 2 → 500 retry in 30s attempt 3 → 200 OK delivered
03

You verify one clean webhook

Each request is signed with a per-endpoint HMAC secret. Verify in one line, trust the payload, move on.

# your handler relay.verify(body, sig, secret) # throws on tampering, else returns event
04

Replay anything, anytime

Every event is retained and re-sendable. Ship a new endpoint on Friday, replay last week’s traffic into it, and it is caught up.

# backfill a new subscriber $ relay replay --since 7d \ --endpoint ep_new
Observability

Every attempt, logged and searchable.

A live delivery monitor for each endpoint — success rate, latency, and the full request/response of every attempt. When something fails, you already know why.

99.99%
Delivered, 30-day
42ms
p50 accept latency
5d
Retry window
Deliveries · last 12hLIVE
order.paid1,204 delivered
invoice.finalized892 delivered
subscription.updated3 retrying
refund.created211 delivered

Specification

regionsus-east-1, eu-west-1, ap-southeast-1 — active-active, no primary
throughput50,000 events / second sustained per key, burst to 120k
retry_policyExponential backoff, jittered, up to 5 days or 24 attempts
signingHMAC-SHA256 per endpoint, rotating secrets, timestamp tolerance
orderingBest-effort by default, opt-in per-key FIFO with strict sequencing
sdksNode, Python, Go, Ruby, Rust, PHP — plus a raw HTTP + OpenAPI spec
retention90 days of full payloads, replayable; export to your own bucket
sla99.99% monthly delivery, with public status and incident credits

Priced per event, not per seat.

Start free. Scale to millions without a sales call. No overage surprises — hard caps if you want them.

Hobby
$0 / mo
For side projects and first integrations.
  • 10,000 events / month
  • 3 endpoints
  • 24h retry window
  • Community support
Start free
Team
$49 / mo
Then $0.40 per 1,000 events over 1M.
  • 1,000,000 events included
  • Unlimited endpoints
  • 5-day retries & replays
  • FIFO ordering
  • Email & Slack support
Start 14-day trial
Scale
$299 / mo
Volume pricing from $0.18 per 1,000.
  • 10,000,000 events included
  • 99.99% delivery SLA
  • SSO & audit log
  • Bring-your-own bucket
  • Dedicated engineer
Talk to us