Relay

Reliable background jobs, without the infrastructure.

Relay is a message queue API for serverless teams. Publish one HTTP request — we handle delivery, retries, scheduling, fan-out, and dead-letter queues. No Redis, no workers, no ops overhead.

10k free messages / month No credit card 99.99% SLA on Pro
Publish
publish.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
import { Client } from '@anlyonhq/relay';
 
const client = new Client({
apiKey: process.env.ANLYON_API_KEY!,
});
 
const result = await client.messages.publish({
url: 'https://api.yourapp.com/hook',
method: 'POST',
body: { event: 'order.created', orderId: 'ord_789' },
});
 
console.log(`queued: ${result.data.messageId}`);
●mainTypeScriptLn 13, Col 1
TERMINAL
liveexit 0

Works with every serverless platform

Vercel Cloudflare Workers AWS Lambda Netlify Railway Deno Deploy

Three calls.
Everything else is handled.

From keyless boilerplate to delivered messages in under two minutes. No Redis, no worker runtime, no cron daemon to keep alive.

01

Install the SDK

TypeScript and Python ship as first-class SDKs. Every other language works with the REST API — if it can make HTTP requests, it works with Relay.

$npm install @anlyonhq/relay
02

Publish a message

One HTTP call. Specify a URL, body, optional delay and retry policy. Relay accepts it and returns a message ID — all under 40ms.

$relay.publish({ url, body })
03

We handle delivery

Relay delivers, retries with exponential backoff, and moves exhausted messages to the DLQ. Every attempt is traceable in your dashboard.

$→ 4 attempts · delivered

Built to handle the work
that slows teams down.

Every Relay primitive replaces a piece of infrastructure you'd otherwise have to run, monitor, and explain at postmortems.

Never lose a message.

Automatic exponential backoff with configurable limits. When attempts are exhausted, messages land in your Dead Letter Queue — with full request/response history to debug and replay in one click.

  • Exponential backoff
  • Manual + auto replay
  • Full payload history
Get started
Delivery attempts msg_9f3a
#1
12ms
#2
2s
#3
8s
#4
24s
Delivered ✓ 200 OK

Cron & delay scheduling, drift-free.

Recurring cron jobs or one-off delays without running workers. Sub-second precision, globally consistent, no servers to patch at 2am.

  • Cron expressions
  • One-off delays
  • Timezone aware
Get started
schedule.ts
// every weekday at 9am UTC
await relay.schedule({
  url: "/jobs/digest",
  cron: "0 9 * * 1-5",
  timezone: "Europe/London"
})
next run · 14h 22m

Durable multi-step workflows.

Chain steps, sleep, call APIs, wait for events. Each step persists independently — if step 7 fails, only step 7 retries. Completed steps never re-run.

  • Per-step persistence
  • Sleep & wait-for-event
  • Deterministic replay
Get started
wf_checkout running
charge.card done
sleep 2m done
fulfil.order done
send.receipt running
notify.warehouse pending

Real-time delivery, visible.

Search every message, inspect payloads, trace attempts, and stream live events. Stop grepping logs — point and click.

  • Live event feed
  • Full-text search
  • Attempt tracing
Get started
Delivery feed
live
payment.captured 38ms
invoice.created 41ms
webhook.retry —
email.queued 29ms
user.welcome 52ms

Shipped recently,
changelog in public.

Every release, every fix, every new region — logged honestly so you know what's running in production.

Full changelog
v2.1.0
Changed

Improved Retry Logic and Performance Enhancements

We've enhanced our retry mechanism and improved overall system performance with better exponential backoff and reduced latency.

  • Enhanced Retry Logic — Improved exponential backoff algorithm for better reliability and faster recovery from transient failures
  • Performance — Reduced message delivery latency by 30% for high-throughput workloads
  • Monitoring — Added real-time queue depth metrics to analytics dashboard
v2.0.0
Added

New Global Regions and Edge Support

QueueSaaS now supports 8 global regions with edge computing capabilities for ultra-low latency message delivery worldwide.

  • 8 New Global Regions — Deploy queues closer to your users for reduced latency
  • US East (Virginia)
  • US West (Oregon)
v1.9.5
Security

Security Enhancements and Bug Fixes

Important security updates including TLS 1.3 upgrade, enhanced authentication, and critical bug fixes in this release.

  • Enhanced Authentication — Improved API key validation and automatic token rotation
  • Rate Limiting — Added per-IP and per-workspace rate limiting to prevent abuse
  • TLS 1.3 — Upgraded all connections to TLS 1.3 for enhanced encryption

Pay-as-you-go,
for any team size.

Start free. Pay only for the messages you send past the free tier — no seats, no minimums, no annual contracts.

Hobby

For side projects & early prototypes.

$0 / month
Get started free
  • 10,000 messages / month
  • Up to 5 schedules & cron jobs
  • Up to 5 durable workflows
  • Up to 5 URL groups
  • 7-day analytics history
  • Community support

Custom

For high-volume + regulated workloads.

Let's talk
Talk to sales
  • Custom volume pricing
  • Dedicated infrastructure
  • SSO + audit logs
  • Custom SLAs & DPA
  • Dedicated Slack channel
  • Onboarding engineer

No credit card required · Free tier resets every month · Cancel any time

Questions,
answered.

Everything you need to know before you ship. Don't see yours?

Email support
How is Relay different from QStash or SQS?
Relay is HTTP-native — no polling, no SDK lock-in. It bundles cron scheduling, URL group fan-out, durable multi-step workflows, and full observability into one API. QStash is close but lacks durable workflows. SQS requires long-polling workers, doesn't support scheduling out of the box, and has heavy operational overhead.
Do I need Redis or any infrastructure?
No. Relay is fully managed. You make HTTP API calls, we store the queue, handle delivery, retries, and scaling. No Redis, no broker, no workers to run or patch.
Will it work with Vercel / Cloudflare / AWS Lambda?
Yes — Relay was designed for serverless. Since delivery is HTTP-based, your handler function just receives a POST request. It works with any platform that can respond to HTTP: Vercel, Netlify, Cloudflare Workers, AWS Lambda, Railway, Deno Deploy, and more.
What happens if my endpoint is down?
Relay automatically retries with exponential backoff. After all attempts are exhausted, the message moves to your Dead Letter Queue where you can review the full request/response history and replay it in one click.
What are durable workflows?
Workflows let you define multi-step background jobs where each step is persisted independently. Steps can include code execution, HTTP calls, sleep/delay, and event coordination. If step 3 of 10 fails, only step 3 retries — completed steps are never re-executed.
How secure is my data?
All data is encrypted in transit via TLS 1.3 and at rest with AES-256. Webhook deliveries support HMAC-SHA256 signing for endpoint verification. API keys are scoped and revocable, and we support idempotency keys to prevent duplicate processing.
Can I use any programming language?
Yes. TypeScript and Python ship as first-party SDKs. For everything else — Go, Ruby, Java, PHP, Rust — the REST API works with any HTTP library. All you need is the ability to make an HTTP POST request.

Deliver background jobs
without the 2am pages.

Your first 10,000 messages are on us. Every month. No credit card, no ops work, no Redis to provision — just an API key and three lines of code.

10k free / month No credit card Cancel anytime 99.99% SLA on Pro