Skip to main content
peaqID is a W3C that identifies a machine across every chain it transacts on.

DID format

Every peaqID follows the format:
The is the machine’s on . The DID resolves to a flat key-value attribute store on the peaq DID (0x0000000000000000000000000000000000000800). Any consumer can start from the DID and traverse to the machine’s identity, financial history, and .

Per-machine vs per-proxy

peaqOS assigns one DID per machine and one DID per . The two serve different roles: A machine that self-manages has no operator attribute. A proxy operator’s machines attribute is a JSON array of (e.g., [123, 456, 789]).
DID writes always go to the caller’s DID. The DID precompile keys attributes by msg.sender. A proxy that calls registerFor the machine’s and pays the , but it cannot write attributes to the machine’s DID; the machine must sign its own writeMachineDIDAttributes call. Skipping this leaves the machine unreachable through the .

DID attribute table

After registration, the operator or machine must explicitly call writeMachineDIDAttributes (or writeProxyDIDAttributes) to write these attributes to the DID. Registration itself only mints the identity and creates the machine ID; the DID attribute writes are a separate .

Byte limits

Both SDKs enforce these constraints before any DID write reaches the chain:
Migration. peaq chain has approximately 3.5 million existing peaqID holders. Existing holders retain their peaqIDs. A migration path to the current DID format is on the roadmap; the new format is what onboards from peaqOS today.

Resolving a peaqID

Data visibility modes

The data_visibility attribute controls how the MCR API handles raw data for this machine: private is the default when data_visibility is unset or empty.
  • Activate function registers machines and writes DID attributes
  • GET /machine/ returns the full machine profile, including DID-sourced metadata
  • Machine NFT is linked to the peaqID via the nftTokenId attribute