← PRODUCT
PRODUCT · SCREEN

GateMonitor: re-screening and list freshness

Past counterparties re-checked against lists re-synced every 6 hours, with SLA breaches and stale lists flagged.

Start free sandboxTalk to us50 screenings a month free, no card.

On this page

GateMonitor in simple terms

A wallet that was fine last month can be put on a sanctions list or frozen today. GateMonitor keeps re-checking the wallets you already accepted every time the lists update, and opens a case if something changed.

It also watches your own team: a case left open longer than your time limit is flagged.

IN EVERYDAY TERMSThink of a smoke alarm rather than a one-time fire inspection. It keeps listening after you have moved in.

What it does

Screening at onboarding is a snapshot. GateMonitor checks afterwards whether any address you screened and did not block has since been listed. Sanctions lists are re-synced at least every 6 hours, each sync stored as a content-hashed snapshot, and every subject screened in the last 90 days is checked against the newest one.

Registered wallets get more. Every active wallet in your registry is re-observed for sanctions listings and USDT/USDC issuer freezes after every list change and every 6 hours, and a wallet.state_changed webhook plus a case timeline entry go out only when something changed: a listing, a delisting, a freeze or an unfreeze.

The module also watches your own operation. Cases held longer than your SLA fire a case.sla_breached webhook, and a stale list snapshot is reported on the status page and in the coverage matrix.

Why a broker needs it

A wallet you accepted last month can be listed today, and the customers you already accepted are the ones at risk. Supervisors expect ongoing monitoring, not a one-time check, and OFAC's own guidance describes the lookback. A record of each re-screen and what it found is how you show the monitoring took place.

How it works

After each list sync a re-screening job compares the distinct subjects of the last 90 days against the current sanctions cache, the same way the live check does (normalised address, exact match). A new match writes a screening with trigger rescreen, produces a signed receipt and opens a case automatically; the original decision and its receipt stay intact for the day you decided.

SLA checks run hourly against each tenant's own limit. A breach is recorded once on the case timeline and pushed as a webhook. In shadow mode breaches are recorded but not announced. Snapshot age per list and the live queue are visible on /status.

Try it without an account: Free wallet sanctions check (shows the snapshot used).

What it does not do

GateMonitor re-checks sanctions listings and issuer freezes; it does not watch the blockchain for new transactions from a counterparty, and it does not re-run behaviour rules or third-party providers. A re-screen finding opens a case for a human; it never reverses a credited deposit by itself.

API

GET /api/v1/cases?status=open
// includes cases opened by re-screening: screening.trigger = "rescreen"

// webhook when a case exceeds your SLA:
X-KYTGate-Event: case.sla_breached

Full reference: /docs#webhooks · OpenAPI 3.1

Start free sandboxRead the API docs Talk to us