Open-Source • Rust • Rule-Based • Success-Rate Based
Configure routing rules, run gateway decisions, and inspect routing outcomes from APIs or the dashboard.
🚀 Quick Start • 📚 Documentation • 🏗 Architecture • 🤝 Contributing
Decision Engine is a payment gateway routing service built in Rust. It selects a gateway for each request using merchant-configured routing strategy, success-rate scores, rule-based policies, volume splits, and debit-routing gates.
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ Payment │────▶│ Decision Engine │────▶│ Best │
│ Request │ │ (Fast routing) │ │ Gateway │
└─────────────┘ └──────────────────┘ └─────────────┘
| Use case | Supported surface |
|---|---|
| Route by connector score | Auth-rate based routing |
| Route by explicit business condition | Rule-based routing |
| Roll out traffic by percentage | Volume split |
| Gate debit-network routing per merchant | Debit routing toggle |
| Inspect routing outcomes | Analytics and Decision Audit dashboard |
|
|
# 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:8080For API + dashboard + docs:
docker compose --profile dashboard-postgres-ghcr up -dOpen:
- API:
http://localhost:8080 - Dashboard:
http://localhost:8081/dashboard/ - Docs:
http://localhost:8081/introduction - API documentation map:
http://localhost:8081/api-overview
For deployed docs or dashboard environments, use the same docs paths under the deployed host, for example https://<docs-host>/api-overview. That page links to the API examples and OpenAPI reference sections.
# 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 Documentation Map | Main API entrypoint with embedded links to API examples, OpenAPI schema pages, route access rules, local URLs, and deployed docs paths |
| 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.

