ricochet
Early access · Inbound webhooks for developers

Webhooks that bounce back.

Point any provider at a Ricochet URL. We verify the sender, store every event and deliver it to your app, then replay it to production or to your laptop whenever you need it again.

Try it now

A public URL that forwards to your machine, in a minute. No account needed.

  1. curl -fsSL https://getricochet.dev/install.sh | sh
  2. ricochet listen 3000

Preview: URLs expire after 8 hours, and events are relayed live, not stored. Linux, macOS and Windows (Git Bash). Download a build

Get dashboard access

Stored events, replay and retries come with the dashboard, in a private alpha. Join the waitlist for an invite.

Ricochet is in early access. We'll email you when your invite is ready, and now and then about our progress. By joining you accept the waitlist terms; see our privacy policy.

Providers such as Stripe and GitHub send events to Ricochet. It verifies, stores and replays them, to production or to localhost.

SEE IT WORK

Catch it once. Use it forever.

Eventssrc_stripe
200payment_intent.succeeded2m
200invoice.paidReplaying
200customer.created9m
200charge.refunded14m
200checkout.session.completed21m
terminal
$ ricochet listen --forward localhost:3000/webhooks
connected · src_stripe → localhost:3000
→ invoice.paid  evt_3Qx9  500 Internal Server Error
# fix the handler, save, then…
$ ricochet replay evt_3Qx9
→ invoice.paid  evt_3Qx9  200 OK  replay #1 · 41 ms
The event was stored, so you can replay it as often as you need.
WHAT YOU GET

The same URL you tested with is the one you ship.

At launch

Verify every sender

Signature presets for Stripe and GitHub, generic HMAC for any other provider, IP allowlists and API keys. Stale and duplicate requests are rejected. More presets on request.

At launch

Never lose an event

Every event is stored before we acknowledge it. Retries with backoff, circuit breakers and a dead-letter queue handle the rest.

At launch

Replay anything

Re-send one event or thousands, filtered by time, source or status, to the original destination or a new one.

On the roadmap

Deliver beyond HTTP

Email, Slack and Teams, SQS, Kafka and Pub/Sub, or scheduled JSON and CSV exports to S3, available on request: each is built when a customer needs it. HTTP delivery ships at launch.

At launch

Inspect everything

Headers, body, signature result and every delivery attempt, with its response and latency.

At launch

Dev to production

Separate dev, staging and production environments. Promote a tested setup in one step.

WHY NOT A TUNNEL?

A tunnel forwards. Ricochet keeps.

A live tunnel

  • Forwards traffic live, while the session is open.
  • The history is tied to the session.

Ricochet

  • A stable URL: it stays the same across restarts, so the provider never needs reconfiguring.
  • Every event is stored before it is acknowledged.
  • Replay any event to your machine at any time, even after the CLI was closed.
  • The CLI connects outbound, so no port is exposed on your machine.
  • Opt in, and events that arrive while you are offline are delivered when you reconnect.
THE INNER LOOP

Build your handler from the terminal.

Test without the provider. Fire realistic sample events, edit a payload before replaying, or simulate a timeout.

Know why it failed. The signature debugger names the cause: wrong secret, clock skew or a modified body.

One binary. The CLI is a single file, with no runtime to install.

Every command in the CLI reference →
terminal
# sign in once
$ ricochet login

# stream live events to your app
$ ricochet listen --forward localhost:3000/webhooks

# send yesterday's failures again
$ ricochet replay --status failed --since 24h

# fire a sample event
$ ricochet trigger stripe invoice.paid
FAQ

Questions, answered.

What is Ricochet?

An inbound webhook gateway. Providers such as Stripe and GitHub send events to a URL Ricochet hosts; it verifies the sender, stores every event and delivers it to your app over HTTP. Any stored event can be replayed, to production or to your laptop through the CLI.

When can I use it?

The CLI preview works today, with no account: install it and run ricochet listen 3000 for a public URL that forwards to your machine. The dashboard has no date yet. Ricochet is in early access: invites go out to the waitlist in batches for a private alpha, and public sign-up opens after that. Join the waitlist and we'll email you when your invite is ready.

How much will it cost?

Prices and free-tier limits aren't set yet. The model is a free tier for development and paid production environments. The numbers will be decided from what alpha users actually send, and published before public sign-up opens.

Where is my data stored?

Events are stored in Postgres, encrypted at rest with a separate key for each project, and deleted once they pass your project's retention period. The hosting region isn't decided yet. Pinning a project's events to the EU or the US is on the roadmap.

How is it different from Hookdeck or Svix?

They also receive, queue and deliver webhooks. Ricochet starts from the developer loop: the stable URL you test with on your laptop is the one you ship, any stored event replays to your machine from the CLI, and you can fire signed sample events without waiting on the provider.

Free while you build. Pay when you ship.

Free-tier limits and prices aren't set yet. We'll publish them before public sign-up opens.