SKIP TO CONTENT
TOKENIZATION6 minBuilding the RWA Chain / Ep. 2 · Stage 2-1

ERC-3643 on a Cosmos Chain: Why a Freeze Can Miss Holders

An agent can freeze any ERC-3643 holder’s address. What changes when holders convert their tokens into Cosmos bank coins?

XIN

IN 30 SECONDS

ERC-3643 is an Ethereum standard for regulated tokens: only verified holders can receive them, and an agent can freeze balances. Some Cosmos chains let holders convert these tokens into matching coins in the chain’s bank module, which parks the tokens in one shared account, so a freeze can no longer target one holder.

KEY TAKEAWAYS · 4

  • In the cosmos/evm module reviewed here, converting ERC-3643 tokens into Cosmos bank coins runs the token’s own transfer checks. Registering the token pair alone moves nothing.
  • Converted tokens sit in one escrow account, so the agent’s freeze and forced-transfer tools can’t target a single bank-layer holder.
  • Those tools can still act on the escrow: freezing it can block redemption, and a forced transfer out of it can alter or remove the backing of coins in circulation.
  • This is a source reading of cosmos/evm pinned to an August 2026 commit, not an incident report. Each deployed chain’s controls must be checked separately.
On this page

The problem: the freeze stops at the ledger

IN SHORT The agent’s tools only reach balances stored in the token contract. Converted holdings are stored somewhere else.

WORDS TO KNOW

ERC-3643
An Ethereum standard for regulated tokens. Only verified holders can receive them, and each ordinary transfer must pass the issuer’s rules.
Recovery tools
The powers ERC-3643 gives an authorized agent: freeze an address, freeze part of a balance, force a transfer.
Bank module
The built-in ledger of a Cosmos chain, also written x/bank. It records coin balances and moves them itself, outside any token contract.
Conversion
Moving ERC-3643 tokens into escrow in exchange for the same amount of coins in the bank module.
Escrow
Here, the single module account that holds every converted token.
IBC
The protocol Cosmos chains use to send tokens to each other.

ERC-3643 An Ethereum standard for regulated tokens. Only verified holders can receive them, and each ordinary transfer must pass the issuer’s rules. See the glossary gives an authorized agent three Recovery tools The powers ERC-3643 gives an authorized agent: freeze an address, freeze part of a balance, force a transfer. See the glossary: freeze an address, freeze part of a balance, and force a transfer.

Some Cosmos chains add a second ledger, the Bank module The built-in ledger of a Cosmos chain, also written x/bank. It records coin balances and moves them itself, outside any token contract. See the glossary. After a Conversion Moving ERC-3643 tokens into escrow in exchange for the same amount of coins in the bank module. See the glossary, the tokens sit in Escrow Here, the single module account that holds every converted token. See the glossary on one account, and the bank module records who holds the matching coins.

IN PLAIN WORDS

Cosmos is a family of blockchains. A Cosmos EVM chain also runs the EVM, the engine for Ethereum-style contracts. Its modules, like the bank, run beside it: that line is the VM boundary.

What follows also shows the limits of my own work on ERC-3643 (T-REX).

How conversion works, step by step

IN SHORT Conversion runs the token’s checks once, at the door; after that, the coins move through the bank module.

Two steps are easy to mix up. Registering the pair only records which bank coin stands for the token. It moves no tokens and calls no transfer, so no transfer check runs, and nothing is bypassed either.

Converting is the step that moves value. It calls the token’s own transfer, which runs the checks and moves the tokens into escrow. The module then credits the holder the same amount in bank coins.

WATCH OUT

At the reviewed commit, anyone can register a token only if a chain setting allows it. If not, the authority the chain names must do it. The steps below assume the chain allows each step and adds no other limit.

STEP BY STEP

