A stable relay between providers and localhost
Tofu separates the provider-facing URL from your local target, so webhook setup stays fixed while your development environment changes.
Provider calls Tofu
Use a stable hook URL in Stripe, GitHub, or another webhook provider.
Tofu stores the event
Tofu stores the request body and headers temporarily so you can replay the event. Event metadata stays visible longer.
Tofu forwards to targets
Targets can point at localhost, staging, a teammate, or a short-lived CI environment.
You watch and replay
Stream incoming events, then replay while the payload is still available.
One URL per provider, many targets
Each hook owns a stable URL that providers call. Targets are the outbound side: localhost, a teammate's tunnel, staging, or a short-lived CI environment can all receive the same event.
Provider always sees 200 OK
Tofu acknowledges the provider immediately and forwards in the background, so a slow local handler never causes the provider to retry on its own schedule.