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.
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 },});- 09:41:07.112#15032,140 ms · endpoint busy — retry in 30 s
- 09:41:37.204#25031,980 ms · still busy — retry in 2 min
- 09:43:37.391#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.
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 ssend.tsnpm install @relay/nodeRegister your customer’s endpoint
One endpoint per URL, scoped to a tenant. Relay generates its signing secret and shows it once.
~ 1 minsend.tsconst endpoint = await relay.endpoints.create({ url: "https://hooks.example.com/relay", tenant: "ten_8Kq2", events: ["invoice.*"],});Verify on the receiving side
Hand this to your customers. Three lines in their framework; a wrong secret fails loudly, not silently.
~ 2 minsend.tsimport { 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
- 38ms ms
- Source: October 2026, all regions
- Events delivered last month
- 2.1B 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 teamsProduction 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.
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