Transaction monitoring · built by Vyra

Say what you want caught.

A compliance officer in Singapore types one sentence: catch customers breaking large cash deposits into pieces that sit just under the bank’s own review threshold. No query language. No ticket to engineering.

VyraAgent builder · Cowork
Listening
YouCatch customers who split cash deposits to stay under our own review threshold.
One thing before I build it

Over what window should the deposits count as one burst? Pick one, or type your own.

  • 24 hours
  • 7 days
  • Rolling 30 days

Or start from a template the library shows what each one produced on your own traffic.

Shadow mode · nothing acts

It evaluates everything. It touches nothing.

Vyra receives each live event, evaluates the whole workflow, then stops before the action node. No case is opened, no notification is sent, no customer is affected. The evaluation path is identical to production, so what you are reading is what production would have done.

  • It runs until you stop it. There is no fixed end date.
  • Every evaluated event is logged with the branch it took, so a would-be case can still be opened if you promote this version
Illustrative shadow run
SHADOW · structuring under thresholdEvery action suppressed
Receiving
PROVISIONALDirectional only

Across the first nine days, 14,208 transactions, this version would have raised 96 would-be alerts about 0.7% of volume. The number will move as more traffic arrives. Do not act on it yet.

  • Days in shadow9running until you stop
  • Transactions evaluated14,208≈ 1,578 a day
  • Would-be alerts96recorded, not raised
Confirmed71%precision, from analyst dispositions on the 58 alerts the live rule also raised
Estimated~55%on the 38 shadow-only catches, which no analyst has reviewed

Two separate measurements, kept apart on purpose. Do not blend them into one figure when you report it.

Shadow is an option, not a gate. Go to production when you are ready.No customer affected
Live · case opened

It acts — and answers for it.

A hit holds the transaction, opens a case on the entity and attaches everything it read: the conditions, the values, the screening result. Elena V. decides, and the decision lands in the format your FIU expects.

One customer in one window raises one alert, not forty
Illustrative
CASE-8842 · StructuringOpened by the agent · v3
High · 91
  1. 09:41Conditions met transaction held
  2. 09:41Case opened, evidence attached
  3. 10:12Reviewed by Elena V. · MLRO
  4. 10:19STR drafted for your FIU
Vyra investigates. Your workflow decides.On one entity record

Trusted by top financial institutions and fintech leaders across the EMEA region

One agent, end to end

From a sentence to a filed report.

The same agent, at three points in its life. Built in the workspace your analysts already use, proven against your own history, and answerable for every case it opens.

cowork · transaction monitoring · agents

Detection logic

4 conditions · AND
DETECTDeposit stream · one customer
  1. 1cash_deposit_count_24his at least4
  2. 2cumulative_deposit_amount_24hbetween$4.2m – $4.99m
  3. 3largest_single_deposit_pct_thresholdunder92%
  4. 4declared_monthly_turnover_ratioover3.0×
Every condition names the variable it reads.
ACTOpen an EDD case, high severity, AML investigations queue
NOTIFYAlert the MLRO queue in-app and by email, 4 hour SLA
Vyra suggests

Add a condition for deposits made across three or more branches in the same window. On your last ninety days it separates genuine traders from the pattern you are describing.

Add conditionEdit manually
One integration

The stage is a header, not a rebuild.

The same endpoint carries every event at every stage. Shadow, rollout and live differ by one header value, so you wire it up once and change your mind as often as you need to. Auto-rollback stays armed in production though anything done before a rollback stays done.

Explore API documentationREST and webhooks
POST /v1/agents/{agent}/evaluateX-Vyra-Mode: shadow
"event_id": "TXN-8841027","entity": { "account_id": "ACC-4471" },"transaction": { "amount": 28000, "currency": "USD", "direction": "outbound" }
Only the header changes between stages.
Template library

Calibrated on your data, not a vendor average.

