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?
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
Step 1. Register. Someone links the token to a bank coin. The module records the pair; nothing moves yet.
- Register Someone links the token to a bank coin. The module records the pair; nothing moves yet.
- 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.
- 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.
- Create coins The module creates the same amount of bank coins for the holder.
- Bank send The holder sends coins through the bank module. The conversion module doesn’t step in.
- IBC transfer The coins leave for another chain over IBC. The token contract is never called.
- What the agent sees The token contract shows the escrow balance. Balances held as bank coins don’t appear in it.
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
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.
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 roleMy 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.

