ERC-5484: Consensual Soulbound Tokens
ERC-5484 extends the soulbound concept with explicit consent semantics for who can burn the token: the issuer, the recipient, both, or neither. This addresses real use cases: a recipient should be able to burn an unwanted credential, an issuer should be able to revoke a fraudulent one, and some tokens (e.g. blacklist marks) should be permanent.
BurnAuth Enum
| Value | Who can burn |
|---|---|
0 IssuerOnly | Only the contract issuer |
1 OwnerOnly | Only the token holder |
2 Both | Either party |
3 Neither | Permanent — neither can destroy it |
Required Method
solidity
function burnAuth(uint256 tokenId) external view returns (BurnAuth);
event Issued(address indexed from, address indexed to, uint256 indexed tokenId, BurnAuth burnAuth);Neo Equivalent: Direct Port
Standard Neo C# port — store per-token burnAuth and check it in the burn function.
Live on Neo TestNet
Both implementations are deployed on Neo N3 TestNet (network magic 894710606).
| Implementation | Contract Hash | Deploy Tx |
|---|---|---|
Solidity (neo-solc) | 0x8a9e1835270c95ddf5250ee84a1d4714552cb951 | 0xa440db2d…f4246a |
Neo C# (nccs) | 0x02317b7192e3d91ba1739ae2a9f5fdcd44bf2dac | 0xebc7d7f7…d9432c |
Cross-implementation invocations match on claimIssuer, tokenCount, getIssuer. Source pairs under docs/standards-mirror/deployments/erc-5484/.
