APPROVED, IN_REVIEW, DECLINED) and the decision whether to create an alert, open a case, or require user remediation.
The formula
- Base score: 0.
- Each matched rule contributes its configured
score_delta(typically 25–35). - A transaction with no matching rules scores 0.
Thresholds and statuses
Score thresholds are configured per application at Transactions → Settings.| Setting | Default | Meaning |
|---|---|---|
preferred_review_score_threshold | 60 | Scores ≥ this go to IN_REVIEW |
preferred_decline_score_threshold | 85 | Scores ≥ this go to DECLINED |
action: change_status → DECLINED will decline regardless of score.
Rule contributions — worked example
Suppose these rules fire on a single transaction:| Rule | score_delta |
|---|---|
| High-value outbound (>$10,000) | 30 |
| High-risk jurisdiction counterparty | 35 |
| Structuring pattern detected | 35 |
DECLINED.
Action overrides
Rules can also directly set the status, bypassing score thresholds:| Rule action | Effect |
|---|---|
change_status → DECLINED | Transaction declined regardless of score |
change_status → IN_REVIEW | Transaction goes to review regardless of score |
change_status → AWAITING_USER | Transaction waits for user remediation |
add_score(n) | Only contributes to the score; no forced status |
add_tags([...]) | Attaches tags for console filtering; no score effect |
add_to_list(...) | Adds an identifier to a blocklist |
add_score(35) + add_tags(["structuring"]) + add_note("Auto-tagged by structuring preset").
Why scores beat hard rules
A pure threshold (e.g. “decline every transaction over $100k”) triggers both legitimate high-value transactions and real risk. Combining several moderatescore_delta rules and a review/decline threshold gives you:
- Layered scoring — no single rule causes a decline; multiple signals have to agree.
- Tunable sensitivity — raise or lower thresholds without touching rule definitions.
- Ordering of gravity — a transaction with score 65 goes to review (worth a look); score 90 goes to decline (serious).
Configuring thresholds
From Transactions → Settings:- Review threshold: raise if your review queue is flooded; lower to catch more edge cases.
- Decline threshold: raise to reduce false-positive declines; lower to lean toward aggressive blocking.
Test mode for rules
Rules can run inTEST mode:
- Rule evaluates against transactions but does not contribute to the score or status.
TransactionRuleRunrecords are created withis_test = true.- Lets you validate a rule’s selectivity without risking production declines.
ACTIVE once you’re happy with the selectivity.
Severity and legacy fields
Theseverity field on Transaction and TransactionAlert is nullable and legacy. New rule evaluations don’t set it. Use score as the primary risk signal.
Inspecting scores
Via API
Every transaction response includesscore, rules_evaluated_count, rules_matched_count, and a rule_runs[] array:
In the console
On the transaction detail page, the Score tab shows a breakdown of each matched rule’s contribution and the final status mapping. Hover over the score badge for the threshold values used at evaluation time.Next steps
Rules
Rule anatomy and evaluation.
Alerts
What happens when a rule fires.
Settings
Configure thresholds.