SKIP TO CONTENT
Ethereum StandardFINAL

ERC-3643: The Security Token Standard (T-REX)

ERC-3643 adds on-chain identity checks, transfer restrictions and issuer controls to ERC-20 security tokens. A Final Ethereum standard.

Named author (1 of 5). At Tokeny, I built compliant token infrastructure and on-chain identity components.

What is it?

ERC-3643 specifies identity checks and token-management interfaces for permissioned securities. The contracts enforce configured rules; legal and compliance teams still define the requirements for each issuance.

Regular tokens are like cash. Anyone can pass them around. ERC-3643 tokens are like regulated stocks. You need to prove who you are before you can own or trade them.

How it works

1

Identity Verification

Investors complete the required checks with claim issuers. Claims live on their identity contracts; the Identity Registry links wallets to those contracts and verifies the required claims.

2

Compliance Module Setup

The token issuer configures compliance rules: which countries are allowed, investor accreditation requirements, maximum holder counts, lock-up periods.

3

Token Issuance

Tokens are minted and distributed to verified investors. Each recipient must already be in the Identity Registry with valid claims.

4

Transfer Validation

When someone tries to transfer tokens, the contract checks: Is the receiver verified? Do they meet all compliance rules? If yes, transfer executes. If no, it reverts.

5

Ongoing Management

Agents can freeze tokens, force transfers for legal compliance, update compliance rules, and manage the identity registry as regulations evolve.

Key concepts

Identity Registry

The registry links wallets to identity contracts and checks the required claims from trusted issuers. For ordinary transfers, recipient eligibility is checked alongside balances, freezes and configured transfer rules.

Compliance Rules

Modular smart contracts that define who can hold, trade, and transfer tokens. Rules can enforce country restrictions, investor accreditation, maximum holder counts, and more.

Agent Roles

Designated addresses with special permissions. Agents can freeze tokens, force transfers (for legal compliance), and manage the token lifecycle. Think of them as on-chain compliance officers.

Transfer Restrictions

Ordinary transfer and transferFrom calls check the compliance module. Minting and forced transfers have different permissions: the specification requires recipient verification but bypasses canTransfer. Burning bypasses eligibility checks.

Illustrative use cases

Real Estate Tokenization

Permissioned property-interest tokens with configured transfer restrictions.

Illustrative use: tokens represent interests in a property-holding structure. The issuer can configure investor eligibility and transfer limits; the legal ownership arrangement remains outside the token standard.

Equity Tokens

Permissioned share tokens integrated with a shareholder register.

Illustrative use: share tokens with configured lock-ups and eligibility rules. Shareholder registers, rights of first refusal and reporting need additional product logic and legal definition.

Bond Tokens

Permissioned bond tokens with separately implemented payment logic.

Illustrative use: a bond token with controlled transfers. Coupon calculation, funding, payment distribution and redemption require additional contracts and operating processes.

Carbon Credits

Verified carbon offset certificates with transparent provenance.

Illustrative use: restrict transfers to approved participants. Project verification, credit retirement and double-counting controls require a separate registry and reliable off-chain evidence.

Technical specification

Selected declarations from ERC-3643, shortened for explanation. Referenced interfaces and omitted methods are in the full specification linked below.

IERC3643.sol
// SPDX-License-Identifier: MIT
interface IERC3643 {
    // Token transfers with compliance checks
    function transfer(address to, uint256 amount) external returns (bool);
    function transferFrom(address from, address to, uint256 amount) external returns (bool);

    // Identity registry
    function identityRegistry() external view returns (IIdentityRegistry);
    function setIdentityRegistry(address _identityRegistry) external;

    // Compliance
    function compliance() external view returns (ICompliance);
    function setCompliance(address _compliance) external;

    // Agent actions (freeze, force transfer)
    function freezePartialTokens(address addr, uint256 amount) external;
    function unfreezePartialTokens(address addr, uint256 amount) external;
    function forcedTransfer(address from, address to, uint256 amount) external returns (bool);

    // Recovery
    function recoveryAddress(address lostWallet, address newWallet, address investorOnchainID) external returns (bool);
}

Frequently asked questions

Who created ERC-3643?
ERC-3643 has five named authors: Joachim Lebrun, Tony Malghem, Kevin Thizy, Luc Falempin and Adam Boudjemaa (me), as listed in the specification itself. It was first proposed in July 2021. T-REX, its reference implementation, was originally developed by Tokeny Solutions.
How is ERC-3643 different from ERC-20?
ERC-20 defines a token interface without prescribing an identity system. ERC-3643 adds recipient verification, transfer-rule checks and issuer controls. Ordinary transfers follow those checks; privileged operations such as forced transfers have explicitly different rules.
Who controls the compliance rules?
The token issuer (or their designated agents) sets and manages compliance rules. These are modular smart contracts that can be updated. Common rules include country restrictions, investor limits, and lock-up periods. The rules are transparent and auditable on-chain.
Can tokens be frozen or seized?
Yes. Agents with the right permissions can freeze tokens (e.g., for legal disputes) or force transfers (e.g., court orders). This mirrors how traditional securities work. The difference is that every action is recorded on-chain and auditable.
Is ERC-3643 used in production?
Yes. ERC-3643 is a Final standard used by Tokeny and other institutional tokenization platforms. It's been used for real estate, equity, and bond tokenization across multiple jurisdictions. Over $32B in assets have been tokenized using T-REX, a figure published by the ERC3643 Association at erc3643.org, not one of mine.
What is T-REX?
T-REX stands for Token for Regulated EXchanges. It's the reference implementation of ERC-3643, originally developed by Tokeny Solutions. The standard was later formalized as an ERC to make it an open Ethereum standard.

Writing on ERC-3643