Compliance (KYT)
ZenVault performs transaction screening (KYT) at the custody layer. Every
outbound movement — external transfers, contract calls, approvals, and raw
eth-sign-transaction — is screened before it is signed or broadcast. This
is universal: it applies to every workspace, with no integration work on your
side.
What it does
- Screens the destination / counterparty for sanctions and wallet risk.
- A sanctions hit or a non-clear result blocks the movement before signing.
- Screening is fail-closed: if the screening service is unavailable, the movement is blocked rather than let through.
The screening result is available to the policy engine, so you can write rules such as "hold above risk score 70" or "reject on sanctions hit" on top of the baseline block.
What you see
When screening blocks a transfer, the create call fails with 403 and a
ZenVault-owned message ("Transfer blocked by KYT screening: …") — never a
passed-through provider error. Handle it like any other reject: surface it to
your user; it is not retried automatically.
Screening outcomes are also recorded on the transfer's metadata.kyt (status,
severity, risk score, sanctions flag) for your records.
:::note KYC vs KYT This page is about KYT — screening transactions. KYC (verifying the identity of your end users) is handled per-product, outside this custody API. :::