Skip to main content
This page is a reference for every building block available when defining rule conditions and actions. For a guided walkthrough of the Rule Builder, see Building rules.

Condition logic

Conditions are organized into a tree of groups:
  • all (AND) — Every condition in the group must match.
  • any (OR) — At least one condition in the group must match.
At the top level, a rule can have multiple paths connected with OR logic. If any path matches, the rule triggers. Within each path, you nest all / any groups to express complex boolean logic.
This rule triggers if the transaction amount exceeds 50,000andtheclientishighrisk,oriftheamountexceeds50,000 **and** the client is high-risk, **or** if the amount exceeds 100,000 regardless of risk tier.

Entities

Each condition targets one of four entities:

Entity relationships

For non-transaction entities, you can specify which participant the condition applies to:

Operators

Comparison operators

Array operators

Range operator


Aggregation operators

Aggregation conditions compute a value over a set of historical transactions before comparing with the operator and value. This enables velocity checks, cumulative thresholds, and statistical analysis.

Aggregation fields

When using an aggregation, provide these additional fields on the condition:

Time windows

Time windows define the lookback period for aggregation conditions.

Time types

Time periods

Used with aggregationTimeValue to define the window length:

Example: velocity check

“Count of deposits in the last 24 hours exceeds 10”:

Aggregation filters

Filters narrow which transactions are included in the aggregation. Each filter is a simple condition with property, operator, and value — the same comparison operators listed above apply. Common filter patterns:
  • Filter by transaction type: { "property": "type", "operator": "equal", "value": "WITHDRAW" }
  • Filter by currency: { "property": "currency", "operator": "in", "value": ["USD", "EUR"] }
  • Filter by direction: { "property": "direction", "operator": "equal", "value": "OUTGOING" }

Actions

Actions define what happens when a rule matches. Each rule must have at least one action.

CREATE_ALERT

Creates a compliance alert for analyst review.

HALT_TRANSACTION

Freezes the transaction until an analyst resolves the associated alert. Always used alongside CREATE_ALERT.
A rule with HALT_TRANSACTION blocks settlement on every match. Reserve this for high-confidence patterns where false positives are rare.

Common rule patterns

Large transaction detection

Alert when a single transaction exceeds a threshold:

Velocity check (structuring detection)

Alert when a customer makes more than 5 deposits under $10,000 in 24 hours:

High-risk customer with large withdrawal

Combine entity conditions for targeted detection:

Cumulative threshold

Alert when total outgoing volume exceeds $200,000 in 30 days: