Relay Get API key
A lit circuit board in close up
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

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.

deliver.sh202 Accepted
# 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
}
idevt_2ZxQ7hK
statusqueued
endpoints3
signaturehmac-sha256
attempt1
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

regions
us-east-1, eu-west-1, ap-southeast-1, active-active, no primary
throughput
50,000 events / second sustained per key, burst to 120k
retry_policy
Exponential backoff, jittered, up to 5 days or 24 attempts
signing
HMAC-SHA256 per endpoint, rotating secrets, timestamp tolerance
ordering
Best-effort by default, opt-in per-key FIFO with strict sequencing
sdks
Node, Python, Go, Ruby, Rust, PHP, plus a raw HTTP + OpenAPI spec
retention
90 days of full payloads, replayable; export to your own bucket
sla
99.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