Company: Personal project Role: Author Stack: Solidity 0.8.35 · Foundry · ERC-165 · ERC-721 · ERC-5192 Period: 01/2026 – present
Draft ERC standard for soulbound tokens where tokenId derives deterministically
from owner address XOR contract address: tokenId = uint256(uint160(owner)) ^ uint160(address(this)).
Enforces one-token-per-address at protocol level with minimal storage footprint.
tokenId = owner XOR contract address - unique per owner per contract, no sequential countermapping(uint256 => bool) for existence tracking instead of owner mappinglocked() always returns true| Decision | Rationale |
|---|---|
| XOR with contract address | Makes ID unique per-contract, not just per-owner globally |
| Remove transfer/approve entirely | Prevents accidental bypass vs. revert-on-call override |
| Extend ERC-721 Metadata & ERC-5192 | Well-established interfaces; wallets and indexers support them natively, compatibility is free |