Webhook debugger for African payment providers — inspect, replay, and forward Paystack, Flutterwave & Mono events in real time
# Hookdash
Webhook debugging platform for payment and on-chain event providers. Inspect, replay, transform, and forward events in real time.
## What it does
Hookdash generates a unique ingress URL per workspace. Point your provider's webhook settings at it and every incoming event is:
- **Captured** — headers, raw body, signature, IP, everything
- **Verified** — provider-specific signature validation (see supported providers below)
- **Transformed** — configurable rules to mutate or reshape the payload before forwarding
- **Forwarded** — relayed to your local or staging server via a BullMQ queue with dead-letter capture for failed deliveries
- **Streamed** — pushed to the dashboard over WebSocket in real time
- **Alerted** — Slack, Discord, or Email notifications on matching events
No more `ngrok` + `console.log` guesswork.
## Supported providers
| Provider | Signature verification |
|----------|----------------------|
| Paystack | HMAC-SHA512 |
| Flutterwave | Secret hash header |
| Mono | HMAC-SHA512 |
| Stripe | HMAC-SHA256 with timestamp tolerance + replay attack prevention |
| Bags.fm | HMAC-SHA256 (WebSocket stream for Solana token launch events) |
| Custom | Skipped |
## Architecture
```
┌──────────────┐
Provider ──POST──▶ │ Ingress │──▶ PostgreSQL (events)
(Paystack, │ /in/:slug │──▶ BullMQ (forward queue)
Flutterwave, └──────────────┘──▶ WebSocket (live push)
Mono, Stripe, │
Bags.fm, etc.) ▼
┌──────────────┐
│ Forward │──POST──▶ Your server
│ Worker │ (with dead-letter queue)
└──────────────┘
```
```
hookdash/
├── api/ NestJS 11 backend
├── web/ Next.js 16 frontend
├── sdk/ TypeScript SDK
├── cli/ CLI tool
└── docker-compose.yml
```
## Features
- **Multi-provider signature verification** — each provider's exact spec, including Stripe's timestamp + replay attack prevention
- **Bags.fm integration** — WebSocket stream for Solana token launch events, fi …