Webhook relay · by AS2Expert

Webhooks, delivered. Even behind CGNAT.

A 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.

No credit card. 10,000 events a month on the free plan. Hosted in the EU.

01

Never lose a webhook

Every payload is persisted before we acknowledge it. Inspect headers and body, follow every delivery attempt and replay from the dashboard.

02

Local agent for CGNAT

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 in the queue while it is offline.

03

Signed and verified

Every forwarded request carries X-Relay-Signature (HMAC-SHA256). Optionally we verify the provider's own signature (Stripe, GitHub) before storing anything.

How it works

Ingest answers in milliseconds; delivery happens asynchronously with retries at 1 m, 5 m, 15 m, 1 h, 6 h and 24 h.

STEP 1

Create an endpoint

You get https://relays.as2expert.com/e/rt_…. Paste it into your provider.

STEP 2

We store & queue

Raw body and headers are persisted; the provider gets a 202 in under 50 ms.

STEP 3

We deliver

To your HTTPS URL or to your local agent, signed, with retries and a full attempt log.

STEP 4

You inspect & replay

Payload viewer, filters per destination, alerts when a delivery is exhausted.

The local agent

A single small program for Linux, macOS and Windows, open source (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.

  • Reconnects automatically; nothing is lost while it is offline.
  • Reports the real HTTP result of your local app, so the attempt log is honest.
  • Runs as a service: systemd, launchd or Windows Task Scheduler examples included.
  • Rotate the key from the dashboard at any time.
Agent documentation All releases & checksums
$ 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 starting gateway=wss://relays.as2expert.com/agent
INFO connected to gateway
INFO forwarded locally delivery_id=… method=POST http_status=200 latency_ms=12

Pricing

Simple monthly plans. Paid plans and invoicing are being enabled; every account starts on Free.

Free

0 €/month
  • 10,000 events / month
  • 2 endpoints
  • 7-day retention
  • Local agent
Start free

Starter

3 €/month
  • 100,000 events / month
  • 10 endpoints
  • 30-day retention
  • Local agent
Start free

Pro

9 €/month
  • 1,000,000 events / month
  • 50 endpoints
  • 90-day retention
  • Priority support
Start free

Business

29 €/month
  • 10,000,000 events / month
  • Unlimited endpoints
  • 1-year retention
  • SLA
Contact us

Questions

Is the provider's signature preserved?

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.

What happens when my server is down?

Deliveries are retried with exponential backoff for up to 10 attempts (about 36 hours). If they are all exhausted, we can POST an alert to a URL of your choice, and you can replay the event later.

Can the relay reach private addresses?

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.

Where is the data hosted?

On AS2Expert infrastructure in the European Union, with hourly snapshots and a weekly restore drill. Retention is per plan; payloads are deleted afterwards.