ERC-3643 Wallet Approval: How the Whitelist Works
An agent adds Bob’s wallet to a token’s whitelist, then removes it. What happens to the 50 units he already holds?

IN 30 SECONDS
An ERC-3643 identity registry is a wallet whitelist with credentials attached: an agent key adds a wallet, and every transfer checks the receiver. Removing a wallet stops new transfers to it, but its tokens stay.
KEY TAKEAWAYS · 3
- ERC-3643 can implement the whitelist pattern: an agent key adds a wallet, and every transfer checks the receiver.
- Removing a wallet blocks new transfers to it, but its tokens stay where they are.
- The owner key can swap the identity registry. Who holds which key is for the issuer, its transfer agent and counsel.
On this page
How an ERC-3643 identity registry whitelists a wallet, step by step
IN SHORT Registry owners set the rules, an agent key adds the wallet, and every transfer checks the receiver against those rules again.
WORDS TO KNOW
- Identity registry
- The ERC-3643 contract that lists registered wallets and links each to an identity record.
- Claim
- A signed statement on an investor’s ONCHAINID, such as “passed identity checks”, from a party the token trusts.
- Agent key
- An address the owner appoints for daily actions, such as adding wallets or freezing. The owner key sets the rules.
IN PLAIN WORDS
The check lives in the token. Its Identity registry The ERC-3643 contract that lists registered wallets and links each to an identity record. See the glossary links each registered wallet to the investor’s identity record (ONCHAINID) and a country code. An Agent key An address the owner appoints for daily actions, such as adding wallets or freezing. The owner key sets the rules. See the glossary writes each entry.
STEP BY STEP
Step 1. Set the rules. The registry owners pick the required claims and trusted issuers. A deployment may give both to the token owner.
- Set the rules The registry owners pick the required claims and trusted issuers. A deployment may give both to the token owner.
- Sign a claim A trusted issuer signs a claim, such as a passed ID check, onto Bob’s ONCHAINID.
- Add the wallet An agent key adds Bob’s wallet, his ONCHAINID and a country code. That’s the whitelisting write.
- Ask On every transfer, mint (new tokens) and forced transfer (an agent move without the holder’s signature), the token asks about the receiver.
- Answer Yes only if every required topic has a valid claim from a trusted issuer.
- Refused Carol’s wallet was never added: the answer is no, and nothing moves.
The spec (status: Final) calls it “a dynamic whitelist of identities”. The right to hold the token isn’t a switch flipped once. It’s worked out again at each transfer, from the receiver’s Claim A signed statement on an investor’s ONCHAINID, such as “passed identity checks”, from a party the token trusts. See the glossary.
ADAM says: Picture a front desk: a clerk adds your badge, a reader checks it at each door. Where it breaks: this reader also holds the balances, and the proposal never says if the clerk’s job is a transfer agent’s.
WATCH OUT
Two catches in T-REX
With no claim topics set, any registered wallet passes. And an ordinary transfer checks the receiver’s identity only; the sender is checked for freezes and free balance.
Coming up next: So what happens to a wallet that’s removed while it still holds tokens?
A worked example: one wallet added, then removed
IN SHORT Removing a wallet from the whitelist stops new transfers to it, but its tokens stay where they are.
A WORKED EXAMPLE
Illustrative numbers
PASSBob joins the whitelist and receives 50 units
INPUT
- Receiver
- Bob, added by an agent
- Transfer
- Alice sends 50 units
WHAT HAPPENS
- Bob’s claims are valid, and the pause, freeze, balance and compliance checks pass.
- The transfer settles, and the off-chain register shows Bob with 50 units.
OUTPUT
- Bob’s balance
- 50
- Reconciliation
- no difference
FLAGGEDLater, an agent deletes Bob’s identity
INPUT
- Action
- remove Bob’s wallet from the registry
WHAT HAPPENS
- The identity check on Bob’s wallet now says no, so new transfers to him fail.
- His 50 units don’t move: deleting an identity doesn’t burn (destroy) or move tokens.
OUTPUT
- Bob’s balance
- 50 (still there)
- Reconciliation
- balance with no identity
ITEM GET
Removed is not emptied
Coming up next: So who holds the keys that add and remove wallets?
Which role key does what
IN SHORT The owner key sets the rules and can swap the registry. Agent keys act on wallets, and each contract keeps its own list of agents.
Defines the requirements
Changes the whitelist
To a verified wallet, skipping the pre-transfer check
Moves a holder to a new wallet
Replaces them outright
WATCH OUT
Recovery has a gap
The code checks that the new wallet is a management key on the ONCHAINID the agent passes in. It doesn’t check that this ONCHAINID is the lost wallet’s, so that check belongs in the agent’s procedure.
Under the proposal, the transfer agent would keep exclusive control of the official list. Now say it holds the agent keys and the issuer holds the owner key. Then the issuer can swap the identity registry.
Is that still exclusive control? I won’t answer that as law.
I’d write the key map down. I’d put the owner key behind a multisig (a wallet needing several signatures) with named signers. And I’d ask counsel before deploying.
FAQ
Owners set the rules. An agent key adds each wallet, and every transfer checks the receiver: that can implement the whitelist pattern. Which legal entity should hold the agent key is for the issuer, its transfer agent and counsel.
STAGE CLEAR
What you now know
- Who sets the rules, who adds a wallet, and why each transfer checks the receiver again.
- Why a removed wallet still holds its tokens, and why the owner key matters for exclusive control.
Check yourself
Tap or click a question to see the answer.
Alice’s identity was deleted from the registry, but she still holds tokens. She sends some to Bob, who is verified. Does the deleted identity stop the transfer?
Not by itself. In T-REX, an ordinary transfer checks the receiver’s identity only. Alice is checked for freezes and free balance instead.
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. Building production AI and regulated Web3 systems.
Have a project to ship or a role to fill?
Discuss your project or roleFollow the engineering notes
Get new articles on production AI and smart contracts by email.