A template that has run here carries the numbers it produced on your settled traffic, and the library is ranked by how well each one backtested in your data. The ones that have never run on it say so, instead of borrowing someone else’s figures.

  • Cards
  • Transfers
  • Cash
  • Cross-border
  • Crypto on-ramp
From your backtests
  • Structuring under a review threshold

    Deposits sized to stay below the line, counted per customer per window
    PASSED
    • 71%precision
    • 96alerts · 90d
    • 0.7%of volume
    Calibrated on 1.28m settled transactions hereStart from this calibration
  • High-value transfer to a higher-risk corridor

    Outbound value above the entity’s own pattern, weighted by destination
    PASSED
    • 64%precision
    • 212alerts · 90d
    Calibrated on 1.28m settled transactions hereBacktest report
Library
  • Mule network · funds in and straight out

    Money that rests for minutes, across accounts that share a device or a beneficiary
    NOT RUN HERE
    No backtest on your data yetCalibrated the first time it runs hereStart and backtest it

Or describe one that is not in the library. That is what Vyra is for.

Case management

An alert is not an outcome.

Every agent that fires opens a case on the entity it fired against the same entity record onboarding built. The transactions, the customer's declared profile, the earlier alerts and Vyra's reasoning are already attached when your analyst opens it.

  • Queues by risk, not by arrival an analyst opens the case that matters next
  • Four-eyes on escalation, SLAs on every severity, no case closed without a reason
  • STRs drafted from the case file in the format your FIU expects, with the evidence trail intact
  • False positives marked as such, and the agent's next version reads them
  • Written to your FIU’s schema, mapped to what your regulator expects of your monitoring, and processed under the data-protection law that applies to you

Vyra investigates. Your workflow decides.

AML investigations

18 open
CaseSeveritySLA
Structuring · deposits under thresholdCASE-8842 · Amara C.High4h left
Funds in and straight out · 11 accountsCASE-8836 · Lucas MoreauHigh19h
Cross-border volume above profileCASE-8829 · Meridian LogisticsMedium2d
Dormant account, sudden throughputCASE-8817 · Sofia RossiLow3d
Closed this week41 · 6 escalated · 2 STRs filedAudit trail complete
Transaction screening

When you don’t own the identity.

A payment business reaches its payers through merchants, so what it knows about them is thin: an email, a company name, an account. The device that sent the payment is the part nobody can type in.

Monitoring · full contextScreening · limited context

Nobody onboarded the payer.

Fraud-insights signals arrive with the payment, read by the SDK at checkout or passed to us in the payload. They resolve into one payer profile that sharpens every time that payer comes back.

So you can know this device has been behind chargebacks before, on merchants with nothing to do with each other, from a payer whose name you were never able to verify.

The email and company name are used as links between sessions, never as facts.

PAYMENT · PAY-88410 · outboundWhat arrives with the paymentBefore authorisation

PAYMENT FIELDS

Counterparty
A. MERIDIAN TRADING
Account · bank
0221****41 · DBS
Destination
AE · Dubai
Amount · MCC
$28k · 5399

FRAUD-INSIGHTS SIGNALS

Device
fp · 09dd5f3f
Network
proxy · US exit
Session
emulator flagged
Declared email
ops@meridian-tr.co
Read by the SDK at the merchant’s checkout, or passed to us in the payload.
Resolves to one payer profile
09dd5f3fb80cc1acbuilt from signals, not documents
  • Seen 14 times
  • 3 sub-merchants
  • 2 chargebacks

What screening returned

  • Sanctions and watchlistsPossible match · 71%A fuzzy name match is not a decision. An analyst confirms or clears it.
  • PEP and adverse mediaNo match
  • Corridor · AE outboundElevated for this MCC
  • Card BIN vs issuer geographyCard · US exit node
If the funds move on

The beneficiary is screened as its own counterparty. This one has received from nine sub-merchants this month, none of them related on paper.

Your workflow decides what happens next.Illustrative

Checked on every payment

