Skip to content

Add ERC: Stateful Fungible Token#1762

Closed
cc358 wants to merge 3 commits into
ethereum:masterfrom
cc358:add-stateful-fungible-token
Closed

Add ERC: Stateful Fungible Token#1762
cc358 wants to merge 3 commits into
ethereum:masterfrom
cc358:add-stateful-fungible-token

Conversation

@cc358

@cc358 cc358 commented May 22, 2026

Copy link
Copy Markdown

Summary

Adds a new Standards Track (ERC) proposal: Stateful Fungible Token — an ERC-20
extension that maintains a per-holder, on-chain provenance lineage which updates
automatically on every transfer, while preserving full ERC-20 fungibility and
backwards compatibility.

Discussion thread: cc358/dna-standard#1

What it does

  • Every holder carries a weighted set of ancestor addresses (a "lineage") whose
    weights sum to 100% (10000 bps) when the balance is non-zero.
  • On each non-exempt transfer, the recipient's lineage is re-blended from its prior
    lineage and the sender's, weighted by the recipient's balance and the amount sent.
  • Bounded by a depth cap (maxLineageDepth) and a dustThreshold, keeping per-transfer
    gas bounded and resisting 1-wei sybil/dust pollution.
  • Mint/burn, the contract itself, and designated router/liquidity contracts (e.g.
    Uniswap V4 PoolManager) are exempt, so AMM swaps and vault flows don't pollute lineage.
  • Adds only view functions (lineageOf, lineageDepth, ancestorWeight,
    maxLineageDepth, blendRatio, dustThreshold) plus a LineageUpdated event.
    No ERC-20 method signature, return value, or side effect is changed.

Motivation

ERC-20 (fully fungible, no history) and ERC-721 (full identity, no fungibility) sit at
opposite ends of a spectrum. Many on-chain primitives — reputation systems,
sybil-resistant airdrops, on-chain social graphs, lineage-based access control — need
both liquidity and provenance. By attaching provenance to the holder rather
than the unit, this standard preserves full ERC-20 fungibility (pools, swaps,
accounting all work unchanged) while making a wallet's history a queryable, composable
on-chain property.

Reference Implementation

A complete, tested reference implementation (OpenZeppelin ERC-20 base + Uniswap V4 hook
integration; property-based tests covering weight conservation, depth-cap eviction, dust
handling, and 1-wei sybil resistance) is available at:

https://github.com/cc358/dna-standard

EIP-1 checklist

  • This is a Standards Track proposal, category ERC.
  • Title and description follow the EIP-1 preamble format.
  • Specification uses RFC 2119 keywords.
  • Includes Abstract, Motivation, Specification, Rationale, Backwards Compatibility,
    Reference Implementation, Security Considerations, and Copyright (CC0).
  • Fully backwards compatible with ERC-20.
  • Open-source reference implementation linked above.
  • discussions-to set: ERC Stateful Fungible Token — Discussion Thread cc358/dna-standard#1
  • eip provisionally set to the PR number (1762); final number to be confirmed by an editor.

@eip-review-bot

eip-review-bot commented May 22, 2026

Copy link
Copy Markdown
Collaborator

File ERCS/erc-1762.md

Requires 1 more reviewers from @g11tech, @jochem-brouwer, @samwilsn, @xinbenlv

@github-actions

Copy link
Copy Markdown

The commit b26a71e (as a parent of 9800375) contains errors.
Please inspect the Run Summary for details.

@cc358

cc358 commented May 23, 2026

Copy link
Copy Markdown
Author

Withdrawing this draft for now; will revisit later. Apologies for the noise.

@cc358 cc358 closed this May 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants