A lightweight, self-hosted webhook gateway for African Fintech developers.
HookLens is a dedicated webhook infrastructure designed to receive, verify, and reliably process webhook events from major payment providers.
The goal of this project is to provide a unified, consistent interface for handling incoming webhooks while keeping provider-specific logic completely isolated. This makes it effortless to support additional providers in the future without muddying your core application logic.
- 🇳🇬 Paystack
- 🌍 Flutterwave
- 🇳🇬 Monnify
- (More coming soon)
- Receive incoming webhook requests
- Parse request payloads securely
- Basic request validation
- Structured, modular project architecture
- Advanced event parsing
- Automatic provider detection
- Intelligent event routing
- Modular service architecture
- Provider-specific HMAC signature verification
- Shared verification interface
- Extensible verifier architecture
- Constant-time signature comparison to mitigate timing attacks
- Unit tests for verification logic
- Webhook delivery management (BullMQ)
- Automatic exponential backoff retry mechanism
- Configurable retry policies
- Failed event handling & dead-letter queues
- Delivery status tracking
- Beautiful dark-mode Landing page
- Built-in Waitlist collection
- Webhook monitoring dashboard
- Delivery history & payload inspection
- Provider management interface
- Project statistics and AI failure diagnostics
HookLens follows a highly modular architecture where each responsibility is isolated into its own pipeline component
Each payment provider implements its own verification logic while conforming to a shared TypeScript interface. This allows new providers to be added effortlessly with minimal changes to the core codebase.
Processing webhooks involves sensitive financial data. HookLens is built with security as a primary focus:
- Strict Signature Verification: All payloads are validated using the provider's official signing secrets.
- Timing Attack Mitigation: Constant-time signature comparison (
crypto.timingSafeEqual) is used exclusively. - Provider Isolation: Verification logic is strictly isolated per provider.
- Pre-validation: Malformed or unsigned events are dropped before they ever reach the event processing queue.
- Language: TypeScript
- Backend: Node.js, Express
- Frontend / Dashboard: Next.js (App Router), React 19, Tailwind CSS
- Testing: Jest
- Security: Node Native Crypto (HMAC Signature Verification)
Webhook systems power the modern internet, especially in fintech (payment processing, recurring billing, ledger updates).
This project is an exploration of the engineering challenges involved in building a production-oriented webhook platform, including:
- Guaranteeing reliable event delivery in distributed systems.
- Handling downstream server outages with smart retry mechanisms.
- Normalizing disparate API shapes from multiple third-party providers.
- Providing operational visibility through a clean, native dashboard.
This project is available under the MIT License. Free to use, self-host, and modify forever.