Shadow & rollout testing
Run candidate rules beside production logic. Compare outcomes on live traffic before anything changes for analysts. Percentage rollouts let you ramp gradually.
Stop shipping rule changes as code deploys. ezrules gives fraud and compliance teams a control plane to draft, shadow-test, roll out, and audit decision logic — while your systems call one API.
How it works
Your system sends a JSON event — a payment, a login, a transfer — to the evaluation endpoint.
Rules fire in priority order. Conditions match event fields, lists, thresholds, velocity checks.
An outcome is returned — approve, review, block — with a full trace of which rules contributed.
Every decision is stored with full provenance. Labels, backtests, and quality reports follow.
Capabilities
Run candidate rules beside production logic. Compare outcomes on live traffic before anything changes for analysts. Percentage rollouts let you ramp gradually.
Label events with ground truth. See which rules are signal, which are noise — F1, TP, FP, FN per rule.
Draft, test, promote, pause, restore. Every state change is tracked. No mystery edits in production.
Replay historical events through proposed rule changes. Know the impact before you ship.
Hover across a decision to see which payload fields matched which rule conditions. Full provenance, not just a label.
Maintain allow/deny/watchlists inside the product. Reference them in rule conditions without touching code.
Graph analytics
Fraud doesn't live in one transaction — it lives in the links between them. ezrules connects every event to the entities behind it, so your rules reason over the whole graph: count distinct cards, devices, or accounts reachable from a user across bounded hops and time windows.
stat[user.unique_cards_graph_90d]
Zero lock-in
ezrules is open-source. The cloud version runs the exact same code you'd self-host. Your rules, audit history, outcomes, and configuration are yours — export and migrate to your own infrastructure whenever it makes sense. No proprietary formats. No hostage data. No "enterprise exit fee."
Integration
Send events, get decisions. The heavy lifting — rule ordering, list matching, outcome resolution, audit logging — happens on our side.
import requests
response = requests.post(
"https://api.ezrules.io/v2/evaluate",
headers={"X-API-Key": api_key},
json={
"transaction_id": "txn_91bd",
"event_data": {
"amount": 7840,
"currency": "EUR",
"country": "MX",
}
}
)
outcome = response.json()["outcome"]
# "REVIEW_HIGH"
Get started
Run it on our cloud or your own infrastructure. Same engine, same API, nothing locked away.
Disposable demo
This creates a fresh ezrules organisation with demo rules and events. The organisation is disposable and will be destroyed after 30 days.
Spinning up your sandbox…