About OpenPay
OpenPay is a self-hosted, open-source payment infrastructure that gives you full control over your payments stack — without vendor lock-in, hidden fees, or platform taxes.
Our Mission
We believe payment infrastructure should be transparent, affordable, and entirely under your control. OpenPay gives you the payments, billing, fraud, and invoicing features of a commercial platform — self-hosted, so you own the stack and can choose or switch processors whenever you want. OpenPay adds no platform fees on top of your processor's charges; you still pay your processor (Stripe, Adyen, Paystack, etc.) and the cost of running your own infrastructure.
What We're Building
A complete financial platform that includes payment processing (via Hyperswitch), subscription billing and invoicing (Kill Bill), real-time fraud detection (Tazama), and event-driven architecture (NATS JetStream) — all connected through a modern merchant dashboard. We connect to Stripe, Paystack, Adyen, and 100+ other processors, so you're never locked into a single provider.
Who It's For
Why OpenPay?
Self-Hosted
Deploy on your own infrastructure. Your data never leaves your servers. No third-party has access to your transaction data.
Zero Platform Fees
OpenPay charges no platform fees — no per-transaction fees, no percentage cuts. You'll still pay your payment processor's processing fees and your own infrastructure and operational costs.
100% Open Source
GitHub repository, MIT licensed. Audit it, modify it, contribute to it. The platform belongs to the community.
Production Ready
Built on battle-tested components: Hyperswitch (100+ connectors), Kill Bill, NATS JetStream, and Tazama fraud detection.
Tech Stack
| Component | Technology | Purpose |
|---|---|---|
| Payment Orchestration | Hyperswitch (Rust) | Route payments to 100+ processors, handle retries |
| Subscription Billing | Kill Bill (Java) | Product catalog, plans, invoicing, dunning |
| Event Bus | NATS JetStream | Async event streaming between services |
| Fraud Detection | Tazama (Go) | Rule evaluation, risk scoring, case management |
| Reverse Proxy | Traefik v2.10 | TLS termination, rate limiting, routing |
| Database | PostgreSQL 15 | Persistent storage for all services |
| Cache | Redis 7 | Session cache, rate limiting |
| Dashboard | Next.js 15 + TypeScript | Merchant dashboard, landing page, docs |
| Authentication | Kinde | Login, register, RBAC, JWT sessions |
What You Can Build
Accept Payments Globally
Process card payments, bank transfers, and local payment methods worldwide. Connect to any processor — no routing fees, no markup.
Manage Subscriptions
Create products, pricing tiers, and handle the full subscription lifecycle — trials, upgrades, downgrades, cancellations, and invoicing.
Detect & Prevent Fraud
Build custom fraud rules (amount thresholds, velocity checks, geo-blocking) and review flagged transactions with built-in case management.
Event-Driven Integrations
Every payment event flows through NATS JetStream. Build reactive workflows, trigger webhooks, and sync data to external systems without polling.
External Resources
Hyperswitch Documentation
Official Hyperswitch docs — payment routing, connector configuration, webhooks
Kill Bill Documentation
Subscription billing engine docs — product catalog, plans, invoicing API
NATS Documentation
NATS JetStream guide — streams, consumers, message delivery guarantees
Tazama Documentation
Tazama fraud detection — rule authoring, evaluation engine, case management
CloudEvents Specification
Standard event format used across all OpenPay services
Stripe vs OpenPay Comparison
Detailed feature-by-feature pricing comparison on our landing page
Next Steps
Built by the community, for the community
OpenPay is MIT licensed and open to everyone. Star us on GitHub, join the discussions, and help us build the future of open payment infrastructure.