Written by Pablo Gómez
Founder & CEO at Metlabs · Reviewed on October 11, 2026
Transfer restrictions are rules coded into a token's own smart contract that limit who can receive it, when and under what conditions. The reference standard is ERC-1404, the Simple Restricted Token Standard proposed by TokenSoft and fully backward compatible with ERC-20. ERC-1404 adds two functions. detectTransferRestriction holds the restriction logic, is called internally by transfer and transferFrom, and returns a uint8 code where 0 means success and any other value signals the reason for the block, such as a recipient not on the whitelist or tokens in a lock-up period. messageForTransferRestriction translates that code into a readable message. Returning a code, rather than a plain bool or a revert, lets the caller know the exact reason for the rejection.
It is the technical basis of security tokens and tokenized real-world assets that must respect KYC and AML, investor eligibility, lock-up periods, jurisdictional restrictions and holder limits.
Beyond ERC-1404, the ERC-3643 standard, also known as T-REX and driven by Tokeny, implements more sophisticated restrictions through a compliance contract and an identity registry. CMTAT, from the Swiss Capital Markets and Technology Association, combines them with ERC-1404, and Taurus documents that joint use. Transfer restrictions sit at the core of ERC-3643 and of ONCHAINID, since they are evaluated against the recipient's identity claims.
Technical rules apply configured conditions. Asset classification, customer identification and other external obligations are not resolved by the contract.
Also known as
- Transfer restrictions





