A URL that stays put
Paste it into Stripe once. It survives restarts, reboots and new laptops, so you stop updating provider dashboards.
One private URL that never changes. Every request is stored, forwarded live to localhost, and ready to edit and replay.
Free plan, no card. Your private URL is ready the moment you sign in.{ "id": "evt_1Q8xZ2Lk0aPmR3sT", "object": "event", "type": "invoice.payment_succeeded", "livemode": false, "data": { "object": { "amount_paid": 900, "currency": "usd", "status": "paid" } } }
Built for the loop you actually run: trigger, fail, fix, try again. Without waiting for the provider to fire the event again.
Paste it into Stripe once. It survives restarts, reboots and new laptops, so you stop updating provider dashboards.
wl listen 3000 connects out over a WebSocket, so it works behind NAT and firewalls. Requests hit your server as they arrive.
Change a field, fix a header, send it again. Every request stays in history for as long as your plan keeps it.
If your laptop is closed, requests are stored and marked not sent. Replay them when you’re back.
GitHub or an email link. Your private URL is created right away.
The CLI forwards each request to your local server.
Headers, body and your app’s response, side by side.
Pay yearly and get two months free.
Try it on a side project.
For one developer shipping integrations.
For small teams and many providers.
Everyone starts on Free. Paid plans open when checkout goes live.