EchoRelay: Reliable HTTP delivery with retries, fan-out, and more

miclag1 pts0 comments

EchoRelay — HTTP relay for webhooks, APIs & events

Log in<br>We carry the traffic. You ship.

The universal relay

Connect everything.<br>Ship faster.

We carry the traffic. You ship.

The layer between your callers and every service: gateway, webhook broker, and AI-agent tool in one.

Start free<br>Learn more about EchoRelay

No credit card required.

Made for you.

If HTTP traffic is your product, the relay is your middle layer.

You ship models

AI builders

Stream model responses through one endpoint, and let your agent configure it.

See how

You resell APIs

API resellers

Your endpoint up front, with keys, limits and validation in the middle.

See how

You ingest events

Webhook-heavy teams

One event in, every consumer out: retried, replayable, nothing lost.

See how

Explore use cases

One call. Every service.

A real request, end to end. You POST once, we fan it out.

curl -X POST https://your-project.echorelay.cloud/v1/your-endpoint \<br>-H "Authorization: Bearer er_live_YOUR_KEY" \<br>-H "Content-Type: application/json" \<br>-d '{"event":"order.placed","orderId":"ord_42"}'

# EchoRelay validates, queues, fans out, retries. You get:<br>HTTP/1.1 202 Accepted<br>"status": "queued",<br>"requestId": "…"

Read the docs

What you can build

EchoRelay is the target your callers hit and the source that calls your services.<br>Pick a shape →

Fan-out<br>One request, every target.

See how

Streaming<br>Responses stream back, chunk by chunk.

See how

Mirror<br>Send it live, keep a shadow copy.

See how

Origin shield<br>Hide your servers behind us.

See how

Explore relay shapes

One call in, fanned out.

You call once, we authenticate, validate, bill, and fan it out to every service.<br>The relay runs in reverse, too.

Caller<br>Your app sends one request.

EchoRelay<br>Authenticated, validated, billed, then fanned out.

Queue<br>Durable queue. At-least-once, always.

Delivery<br>Delivered with retries; nothing lost.

Your targets<br>Every service you connect.

See fan-out docs

Always PROTECTED

Everything that reaches you went through us first.

Your servers, invisible.<br>Clients connect to us, never to you. Your real infrastructure stays completely off the map.

Flood protection, built in.<br>We stand between you and the internet. Threats hit us first. And stop there.

Confidential by design.<br>We can't read your stored secrets. Your keys, encrypted. Bring your own, we see nothing, keep nothing.

Nothing slips through.<br>Payloads validated against your schema. Malformed or malicious data stops here.

See security spec

Built for AI.

Your agent configures EchoRelay. You ship.

One endpoint, the whole control plane.

A single MCP server (Model Context Protocol: how AI agents call tools) exposes your API versions, endpoints, targets, billing.

Drops into any agent.

Claude, ChatGPT, Cursor, OpenCode. Bearer token in, project on rails.

No forms. No clicks.

Describe the integration in plain English. Your agent writes the config.

POST https://mcp.echorelay.dev<br>"jsonrpc": "2.0", "id": 1,<br>"method": "tools/call",<br>"params": {<br>"name": "create_endpoint",<br>"arguments": {<br>"lineKey": "v1",<br>"endpoint": {<br>"name": "Webhook",<br>"url": "/notify",<br>"httpMethod": "POST",<br>"targets": [{<br>"name": "Slack",<br>"targetUrl": "https://hooks.slack.com/..."<br>}]

View MCP docs

Built for AI.

Your agent configures EchoRelay. You ship.

One endpoint, the whole control plane.

A single MCP server (Model Context Protocol: how AI agents call tools) exposes your API versions, endpoints, targets, billing.

Drops into any agent.

Claude, ChatGPT, Cursor, OpenCode. Bearer token in, project on rails.

No forms. No clicks.

Describe the integration in plain English. Your agent writes the config.

Your agent does this:

POST https://mcp.echorelay.dev<br>"jsonrpc": "2.0", "id": 1,<br>"method": "tools/call",<br>"params": {<br>"name": "create_endpoint",<br>"arguments": {<br>"lineKey": "v1",<br>"endpoint": {<br>"name": "Webhook",<br>"url": "/notify",<br>"httpMethod": "POST",<br>"targets": [{<br>"name": "Slack",<br>"targetUrl": "https://hooks.slack.com/..."<br>}]

View MCP docs

Always ON.

Our status page is public and probes production around the clock. Watch us run.

r.ok ? r.json() : Promise.reject(new Error('HTTP ' + r.status)))<br>.then(d => {<br>let up = 0, total = 0;<br>d.components.forEach(c => (c.history || []).forEach(b => { up += b.up_count; total += b.total_count; }));<br>if (total > 0) {<br>uptime = (Math.round((up / total) * 10000) / 100).toFixed(2);<br>days = ((d.components[0] || {}).history || []).length;<br>operational = d.overall === 'operational';<br>components = d.components.map(c => ({ name: c.name, status: c.status, uptime24h: c.uptime_24h }));<br>})<br>.catch(e => console.error('status API unavailable:', e))"

uptime, last days. Measured, not promised.

All systems operational

0">

% · 24 h

Full history

Take it with you.

The status page in your pocket: live health for every component, wherever you are.

View status page

Plans & Pricing

Best price. No surprises.

Just<br>€0<br>forever

Prices exclude VAT. Applicable taxes are calculated at checkout based on your...

echorelay agent status name endpoint call

Related Articles