Skip to content
All systems normal · 99.995% over 90 days

Webhooks that arrive.

Relay is the sending side of your webhooks: one API call, and we sign, queue, retry and log every delivery to every customer endpoint — with a portal they can debug in themselves.

npm install @relay/node
import { Relay } from "@relay/node";const relay = new Relay(process.env.RELAY_KEY);await relay.events.send({  type: "invoice.paid",  tenant: "ten_8Kq2",  data: { invoice: "inv_2041", amount: 12900 },});
Delivery log · evt_2Kx9qLDelivered
  1. #15032,140 ms · endpoint busy — retry in 30 s
  2. #25031,980 ms · still busy — retry in 2 min
  3. #3200142 ms · delivered, signature verified

01Quick start

From key to first delivery in four minutes

Switch the language in any code window: every sample on this site follows, and it’s remembered for the docs.

  1. Install the SDK

    Or skip it: the API is plain HTTPS and JSON. Test keys start with rk_test_ and never deliver outside your sandbox.

    ~ 30 s
    npm install @relay/node
  2. Register your customer’s endpoint

    One endpoint per URL, scoped to a tenant. Relay generates its signing secret and shows it once.

    ~ 1 min
    const endpoint = await relay.endpoints.create({  url: "https://hooks.example.com/relay",  tenant: "ten_8Kq2",  events: ["invoice.*"],});
  3. Verify on the receiving side

    Hand this to your customers. Three lines in their framework; a wrong secret fails loudly, not silently.

    ~ 2 min
    import { verify } from "@relay/node/webhooks";app.post("/relay", express.raw({ type: "*/*" }), (req, res) => {  const event = verify(req.body, req.headers, process.env.RELAY_SECRET);  console.log(event.type); // "invoice.paid"  res.sendStatus(204);});

02 · What you stop building

The queue, the retries, the 3 a.m. page

  • Retries that back off

    Eight attempts over 27 hours with jittered backoff. A 410 Gone stops the schedule; nothing else does.

  • Signed, every time

    HMAC-SHA256 with a timestamp in the signed payload, so a replayed request older than five minutes fails.

  • Replay any window

    Your customer’s server was down from 02:10 to 02:55? Replay exactly those 1,204 events, in order.

  • Fan-out per tenant

    One send, every subscribed endpoint of that tenant. Filters by event type and wildcard.

  • Rate limits per endpoint

    A slow customer gets 5 requests a second and a queue — your other customers don’t wait behind them.

  • A portal for your customers

    Embed the endpoint portal: your customers add URLs, read logs and rotate secrets without a ticket.

03 · Measured, not promised

Uptime you can check

Delivery API uptime, last 90 days
99.995 percent
Source: status.relay.example.com
Median time from send to first attempt
38 ms
Source: October 2026, all regions
Events delivered last month
2.1 B
Source: Across 1,840 teams
Of failures recovered by retries
99.2 percent
Source: Deliveries that failed once, Oct 2026

04Pricing

Pay per event. Retries are on us.

An event is one send call, however many endpoints it fans out to. Drag to your volume.

Events per month

3,000,000

Hobby
Over the cap
TeamCheapest
$48.00/ month
Scale
$249.00/ month

Retries and fan-out are free. Prices exclude VAT.

  • Hobby

    Side projects and staging.

    Free

    Start free
    • 50,000 events a month, hard cap
    • 3 endpoints
    • 3-day delivery logs
    • Community support
  • Team

    Most teams

    Production webhooks for a growing product.

    39 US dollars /mo

    Choose Team
    • 1M events included, then $0.45 per 100k
    • Unlimited endpoints and tenants
    • 30-day logs and replay
    • Embeddable customer portal
  • Scale

    High volume, strict networks, an SLA.

    249 US dollars /mo

    Choose Scale
    • 20M events included, then $0.20 per 100k
    • 90-day logs, static egress IPs
    • 99.99% delivery SLA
    • SSO, audit log, 4-hour support

USD, billed monthly. VAT added where it applies.

Over 100M events a month or need a private region? Talk to us about Enterprise.

05 · Questions

Before you switch

Can’t find your question?Ask an engineer

What counts as an event?

One call to send, whatever the fan-out. An event delivered to four endpoints is one event; retries are free.

Where is data stored?

You choose the region per project: Frankfurt, Virginia or Singapore. Payloads never leave it, logs included.

Can I move from my own queue?

Yes. Keep your existing signing secrets: import them per endpoint and your customers change nothing.

Ship the webhooks your customers keep asking for

Free up to 50,000 events a month. No card, no sales call.

SOC 2 Type IIGDPR · KVKKLast audit Aug 14, 2026