Open-Source • High-Performance • Success Rate Based
Route payments intelligently. Maximize success rates. Zero vendor lock-in.
🚀 Quick Start • 📚 Documentation • 🏗 Architecture • 🤝 Contributing
Decision Engine is a high-performance payment gateway router built in Rust that intelligently selects the optimal payment gateway for each transaction — in real-time.
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ Payment │────▶│ Decision Engine │────▶│ Best │
│ Request │ │ (Fast routing) │ │ Gateway │
└─────────────┘ └──────────────────┘ └─────────────┘
| 💥 The Problem | ✅ Our Solution |
|---|---|
| Payment failures from gateway downtime | Real-time health monitoring with automatic failover |
| Suboptimal routing = lost revenue | SR-based routing based on success rates & latency |
| Vendor lock-in limits flexibility | Modular design — works with any orchestrator |
| Complex rule management | Flexible policies — rule-based + SR-based hybrid |
|
|
| Metric | Value |
|---|---|
| Routing Decision Time | Low latency |
| Memory Footprint | ~50MB |
| Concurrent Requests | 100K+ |
| Uptime SLA Support | 99.99% |
# Clone and run
git clone https://github.com/juspay/decision-engine.git
cd decision-engine
docker compose --profile postgres-ghcr up -d
# That's it! API ready at http://localhost:8080# Prerequisites: Rust 1.85+, MySQL/PostgreSQL, Redis
git clone https://github.com/juspay/decision-engine.git
cd decision-engine
cargo build --release
# Configure
cp config.example.toml config/development.toml
# Edit config with your settings
# Run migrations & start
diesel migration run
./target/release/open_routercurl http://localhost:8080/health
# → {"message":"Health is good"}| 📘 Resource | Description |
|---|---|
| Local Setup Guide | Canonical guide for CLI, Docker, Compose profiles, and Helm |
| MySQL Setup Guide | MySQL-specific walkthrough |
| PostgreSQL Setup Guide | PostgreSQL-specific walkthrough |
| API Reference | Complete REST API documentation |
| Configuration Guide | All config options explained |
| Deep Dive Blog | How routing logic works |
Decision Engine integrates seamlessly into your existing payment stack:
Integration Steps:
| Step | Direction | Component | Action |
|---|---|---|---|
| 1 | → | Your App | Initiates payment request |
| 2 | → | Orchestrator | Forwards to Decision Engine |
| 3 | → | Decision Engine | Selects optimal gateway |
| 4 | → | Vault | Returns card token (PCI-safe) |
| 5 | → | Gateway | Processes payment |
| 6 | ← | Gateway | Returns result |
| 7 | ← | Orchestrator | Routes response back |
| 8 | ← | Your App | Receives final result |
Key Benefits:
- Zero PCI scope — Vault handles all card data
- Drop-in integration — Works with any orchestrator
- Intelligent fallback — Auto-switches on gateway failure
| Status | Feature | Description |
|---|---|---|
| ✅ | Rule-based routing | Merchant-defined priority rules |
| ✅ | Dynamic ordering | SR-based gateway selection |
| ✅ | Downtime detection | Automatic health monitoring |
| ✅ | Multi-database | MySQL & PostgreSQL support |
| 🔄 | Enhanced routing models | Better success rate prediction |
| 🔄 | Admin dashboard | Visual rule management UI |
| 📋 | Multi-tenant analytics | Per-tenant routing insights |
| 📋 | GraphQL API | Alternative query interface |
We ❤️ contributions!
# 1. Fork & clone
git clone https://github.com/YOUR_USERNAME/decision-engine.git
# 2. Create branch
git checkout -b feature/your-feature
# 3. Make changes & test
cargo test
# 4. Submit PR!👉 See CONTRIBUTING.md for guidelines.
🌱 New to open source? Check out good first issues!
| Platform | What It's For |
|---|---|
| Real-time help, discussions | |
| GitHub Discussions | Ideas, feature requests |
| GitHub Issues | Bug reports |
Licensed under GNU AGPL v3.0.

