web3wagmi
← All standards

ERC-7858 Expirable NFTs and SBTs

FinalERCcreated 2024-01-04requires ERC-165, ERC-721

Non-fungible (NFT) and soulbound (SBT) tokens with expiration, supporting time-limited use cases.

Authors: sirawt (@MASDXI), ADISAKBOONMARK (@ADISAKBOONMARK), parametprame (@parametprame), Nacharoen (@najaroen)

ERC-165 interface ids

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

IERC78580x3ebdfa31

Functions this standard introduces (4)

0x44c816faendTime(uint256)view
0x593f0ae0expiryType()view
0x1d8e2f43isTokenExpired(uint256)view
0x3ec4c968startTime(uint256)view

Inherited (10)

0x095ea7b3approve(address,uint256)ERC-721
0x70a08231balanceOf(address)ERC-721
0x081812fcgetApproved(uint256)ERC-721
0xe985e9c5isApprovedForAll(address,address)ERC-721
0x6352211eownerOf(uint256)ERC-721
0xb88d4fdesafeTransferFrom(address,address,uint256,bytes)ERC-721
0x42842e0esafeTransferFrom(address,address,uint256)ERC-721
0xa22cb465setApprovalForAll(address,bool)ERC-721
0x01ffc9a7supportsInterface(bytes4)ERC-165
0x23b872ddtransferFrom(address,address,uint256)ERC-721

Optional extensions (1)

Interfaces the spec defines alongside the core one, which an implementation may or may not carry.

IERC7858Epoch0xec7ffd66

0x76671808currentEpoch()
0x57d775f8epochLength()
0x93c82c75isEpochExpired(uint256)
0x965f5a87unexpiredBalanceOf(address)
0xa0640656unexpiredBalanceOfAtEpoch(uint256,address)
0x683ce032validityDuration()

Events (1)

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

0x5bbbda328befc12958d162832ddcd2b701c669ae1c2a248a1af0d8891a11b6a2TokenExpiryUpdated(uint256,uint256,uint256)

Depends on (2)

Proposals this one names in its requires field.

What the specification covers

Compare with

Parsed from the canonical specification · discussion