Skip to main content

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. :::