This proposal defines a "Group" as an ERC-20 token where token balance represents membership level. Groups are standard ERC-20 tokens with the semantic interpretation that holding tokens means membership in the group. Unlike binary membership, this supports threshold-based membership: holding more tokens grants higher membership tiers or privileges. By being pure ERC-20, Groups inherit full compatibility with existing wallets, explorers, and tooling with no additional implementation burden.
Motivation
Many applications need addressable groups of accounts with controlled membership and tiered access:
DAOs: Voting power proportional to token holdings
Loyalty programs: Bronze/Silver/Gold tiers based on token balance
Access control: Different features unlocked at different balance thresholds
Partner networks: Minimum token requirements for partnership benefits
The key insight is that any ERC-20 token can represent group membership:
balanceOf(account) == 0 → Not a member
balanceOf(account) >= threshold → Member at that tier
This approach provides:
Zero implementation overhead: Any ERC-20 token can be a Group
Instant tooling compatibility: Wallets, explorers, DEXs work out of the box
Tiered membership: Different balance thresholds unlock different privileges
Transferable membership: Standard ERC-20 transfers allow membership trading/delegation
Specification
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 and RFC 8174.
Implementations that want a single-owner governance model MAY use ERC-173 or ERC-8023 for standardized ownership.
Capped Membership (Balance ≤ 1)
For use cases requiring binary membership (member/non-member with no tiers), implementations MAY enforce balanceOf(account) <= 1 for all accounts.
Rationale
Pure ERC-20: A Group is simply an ERC-20 token with membership semantics. No new token standard needed.
No minting/burning mandate: Different use cases need different minting policies. The standard doesn't prescribe one.
Threshold-based membership: More flexible than binary membership; supports tiered access, loyalty programs, and proportional voting naturally.
Optional interface: The isMember function is a convenience; applications can directly call balanceOf if preferred.
Maximum compatibility: Any existing ERC-20 token can be interpreted as a Group by applications.
Backwards Compatibility
This standard is fully backwards compatible with ERC-20. In fact, any existing ERC-20 token can be used as a Group — the standard simply defines how to interpret token balance as membership.
Reference Implementation
Reference contracts are provided in the assets/ directory: