• TokenSoft

Using Multiple Whitelists to Restrict Transfers Between Jurisdictions

Part Two: ERC-1404 and Whitelisting

by Lawson Baker

In the first part of our series on ERC-1404, Mason discussed ERC-1404 and Whitelisting, explaining how to restrict transfers of security tokens between approved Ethereum accounts for whitelisted investors only (e.g., accredited investors ) on a single whitelist. A single whitelist works well for security tokens trading in just one jurisdiction or even multiple jurisdictions with a single set of overlapping transfer restrictions for token holders.

In this post, we expand this concept: What if a security token is issued and traded across more than one jurisdiction with varying transfer restrictions?

With ERC-1404, a token issuer can deploy one or more whitelists for the same token. With two separate lists of investors, token issuers can restrict transfers between whitelists.

For example, Alice on Jurisdiction A Whitelist holds Example Token (ticker: $TOKEN). Alice cannot trade with Bob because he is on Jurisdiction B Whitelist. However, she is free to send $TOKEN to Carol who is also on Jurisdiction A Whitelist.

Alice cannot trade with Bob because they are on different whitelists enforcing different transfer restrictions.
Alice can trade with Carol because they are on the same whitelist.

This is a widespread use case for security token issuers selling tokens (1) to accredited investors only in the U.S. under Regulation D and (2) to non-U.S. investors under Regulation S. For a variety of legal reasons, security token issuers may want to prevent “backflow” of tokens sold under Regulation S to U.S. investors.

This is akin to a backflow preventer installed in between a house and a city’s water supply. In this example, ERC-1404 whitelists prevent water inside of your house (i.e. tokens sold to non-U.S. investors under Reg S) from backflowing to the city water pipes (i.e. tokens sold in the U.S. under Reg D).

Technical Implementation

If a security token issuer needs to restrict transfers between two investor types, the issuer can implement two whitelists as follows:

Additionally, custodial providers like exchanges or even transfer agent can check to see if Dorthy from Kansas can trade with Alice from Wonderland, all without burning any gas on a transaction that would otherwise fail.

Other examples of whitelist can be found in this gist.


Using multiple whitelists is an excellent way for security token issuers to manage all of their transfer restrictions without needing multiple tokens for each type of investor. By issuing a security token on 1404, a security token issuers subsequent transfers of their tokens are compliant with the laws of each jurisdiction while also being supported by exchanges and wallet providers.

For more information about the EIP and to see the code base, you can visit the ERC-1404 microsite here.