ioID Identifier & DID Document Structure

ioID Identifier

Each ioID is a Decentralized Identifier (DID) formatted as:

did:io:<identifier_string>

The identifier_string is derived from a combination of:

  • A unique project name

  • A project-specific device identifier (e.g., serial number, IMEI, MAC address)

Example

did:io:5RJ1UfUCLX68KeFMmuvaVsm6m5Y7yH1bkF5CC4WpHXxa

This did:io format uniquely and immutably identifies a physical device in a decentralized manner.

DID Document

Each did:io identifier is associated with a DID Document, a JSON-LD metadata object stored securely on IPFS. The document describes key attributes of the device and its ownership.

It may include:

  • Public keys or verification methods

  • Authentication and authorization settings

  • Device owner or controller information

  • Associated services (e.g., data feeds, project memberships)

  • Machine-bound account (MBA) references

DID Doc Example (Without Public Key)

DID Doc Example (With Public Key)

Summary

  • did:io identifiers are globally unique, decentralized, and resolvable via IPFS-hosted DID Documents.

  • These documents define who controls a device, how it authenticates, and what services or projects it belongs to.

  • Public keys are optional but enable advanced use cases like self-sovereign devices or on-device signing.