Skip to main content

Boolean expression over TRM signals. Exactly one of all, any, not, exists, or a field/op/value comparison.

all
array
Required array length: 1 - 200 elements
any
array
Required array length: 1 - 200 elements
not
any
exists
object

Quantifier over one TRM array. Every qualifier in where binds to the same element, so indicators cannot be combined across array entries. Fields inside where name the element's own properties.

field
enum<string>

Absolute paths compare against the response; bare names compare against the bound element of the enclosing exists — category, riskType and categoryRiskScoreLevel under trm.addressRiskIndicators; category, isVasp and riskScoreLevel under trm.entities. Core fields work here too, and are the only ones a pre-screen rule may use. Category strings match case-sensitively; TRM returns them TitleCase.

Available options:
tx.amountUsd,
tx.asset,
chain,
address,
trm.addressHighestRiskScoreLevel,
category,
riskType,
categoryRiskScoreLevel,
riskScoreLevel,
isVasp
op
enum<string>

Comparison to apply. in and nin take a list operand and the rest take a scalar; contains is substring, never regex. Which operators a given field admits is per field, and rejected by the validator rather than here.

Available options:
eq,
neq,
in,
nin,
gte,
lte,
gt,
lt,
contains
value
any

Value to compare against: a scalar, or a list of at most 200 for in and nin. Its type has to match the field's, which the validator checks.

Last modified on October 6, 2026