ERC-3643 Transfers: What They Check and What They Cost
Same token, two receivers: one gets the tokens, one is refused, and both can cost gas. What does the token check?

IN 30 SECONDS
ERC-3643 is an Ethereum token standard that checks, before an ordinary transfer, that the receiver is verified and that the move follows the token’s rules. In the spec, the issuer’s minting and forced transfers skip those rules but still need a verified receiver.
KEY TAKEAWAYS · 3
- Estimate cost from the transactions a workflow really creates and their measured gas. A fixed gas price is not a fixed cost in dollars or euros.
- ERC-3643 checks the receiver’s identity separately from the transfer rules, on an existing network.
- In the spec, minting and forced transfers skip the compliance rules but still need a verified receiver, so review the issuer’s powers on their own.
On this page
Count transactions, not business steps
IN SHORT A cost estimate counts the transactions your workflow really creates, not its business steps.
WORDS TO KNOW
- ERC-3643
- An Ethereum token standard where only verified holders can receive tokens, and each ordinary transfer must pass the token’s rules.
- Gas
- The unit that measures a transaction’s computing work. The fee is the gas used times the gas price.
- EVM
- The engine that runs smart contracts on Ethereum and on networks compatible with it.
I’m one of the five named authors of ERC-3643, a standard for tokens with rules on who may hold them.
A permissioned token like ERC-3643 can run on an existing EVM network, so a separate chain needs more evidence than “real estate is regulated.”
Ethereum-compatible networks run the EVM The engine that runs smart contracts on Ethereum and on networks compatible with it. See the glossary. One transaction can hold several checks, so a five-step process doesn’t always mean five paid transactions.
STEP BY STEP
Step 1. Read source records. A read sends no paid transaction, but the RPC provider, the service that answers an app’s reads, can still charge.
- Read source records A read sends no paid transaction, but the RPC provider, the service that answers an app’s reads, can still charge.
- Prepare an allowed action Check the inputs and the approvals the action needs.
- Submit the state change This is the paid transaction. Measure its gas on the build you plan to use, under the load you expect.
- Reconcile the result Index what happened and handle failures.
Execution fee estimate = transactions × measured gas × effective gas price
Fiat estimate = native-token fee × assumed token price
Separate costs = RPC + indexing + storage + providers + operations
For an L2 = include its applicable data/settlement chargesIN PLAIN WORDS
These are inputs for a budget, not a published benchmark. Ethereum’s docs keep gas used and gas price apart. A fixed Gas The unit that measures a transaction’s computing work. The fee is the gas used times the gas price. See the glossary price still gives a cost in dollars or euros that moves.
A read through eth_call sends no paid transaction. The same code run inside a transaction does use gas.
Coming up next: So what does the token itself check inside that transaction?
What ERC-3643 already gives you
IN SHORT ERC-3643 already splits two checks: is the receiver verified, and does this transfer follow the token’s rules?
In the ERC-3643 An Ethereum token standard where only verified holders can receive tokens, and each ordinary transfer must pass the token’s rules. See the glossary spec, these checks are called isVerified and canTransfer. A normal transfer also checks that the token isn’t paused and that neither wallet is frozen. See the transfer rules in the spec.
WATCH OUT
The issuer’s own actions work differently. In the spec, minting new tokens and forced transfers need a verified receiver but skip the compliance rules. Burning tokens skips the check on who may hold them.
So review those powers on their own. The standard gives you technical controls; the issuer’s team still sets their legal purpose.
What the token does
What your deployment must handle
A worked example: one transfer settles, one reverts
IN SHORT Same token, same sender, two receivers: the verified one gets the tokens, the other transfer reverts.
A WORKED EXAMPLE
Illustrative numbers
PASSTransfer 1: the receiver is verified
INPUT
- From
- Alice (verified)
- To
- Bob (verified)
- Amount
- 100 tokens
WHAT HAPPENS
- No pause, no frozen wallet, enough free balance.
- Is Bob verified? Yes: he holds the required claims.
- Does the transfer fit the token’s rules? Yes.
OUTPUT
- Result
- 100 tokens move to Bob
- Cost
- one transaction, gas paid
REVERTEDTransfer 2: the receiver has no valid claim
INPUT
- To
- Carol (no valid claim)
- Amount
- 100 tokens
WHAT HAPPENS
- Is Carol verified? No.
- The transfer reverts, so no balance changes.
- The failed transaction can still be included and consume gas.
OUTPUT
- Result
- no tokens move
- Cost
- gas can still be paid
The names and amounts are invented; the checks are the ones ERC-3643 names. A revert rolls the balance change back, but the failed transaction can still land in a block and cost gas.
ITEM GET
Checks first, then the move
EIP-140, an Ethereum Improvement Proposal, defines the REVERT step. Validators don’t ignore its result. Three more things need their own review on your network: getting transactions in, resisting censorship, and recovering when a data source goes down.
FAQ
An L2 with ERC-3643 can be a good place to start, if its operation, fees, security and tools fit. A custom chain needs a requirement the L2 can’t meet, and a team to run it.
As CTO from March 2025 to June 2026, I built the engineering team and led a Cosmos EVM chain until it was ready for a mainnet launch. I’m not claiming a mainnet in production, or announcing launch dates.
STAGE CLEAR
What you now know
- How to estimate a workflow’s cost from transactions and measured gas.
- What ERC-3643 checks on every ordinary transfer, and which issuer powers skip the compliance rules.
Check yourself
Tap or click a question to see the answer.
The issuer forces a transfer to a verified wallet that the transfer rules would block. Do those rules stop it?
No. In the spec, a forced transfer needs a verified receiver but skips the compliance rules.
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.