On the payer, and on the beneficiary when the money moves on. Which run, and what a hit does, is whatever your workflow says.

  • Sanctions & watchlists
  • PEP & adverse media
  • Corridor risk
  • Beneficiary bank & BIC
  • Crypto & VASP exposure
  • Card BIN vs issuer

Bring your own lists

Loaded alongside, read as one more condition — at sub-merchant onboarding and on every payment after.

  • Mastercard & Visa termination lists
  • Your own blocklist
  • Sub-merchants you terminated
One entity record

Monitoring reads what onboarding already knew.

A pattern only looks wrong against something. For a bank that is the customer’s declared profile. For a payment business it is the merchant’s the corridor, the ticket size and the history of the merchant you did onboard. Either way it came from onboarding, the device that opened the session came from fraud insights, and the case an agent opens sits on the same record as both.

FAQs

Questions monitoring teams ask.

  • It is the same kind of logic, written a different way. You describe the pattern in a sentence; Vyra assembles the conditions, the action and the alert from your variable library, and you read every line before it runs. What changes is the time between noticing a typology and having it live and that the reasoning is on the record.

  • No. The backtest is a gate: nothing can be deployed until it passes on your settled traffic. Shadow mode is then optional it evaluates live events and suppresses every action it would have taken, for as long as you want that evidence. Going to production is an explicit choice with its consequence written beside it, and the version history keeps who chose what and why.

  • Alerts are scored, not stacked, and one customer in one window raises one alert rather than one per transaction. Before you turn an agent on you see what it produced on your settled traffic. Precision confirmed by analyst dispositions is reported separately from precision estimated on alerts nobody has reviewed the two are never blended into a single figure.

  • Yes. Conditions are assembled from named variables deposit counts, cumulative amounts, ratios against a declared profile with operators and windows you set in the panel. Vyra proposes; you edit, add and remove by hand at any point.

  • Integration is by API and typically takes days, not quarters, with the transaction schema mapped onto the variables your agents read. Existing rules can be imported and backtested alongside the new ones.

  • For every alert: the agent version that fired, the conditions it evaluated, the values it read, the case it opened, who worked it, what they decided and when. The version live at the time is kept, so a decision from March can be explained in March’s terms.

  • One entity record. A pattern is scored against a profile onboarding verified the customer’s at a bank, the merchant’s at a payment business and the device that opened the session comes from fraud insights. Counterparties nobody onboarded are screened rather than profiled, on the same record and into the same case queue.

  • As long as you want. There is no fixed end date it runs until you stop it, the estimate tightens with every day of traffic, and shadow evaluation is metered while it runs. Early numbers are labelled provisional and directional, because on a few days of data that is all they are.

  • Yes, by screening rather than profiling. A payment message carries a counterparty name, an account, a bank, a corridor, an amount and a card BIN, and that is screened against sanctions, watchlists, PEP and adverse media, corridor and beneficiary-bank risk, VASP exposure and issuer geography. The payment is then measured against the merchant you did onboard, against what that counterparty has done across your traffic before, and against everything else moving through that merchant in the same window.

  • Yes. STRs and returns are drafted from the case file in the schema your regulator expects, and agents can be scoped per market so a threshold in one country does not follow you into another.

Describe the pattern. Watch it get caught.

Bring us ninety days of transactions. We will build an agent from one sentence in front of you, replay it over your own history, and show you what it would have caught.

Compliance certifications

Youverify holds SOC 2 Type II, ISO 27001, ISO 27018 and ISO 42001 certifications, and is registered with the data protection authorities in Nigeria, Kenya, South Africa, Côte d’Ivoire and the United Kingdom.

Certifications & attestations
  • SOC 2 Type II
  • ISO/IEC 27001:2022 certified
  • ISO/IEC 27018:2019 attested
  • ISO/IEC 42001:2023 certified
Privacy and data protection
  • EU GDPR compliant
  • CCPA, California
  • Nigeria Data Protection Commission
  • Office of the Data Protection Commissioner, Kenya
  • Information Regulator, South Africa
  • ARTCI, Côte d’Ivoire
  • ICO, United Kingdom