Detect rings the moment they form.
Three engines that usually live in three systems - streaming, graph, rule evaluation - composed on one substrate. Zero replication lag between them.
React to every write the instant it lands. /watch over the transaction prefix is a one-line subscription.
Find rings, detect collusion. PageRank ranks influence; triangle enumeration finds 3-clique mules.
SQL predicates over customer + transaction tables. Predicate pushdown keeps rule evaluation fast.
Fraudsters exploit the gap between systems.
Split the stack into Kafka + Neo4j + Postgres and your graph view is 30 seconds to 5 minutes behind reality. A ring spinning up in that window is invisible to the detector that has the right algorithm.
WAL-native /watch + graph queries against the
same store means zero lag. The detector and the data are the same surface.
curl -N \
-H 'Authorization: Bearer ...' \
'https://<tenant>.db.originchain.ai/v1/tenants/:t/watch?prefix=transactions/' POST /v1/tenants/:t/graph/triangles
{
"schema": "transfers",
"min_amount": 5000,
"since": "PT2H"
} - not usML scoring inside the database. Export to your model.
- this sprintPredicate-filtered watches - until then, filter client-side.