Sequence diagram: 6 participants: Holder, ERC-3643 token, Conversion module, Bank module, Another chain, Compliance agentSequence diagram: 6 participants: Holder, ERC-3643 token, Conversion module, Bank module, Another chain, Compliance agent. Step 1: Holder to Conversion module, Register: link the token to a bank coin. Step 2: Conversion module to ERC-3643 token, Convert: send tokens to the module account. Step 3: Conversion module to ERC-3643 token, Convert again: the checks pass. Step 4: Conversion module to Bank module, Create bank coins for the holder. Step 5: Holder to Bank module, Bank send to another account. Step 6: Bank module to Another chain, IBC transfer out. Step 7: ERC-3643 token to Compliance agent, The agent sees one escrow balance.HOLDER > CONVERSION MODULERegister: link the token to abank coinCONVERSION MODULE > ERC-3643TOKENConvert: send tokens to themodule accountRefused if that account is notverified.CONVERSION MODULE > ERC-3643TOKENConvert again: the checks passThe tokens now sit in escrow.CONVERSION MODULE > BANKMODULECreate bank coins for theholderHOLDER > BANK MODULEBank send to another accountThe conversion module doesn’tstep in.BANK MODULE > ANOTHER CHAINIBC transfer outThis send doesn’t call thetoken contract.ERC-3643 TOKEN > COMPLIANCEAGENTThe agent sees one escrowbalance

Step 1. Register. Someone links the token to a bank coin. The module records the pair; nothing moves yet.

Pick a step to see it move
  1. Register Someone links the token to a bank coin. The module records the pair; nothing moves yet.
  2. Refused at the door The module calls the token’s transfer, with its own account as recipient. For a conforming ERC-3643 token, an unverified module account is refused.
  3. Convert With a verified module account, the transfer still has to pass the other rules, such as canTransfer. If they pass, the tokens move into escrow.
  4. Create coins The module creates the same amount of bank coins for the holder.
  5. Bank send The holder sends coins through the bank module. The conversion module doesn’t step in.
  6. IBC transfer The coins leave for another chain over IBC. The token contract is never called.
  7. What the agent sees The token contract shows the escrow balance. Balances held as bank coins don’t appear in it.
Seven steps in the illustrated path. Conversion calls the token; later bank or IBC moves need their own controls.

Before turning conversion on, the issuer must grasp that bank sends of the new coins don’t automatically call the token contract. Those sends stay on the bank ledger.

ADAM says: Think of buying casino chips: one checked payment, then chips change hands at the tables. Where it breaks: chips stay in the building, while bank coins can leave over IBC.

That’s a reading of one module at cosmos/evm commit 0ae5e223, from August 2026, not a claim that every Cosmos chain allows every transfer. A deployed chain can add its own rules outside this module: before you judge one, check its bank rules, IBC middleware and app wiring.

The agent can still act on the escrow itself. Freezing it can block redemption for every converted holder at once, without freezing anyone’s bank coins. A forced transfer out of it can alter or remove the backing of coins in circulation.

For the converted portion, the token contract records one shared escrow balance, not each bank holder’s balance.

ITEM GET

Checked at the door

Conversion runs the token’s checks. In this module, the bank sends that follow don’t automatically call the token contract.

Source: the cosmos/evm conversion code at the reviewed commit.

STAGE CLEAR

What you now know

  • Why conversion runs the token’s checks at the door, and why a freeze on the token contract can’t single out a holder of bank coins.
  • What the agent can still do to the escrow, and why freezing it can block redemption for every converted holder without freezing their bank coins.

Check yourself

Tap or click a question to see the answer.

Carol converts all 10 of her tokens. The agent then freezes her address, and she sends her bank coins to Dan. Does the freeze stop that send?

No, at this module and with no extra bank rule: the bank send doesn’t call the token contract. A redemption to Carol’s frozen address can fail, but her freeze alone doesn’t block a redemption to Dan.

Next stage:Once tokens are converted, what does a freeze order still reach, and which moves still run the token’s checks?6 min
Adam Boudjemaa
Adam Boudjemaa

Web3 x AI engineer, former CTO of Integra. Named author (1 of 5) of ERC-3643, first author of ERC-6960, co-author of ERC-7410, and co-author of ERC-8203, which is still a draft.

Have a project to ship or a role to fill?

Discuss your project or role

My work at the web3 x AI intersectionOpen-source tools I build

Follow the engineering notes

Get new articles on production AI and smart contracts by email.