Private Beta — now open v0.9

Ship background jobs
without the infra.

RELAY is an edge-native job queue. Enqueue from your API, execute at the edge, sleep soundly — dead-letter queues, retry policies, and real-time observability built in from day one.

1B+

jobs processed in beta

40+

edge regions

<50ms

median cold start

Trusted by teams building at scale

Cortex fielder STACKFORM luminos veritas QUORUM

The problem

Background jobs are simple in theory.
In production, they're a nightmare.

You start with a simple queue. Then you need retries. Then a dead-letter queue. Then observability. Then regions. Six months later, you're maintaining infra you never wanted.

Silent failures

Jobs fail and disappear. No alert, no trace, no way to know what went wrong or replay it.

3am alerts

A worker crashes, a queue backs up, users don't get their receipts. You're debugging at midnight.

Infra sprawl

SQS queues, Lambda functions, CloudWatch alarms, DLQ redrive policies — all for a simple email send.

Zero observability

How many jobs ran today? What's the p99 latency? Which queue is backed up? Nobody knows.

Type-unsafe glue code

JSON.parse() with `any` types, magic string queue names, no compile-time safety between enqueue and handler.

Single-region lock-in

Your workers run in one region. Your users are everywhere. Latency is a feature you forgot to ship.

RELAY solves all of this. Out of the box. No config files.

Features

Everything you need. Nothing you don't.

RELAY is designed for developers who want to ship features, not manage queues.

40+ regions

Edge-native execution

Jobs run in 40+ edge regions worldwide — milliseconds from your users.

No cold starts. No region pinning. RELAY automatically routes each job to the nearest healthy worker, with automatic failover in under 200ms.

Zero lost jobs

Dead-letter queues built in

Failed jobs don't disappear. Every failure is captured, inspectable, and retryable.

Configure retry policies with exponential backoff. Inspect payloads, stack traces, and execution logs from the dashboard. Replay any job with one click.

P99 in dashboard

Real-time observability

See every job's status, latency, and error in a live dashboard.

Stream job logs in real time. Set alerts on queue depth, p99 latency, or failure rate. Export metrics to Datadog, Prometheus, or your own sink.

SDK-first, not YAML-first

Define jobs in code, not config files. Type-safe from enqueue to execution.

First-class SDKs for Node.js, Python, Go, and Rust. Full TypeScript generics — your payload type flows from enqueue() to the handler with zero casting.

How it works

From zero to production in 15 minutes.

No infrastructure to provision. No queues to manage. Just define, enqueue, ship.

01
Define

Define your job

Use the SDK to write a typed job handler. Set retry policies, timeouts, and queue routing — in code, not config.

snippet
relay.defineJob({
  id: "send-invoice",
  queue: "billing",
  retries: 5,
  timeout: "30s",
  handler: async (payload) => { ... }
})
02
Enqueue

Enqueue from anywhere

Call .enqueue() from your API, webhook handler, or scheduled function. RELAY routes to the nearest edge worker instantly.

snippet
await sendInvoice.enqueue({
  userId: "usr_123",
  amount: 4999,
});
// -> job_7xnm | eu-west-1 | 21ms
03
Monitor

Monitor and recover

Every execution is logged, every failure is captured in the DLQ, and every metric is in your dashboard — real time.

SDK examples

Integrate in minutes.

First-class SDKs for every major language. Or use the HTTP API from anywhere.

ts 25 lines
import { relay } from "@relay/sdk";

const generateReport = relay.defineJob({
  id: "generate-report",
  queue: "analytics",
  retries: 3,
  timeout: "5m",
  async handler(payload: { reportId: string; format: "pdf" | "csv" }) {
    const data = await fetchReportData(payload.reportId);
    const file = await renderReport(data, payload.format);

    await storage.upload(`reports/${payload.reportId}.${payload.format}`, file);
    await notify.email({ template: "report-ready", data: { reportId } });
  },
});

// Enqueue from your Express/Next.js API
app.post("/reports", async (req, res) => {
  const job = await generateReport.enqueue({
    reportId: req.body.id,
    format: "pdf",
  });

  res.json({ jobId: job.id, status: "queued" });
});

Integrates with your stack

Performance numbers

< 50ms

Median cold-start

P50 job handler boot time across all regions

40+

Edge regions

Jobs route to the nearest healthy worker automatically

99.99%

Uptime SLA

Enterprise plan — measured over rolling 30 days

1B+

Jobs processed

Across all beta customers in the past 90 days

What teams say

Developers ship faster with RELAY.

“We moved our email and webhook delivery from a hand-rolled SQS setup to RELAY in one afternoon. The DX is on another level — I wrote less code than the IAM policy I deleted.”

Photo of Priya Narayan
Priya Narayan

Staff Engineer · Cortex

“The dead-letter queue alone is worth it. Before RELAY we'd get paged at 3am because a failed job silently dropped. Now every failure is captured, inspectable, and I can replay it from my phone.”

Photo of Marcus Howell
Marcus Howell

Platform Lead · Fielder

“We process 40 million background jobs a day. RELAY handles it without a single ops ticket. Our infra team spent two weeks building the old system. With RELAY, two engineers got the same throughput in a day.”

Photo of Li Wei
Li Wei

CTO · Stackform

Pricing

Start free. Scale when you need to.

No credit card for Hobby. Straightforward pricing as you grow.

Hobby

For side projects and early experiments. No credit card required.

Free
  • 100,000 job executions / month
  • 3 queues
  • 5 edge regions
  • 72-hour log retention
  • Community support
  • + 1 more features
Start building
Most popular

Pro

For growing teams that need reliability, observability, and scale.

$49 / month
  • 10M job executions / month
  • Unlimited queues
  • 40+ edge regions
  • 30-day log retention
  • Priority email support
  • + 4 more features
Start free trial

Enterprise

For teams with compliance, SLA, and volume requirements.

Custom
  • Unlimited executions
  • Unlimited queues
  • Private edge regions
  • 1-year log retention
  • Dedicated Slack support & SLA
  • + 5 more features
Contact sales

RELAY vs building it yourself

estimated savings / month
What you're avoiding DIY est. cost With RELAY Pro You save
SQS + Lambda infra setup ~8 hrs eng 0 hrs $800+
DLQ monitoring + alerts ~4 hrs / mo Built in $400+
Multi-region job routing $200+ / mo Included $200+
Ops overhead (on-call, fixes) ~6 hrs / mo 0 hrs $600+
Total monthly savings $49 / mo $2,000+

Engineering time estimated at $100/hr. Infrastructure costs vary. RELAY Pro at $49/mo.

FAQ

Common questions, straight answers.

Private Beta

Ship faster.
Sleep better.

Join 1,200+ developers on the RELAY waitlist. No credit card. Early access starts Q3 2026.

No spam. Unsubscribe at any time.