web3wagmi
← All standards

ERC-7994 Purpose-Bound ERC-20 with Conditional Unlock

FinalERCcreated 2025-07-29requires ERC-20, ERC-7291

Extends ERC-20 with programmable restrictions, enabling transfers based on multiple unlock conditions as defined in EIP-7291.

Authors: Anushka Yadav (@64anushka), Akash Kothawade (@akash3927), Atishek Singh (@atisheksingh)

ERC-165 interface ids

Computed here as the XOR of the selectors each interface defines.

IPurposeBoundERC200x110b6eea
IConditionChecker0xd6d4a730

Functions this standard introduces (4)

0x91c0fd81bindPurpose(address,uint256,(bytes32,bytes)[],uint256)
0xbd66528aclaim(bytes32)
0xd6d4a730isConditionMet(address,bytes)view
0x3dadc1e1isUnlocked(bytes32)view

Events (2)

Topic0 is the keccak256 hash of the signature, which is what a log filter matches on.

0xf2ff0e8c08b010f7b6c308b90f8e31d84030686e5db9e5966af70e92f2ca8780PurposeBound(bytes32,address,address,uint256)
0xcec827f4f11243ff81d0dc72ade4e9137333ed088bee4e6120b2254d2d8e8a99Claimed(bytes32,address)

Depends on (2)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion