One persistent public URL for Stripe, M-Pesa, MercadoPago, WhatsApp, GitHub and any other provider. We store every payload, retry with backoff and forward it signed to your server — or straight to your laptop through a tiny local agent.
Ingest, durability, delivery and observability — without running your own queue, tunnel or public server.
Every payload is persisted before we answer 202. Retries for up to 30 days, a full attempt log and one-click replay from the dashboard.
No public IP, dynamic address, office NAT? relay-agent for Linux, macOS and Windows dials out over TLS and receives your webhooks locally. Events wait while it is offline.
Every forwarded request carries X-Relay-Signature (HMAC-SHA256). Optionally we check the provider's own signature — Stripe, GitHub — before storing anything.
Email, Slack, Discord, Microsoft Teams or a webhook of your own when deliveries are exhausted or the failure rate climbs. One notification when it opens, one when it resolves.
Up to 20 destinations per endpoint, each with JSON filters, header and method rewrite, throttling and its own retry profile. Synchronous provider responses on paid plans.
Two-factor sign-in, destination ownership verification, anti-SSRF on every hop, audit trail, data export and deletion. Stripe billing with VAT invoices.
Ingest answers in milliseconds; delivery happens asynchronously with retries at 1 m, 5 m, 15 m, 1 h, 6 h, 24 h and onward, depending on the destination's retry profile.
You get https://relays.as2expert.com/e/rt_…. Paste it into your provider.
Raw body and headers are persisted; the provider gets a 202 in under 50 ms.
To your HTTPS URL or your local agent, signed, with retries and a full attempt log.
Payload viewer, filters per destination, alerts when a delivery is exhausted.
A single small program for Linux, macOS and Windows, open source under Apache-2.0. It authenticates with the endpoint's agent key — never with the public URL token — keeps an outbound TLS connection to our gateway and replays each webhook to a URL on your machine or LAN.
$ curl -fsSL https://raw.githubusercontent.com/as2expert/relay-agent/main/install.sh | sh
$ relay-agent --key rak_… --forward http://localhost:3000/hooks
INFO relay-agent 0.1.1 starting gateway=wss://relays.as2expert.com/agent
INFO connected to gateway endpoint=Stripe production
INFO forwarded locally delivery_id=5f3a… method=POST http_status=200 latency_ms=12
INFO forwarded locally delivery_id=8c21… method=POST http_status=200 latency_ms=9
WARN local app unreachable, reported to relay delivery_id=9d07… error=connection refused
INFO forwarded locally delivery_id=9d07… method=POST http_status=200 latency_ms=14 attempt=2
Every account starts on Free; upgrade from the dashboard. Payments by Stripe, VAT numbers accepted, invoices issued automatically. Cancel anytime.
Side projects and trying things out.
A shop or a SaaS with one or two integrations.
Teams that depend on webhooks every day.
High volume, long retention and an SLA.
Yes. We forward the raw body byte-for-byte and the original headers (except hop-by-hop ones), so Stripe, GitHub or Shopify signatures still verify at your end. We add our own X-Relay-Signature on top.
Deliveries are retried with exponential backoff according to the destination's profile: about 30 minutes, 4 days, 7 days or 30 days depending on your plan. When a delivery is exhausted we notify your alert channels, and you can replay the event from the dashboard at any time within the retention window.
So nobody can point a relay at a server they do not own. Before an HTTPS destination receives anything, it must echo a one-time token back, or you add a relay-verify TXT record on its domain. Agent destinations are yours by construction and need no verification.
No. Every hop, including redirects, is resolved and checked against private, loopback, link-local, CGNAT and cloud-metadata ranges, and the connection is pinned to the validated IP. Use the local agent to deliver inside your network.
On AS2Expert infrastructure in the European Union, with hourly snapshots and a weekly restore drill. Retention is per plan; payloads are deleted afterwards. You can export or delete your whole account from the dashboard.
Create an endpoint, paste the URL, and see the first webhook land in the dashboard. Free plan, no card.