Ethereum StandardFinal

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

The standard that makes regulated financial assets work on Ethereum. Identity verification and transfer restrictions baked into the token itself.

Adam's role

Co-author. I helped design the compliance architecture that makes on-chain securities regulation actually enforceable.

What is it?

ERC-3643 defines how security tokens work on Ethereum. It adds identity verification and transfer restrictions so tokens automatically comply with securities laws. Think of it as the bridge between traditional finance regulation and blockchain programmability.

Simple analogy

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

Users register their on-chain identity (via ONCHAINID) and complete KYC. Their verified claims are stored in the Identity Registry.

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

An on-chain registry that maps wallet addresses to verified identities. Before any transfer happens, the contract checks this registry to confirm both sender and receiver have passed KYC.

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

Every transfer goes through automatic compliance checks. The token contract calls the compliance module before allowing any movement. If a transfer would violate any rule, it reverts.

Use cases

Real Estate Tokenization

Fractional ownership of property with automatic regulatory compliance.

A $50M commercial building becomes 50,000 tokens. Each transfer automatically checks that the buyer is accredited, not in a restricted jurisdiction, and that the transfer won't exceed holder limits.

Equity Tokens

Company shares on-chain with built-in cap table management.

Startup equity represented as ERC-3643 tokens. Transfer restrictions enforce lock-up periods, ROFR clauses, and accredited investor requirements. The cap table updates in real-time.

Bond Tokens

Fixed-income instruments with automated coupon distribution.

Corporate or government bonds as tokens. Interest payments flow automatically to verified holders. Maturity and redemption logic lives in the smart contract.

Carbon Credits

Verified carbon offset certificates with transparent provenance.

Each carbon credit token traces back to a verified project. The identity registry ensures only approved entities can trade credits, preventing fraud and double-counting.

Technical specification

The core interface that defines ERC-3643.

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 (IModularCompliance);
    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

How is ERC-3643 different from ERC-20?
ERC-20 tokens have no restrictions. Anyone with a wallet can receive them. ERC-3643 adds an identity layer and compliance checks. Every transfer is validated against rules before it executes. If the receiver hasn't passed KYC or violates any compliance rule, the transfer fails.
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 $28B in assets have been tokenized using T-REX.
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.