ioID Registry
Example ioID Registry Entry
ioID Identifier
NFT chainID
NFT contract
NFT tokenID
Key Functions
Device Ownership Lookup
ownerOf(uint256 tokenid)The ioID Registry is a smart contract deployed on the IoTeX Layer 1 blockchain. It acts as the authoritative on-chain source for mapping physical devices to their corresponding:
Device NFTs (ERC-721 tokens)
Owners’ wallet addresses
Machine-Bound Accounts (MBAs)
This registry extends the logic defined in ERC-6551, which enables NFTs to serve as smart contract wallets through token-bound accounts. The ioID Registry adapts and applies this model specifically to DePIN devices.
The following table shows a sample entry in the ioID Registry, illustrating how a device identifier is linked to its NFT representation:
5RJ1UfUCLX6...yH1bkF5CC4WpHXxa
1
0x0ca53...400c
123
This mapping allows contracts and off-chain services to resolve device identity, ownership, and associated MBAs using deterministic lookups.
To determine the current owner of a device:
ownerOf(uint256 tokenid)This function is called on the NFT contract. The tokenId corresponds to the unique identifier for the device’s NFT.
To retrieve the MBA (Machine-Bound Account) address associated with a device, call the account(...) function in the MBA factory contract:
This function returns the on-chain address of the MBA smart contract tied to the specific device NFT. This allows external Dapps to securely interact with the device’s programmable wallet.
function account(
address implementation,
bytes32 salt,
uint256 chainId,
address tokenContract,
uint256 tokenId
) external view returns (address account)
