How guy-gits/ringbreaker works
RingBreaker is a local P2P-payment fraud detection and analyst investigation product. The workflow is to score each payment before movement, combine pair, behavioral and coordination signals into an action, create evidence-rich alerts, then let analysts confirm or clear accounts; confirmations propagate risk. Analysts also replay the held-out stream and retrain from verified labels. The graph connects only relationships supported by excerpts, the SOURCE INDEX, or README; unsampled API and dashboard capabilities are represented without speculative internal call chains.
Main entry points: engine.py Scoring engine · client.ts API client · main.py HTTP API · App.tsx Dashboard routes
Components 22
Data and features
- Online features
ringbreaker/features/online.py - Transaction and identity graphs
ringbreaker/graphs/build.py - Synthetic payment data
ringbreaker/simulator/generate.py
Risk detection
- Scoring engine
ringbreaker/engine/engine.py - Pattern detection
ringbreaker/patterns - Risk fusion
ringbreaker/engine/risk.py - Action policy
ringbreaker/scoring/action.py
Cases and network
- HTTP API
ringbreaker/api/main.py - Case evidence
ringbreaker/engine/case_file.py - Counterfactuals
ringbreaker/explain/counterfactual.py - Stream replay
ringbreaker/engine/stream.py
Analyst learning
- Verified-label retraining
ringbreaker/learn/retrain.py
Analyst console
- Dashboard routes
dashboard/src/App.tsx - API client
dashboard/src/api/client.ts - Overview and stream controls
dashboard/src/pages/Overview.tsx - Alerts and investigation
dashboard/src/pages/Investigation.tsx - Network visualization
dashboard/src/components/graph/NetworkGraph.tsx - Account profiles
dashboard/src/components/account/AccountDrawer.tsx - Learning dashboard
dashboard/src/pages/Learning.tsx - API response types
dashboard/src/api/types.ts
Other components
- Analyst
- Payment input
Connections 27
- Payment input → Scoring engine: scores before movement
ringbreaker/engine/engine.py - Scoring engine → Online features: computes features
ringbreaker/engine/engine.py - Scoring engine → Transaction and identity graphs: queries graph
ringbreaker/engine/engine.py - Scoring engine → Pattern detection: detects patterns
ringbreaker/engine/engine.py - Scoring engine → Risk fusion: fuses signals
ringbreaker/engine/engine.py - Risk fusion → Action policy: selects action
ringbreaker/engine/risk.py - Scoring engine → Case evidence: builds case evidence
ringbreaker/engine/engine.py - Case evidence → Transaction and identity graphs: queries evidence graph
ringbreaker/engine/case_file.py - Case evidence → Counterfactuals: requests counterfactual
ringbreaker/engine/case_file.py - HTTP API → Scoring engine: serves scoring
ringbreaker/api/main.py - HTTP API → Stream replay: controls replay
ringbreaker/api/main.py - Stream replay → Scoring engine: replays payments
- Analyst → Dashboard routes: reviews and acts
README.md - Dashboard routes → Overview and stream controls: routes to
dashboard/src/App.tsx - Dashboard routes → Alerts and investigation: routes to
dashboard/src/App.tsx - Dashboard routes → Learning dashboard: routes to
dashboard/src/App.tsx - Overview and stream controls → API client: requests overview and stream
- Alerts and investigation → API client: requests cases and verdicts
dashboard/src/pages/Investigation.tsx - Alerts and investigation → Network visualization: renders case graph
dashboard/src/pages/Investigation.tsx - Account profiles → API client: requests account data
dashboard/src/components/account/AccountDrawer.tsx - Learning dashboard → API client: requests learning and retrain
dashboard/src/pages/Learning.tsx - API client → HTTP API: calls API
dashboard/src/api/client.ts - API client → API response types: types responses
dashboard/src/api/client.ts - Analyst → HTTP API: confirms or clears
README.md - HTTP API → Verified-label retraining: initiates retraining
- Verified-label retraining → Online features: trains from features
ringbreaker/learn/retrain.py - Synthetic payment data → Online features: builds training features