Skip to main content

Universal Resolver for IOTA DIDs

The IOTA Identity framework includes a Universal Resolver driver that supports the did:iota method. This driver is part of the Universal Resolver infrastructure, which provides a unified interface for resolving DIDs across different methods.

Example DIDs

You can resolve IOTA DIDs like this example:

did:iota:0xf4d6f08f5a1b80dd578da7dc1b49c886d580acd4cf7d48119dfeb82b538ad88a

Quick Start with Docker

The fastest way to get started is using our Docker image:

# Pull and run the Docker image
docker run -p 8080:8080 iotaledger/uni-resolver-driver-iota

Once running, you can resolve DIDs using a simple HTTP request:

curl -X GET localhost:8080/1.0/identifiers/<did>

Building from Source

If you prefer to build from source using Rust:

cargo run --release

Network Configuration

The resolver supports three network types:

  • Testnet
  • Devnet
  • Custom networks
note

Mainnet support is coming soon.

Environment Variables

Configure the network using these environment variables:

VariableRequiredDescription
NETWORKYesNetwork type: "testnet", "devnet", or "custom"
IOTA_CUSTOM_NODE_ENDPOINTOnly for custom networkThe URL of your custom node
IOTA_CUSTOM_IDENTITY_PKG_IDOnly for custom networkThe identity package ID for your custom network

Configuration Examples

Single Network

NETWORK=testnet

Multiple Networks

NETWORK=testnet,devnet

Custom Network

NETWORK=custom
IOTA_CUSTOM_NODE_ENDPOINT=https://your-custom-node-endpoint.com
IOTA_CUSTOM_IDENTITY_PKG_ID=0x4bbd377239914fced5c1207a28443064050e880a1234858904e0ce31a5a9768c

Specifications

For detailed information about the IOTA DID method, refer to the IOTA DID Method Specification.

Additional Resources