ERC-5114: Soulbound Badge (Bound to NFT)
ERC-5114 defines tokens that are bound to a parent NFT rather than to an account — a badge attached to your CryptoPunk, an achievement attached to your in-game character, a delegation marker attached to a governance NFT. The badge follows the parent NFT through transfers but cannot be moved independently.
Required Interface
function ownerOf(uint256 badgeId)
external view returns (uint256 nftAddressAndId); // packed: addr | tokenId
function collectionUri() external view returns (string memory);
function badgeUri(uint256 badgeId) external view returns (string memory);Neo Equivalent: Direct Port
Neo C# port: each badge stores a reference to its parent (parent contract hash + tokenId). The badge's effective owner is whoever owns the parent NFT; resolved on each query.
Live on Neo TestNet
Both implementations are deployed on Neo N3 TestNet (network magic 894710606).
| Implementation | Contract Hash | Deploy Tx |
|---|---|---|
Solidity (neo-solc) | 0x91e34b16c373f845024013c3bd585ac9739b741f | 0x8cca8503…3a8c3a19 |
Neo C# (nccs) | 0xd9d32f5f8d2d0cd5196cd94b49e3d11ac46d7039 | 0x7dd08b98…170ee73 |
Cross-implementation invocations match on claimDeployer, badgeCount, getOwner. Source pairs under docs/standards-mirror/deployments/erc-5114/.
