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