Hi everyone,
DeFi today faces a trade‑off: you can have liquidity, or you can have utility. Tokens that are highly liquid (like ERC‑20) carry no state - they are just balances. Tokens that carry state (like ERC‑721 or ERC‑1155) fragment liquidity because each variant is a separate class. Respectively, agents and structured products cannot easily build on either without choosing between the two.
I’d like to propose a new ERC-20 compatible solution: Parametric Token. It keeps tokens fungible while allowing each account to hold its own set of parameters. The parameter travels with the token, updates deterministically on transfer, and can be mutable or immutable.
The idea
A Parametric Token is an ERC‑20 with extra data attached to each balance. Think of it as a token with state that deterministically mutates with every transfer: a prediction price, a mint time, a trust score, or a bundle ratio. When a token is minted, you either set the values or get automatic initialization. Once you transfer the token, the parameters update according to their respective pure functions (e.g., weighted average, max, or advanced formulas). Neither recipient nor any special contract (engine) decides on the final parameters state - it’s processed automatically by the token contract.
This is not a new token class: it is a new property of fungible ERC-20 tokens.
If there is a variety of the same token, then how to manage it properly? For this, the standard suggests a sub-accounts structure: you CAN convert your account into a Super account with multiple sub-accounts to be able to process the same token with different parameters using the same wallet address.
In addition to sub-accounts, the standard:
- divides allowances into Specific (used by a particular sub-account) and General (used by the rest of sub-accounts) allowances
- introduces non-zero-sum transfers (when
creditAmount != debitAmount) - they must implement an optional interface for proper balance accounting.
How it can be used:
-
Liquidity consolidation. Tokens with different parameters trade in the same pool (e.g. scalar price predictions). No necessity for fragmentation - just mint the token with price you believe in (expected BTC price as of Aug 20 will be $75400) and trade it in a single liquidity pool.
-
Velocity control. You can design tokens that effectively controls turnover (age‑based fees, tenure rewards). Construct your rewards/fees in the way you’d like to encourage/discourage token holding.
-
Advanced derivatives. Containerize value the way you prefer, with parameter‑based weights working out‑of‑the‑box.
-
Agentic systems. Pure, deterministic mutations and sub‑account isolation make parametric token a natural primitive for autonomous agents. Agents can encode reputation, trust, or strategy directly in the token state, which is preserved by the token contract.
Links:
ERC draft:
https://github.com/K2eno/parametric-token/blob/main/ERCS/erc-8378.md
Implementations (prediction, tenure and bundle tokens):
https://github.com/K2eno/parametric-token
PR:
https://github.com/ethereum/ERCs/pull/1937
Open questions:
I would especially appreciate feedback on these points:
-
Gas cost. The parameter mutation logic adds gas overhead per every transaction (mint/transfer/burn). In practice, for a few (1‑3) parameters, it looks acceptable. Should we make extra effort to reduce the cost?
-
Parameter limits.
uint64is flexible, but is a fixed‑length array (uint8 NUMBER_OF_PARAMETERS) the right choice? -
Sub‑account deletion. There is no way to return back from Super account to Normal account; there is no way to delete a sub‑account - the owner can leave it empty, but the index remains. Are these limitations, or are they acceptable given the bounded nature of use cases?
-
NZS detection. The optional NZS extension uses ERC‑165. Is that sufficient for indexers and wallets to reliably detect non‑zero‑sum behaviour?
-
Engine integration. The reference implementations use an external engine for mint/burn, but the token itself does not enforce economic safeguards (collateral, caps, etc.). Should the standard recommend a specific pattern for these (like inbound allowances), or is it better left to integrators?
Any other questions or comments are welcome. I’ll open a PR shortly. Feedback is appreciated, particularly from anyone who has worked on prediction markets, RWA tokens, or agentic systems.
Thanks for reading.
Alexander Zvezdin (@k2eno)