Core workflow
Stop changing webhook URLs every time your local setup changes.
Create one provider URL
Give Stripe, GitHub, Prodigi, Resend, or any provider a stable Tofu hook URL.
Point it at local code
Set a localhost target and change it whenever your app moves without touching the provider.
Watch delivery live
Keep `tofu watch` open for received events, target responses, timings, and failures.
Replay the exact request
Send the retained request body and headers back through targets while the payload is available.
Pricing
Start free. Upgrade when you need longer replay windows, more hooks, and team targets.
Free
$0/month
One workspace, 3 hooks, 1 target per hook, 500 events a month, 24h payload retention, 7 days of event history, replay, and live watch.
Pro
Built independently$9.99/month
100 hooks, 5 targets per hook, 50k events a month, 7 days of payload retention, 30 days of event history, replay, live watch, and up to 4 team members.
Ready when you are
Stop pasting ngrok URLs into Stripe.
Get one that stays put.
Tofu is in private beta. Request access and we'll get you a stable hook URL, live watch, and replay in a few minutes.
Built for development. Payloads expire automatically. No credit card.