On-chain enforcement
Compliance Engine
Connect to see your standing
Link your wallet to view your global block status, per-asset whitelist access, and KYC validity.
Asset freeze status
Transfer simulator
Transfer simulator
Dry-run a transfer against the live compliance engine — no transaction sent, no gas spent.
Checks run in order
Block status lookup
Block status lookup
Check whether any address is globally blocked by the compliance officer.
Enforcement rules
Global blocklist
The compliance officer can blacklist any address globally. A blocked address cannot send or receive any RWA token across the entire protocol, regardless of asset-level whitelist status.
Asset freeze
Any registered asset can be frozen by the compliance engine. While frozen, no minting, burning, or transfers are permitted. The freeze is lifted by the same compliance officer.
KYC expiry
Investor KYC records carry a 365-day expiry window. Once expired, the investor's transfers revert with KYCExpired regardless of whitelist status. Renewal requires the protocol registrar.
Jurisdiction
Each asset carries an issuer jurisdiction and an allowAllJurisdictions flag. When restricted, both sender and receiver must pass a jurisdiction pair check against OFAC-sanctioned country codes.
Forced transfer
The compliance officer can execute court-ordered token seizures via executeForcedTransfer. This bypasses all whitelist checks and moves tokens directly — used for sanctions enforcement or wallet recovery.
Self-transfer guard
Sending tokens to your own address is reverted at the contract level. This prevents gas waste and closes a class of edge-case accounting bugs.