Constraint Modules


Constraint modules are separate smart contracts that are asssigned to regulate operations over a token. They can be understood as separate rules imposed over a security token.

We support the following constraint modules:


As the name implies, whitelist helps in restricting the transfer of security tokens defined by a 'whitelist'. Once assigned to a security token, the transfer of tokens can only be done to whitelisted addresses. Please note that a whitelist maybe edited only by a whitelist editor, it is necessary to assign this role before assigning a whitelist to a security token or edit the whitelist itself. Once assigned, a constraint module of the type whitelist maybe created and filled with the necessary addresses. These addresses can be switched on and off in terms of being active inside the whitelist (again, can only be done by a whitelist editor).


The function of a blacklist is just opposite to that of a whitelist. If the security token needs to be restricted only for a few addresses, this constraint module is used. The process of assigning a blacklist to a constraint module is the same as that for a whitelist constraint module.


A timelock is a smart contract that delays function calls of another smart contract after a predetermined amount of time has passed. Timelocks are mostly used in the context of governance to add a delay of administrative actions and are generally considered a strong indicator that a project is legitimate and demonstrates commitment to the project by project owners.(Open-Zeppelin).

Was this page helpful?