Aboutthe group
An independent group writing Ethereum standards. No foundation behind it, no token, and no position on which chain you deploy to.

Every contract on Ethereum is its own program, so there is no shared runtime to ask. We write the standards that let a contract answer for itself — and that let you check the answer without trusting whoever wrote it.

The problem is the same at every layer, and it is not a missing capability. Fee-on-transfer, pausing, freezing, royalties, revocation — all of it ships today. What is missing is a way for a contract to say which of them it has, cheaply enough that reading it is not a favour, and a way to establish that the answer came from code somebody vetted.
So a standard here is not finished when the interface is agreed. It is finished when there is a reference implementation, a suite that proves the claim rather than restating it, and numbers that were measured. The first one, ONE-ERC, took four review rounds to reach that bar, and each round found something that changed the code.
Five modules
Identifiers are hashed from a name, not from an interface's selectors, so adding a view function to an interface does not silently change every deployed token's identifier.
Nine bits, one word. Six describe what a transfer does. Three describe what an authority can do to you.
One _update, four phases
Every balance change passes through a single override that fixes the phase order. Modules override phases instead of chaining super calls, so a module cannot change the order by being listed first, and each phase sees the arguments it was designed for.
Read the pipeline_update(from, to, value)
1. restriction checks
mint and burn arrive with the zero address intact
2. fee collection
own _rawUpdate, own Transfer event; skipped on mint/burn
3. the transfer itself
for value - fee
4. the hook
after balances settle, guarded, under a gas cap



