---
title: "DID Web Registry"
description: "The wallet-api has a build-in DID Web Registry to make did:web's created via API publicly resolvable without the need to host any external services."
stack: "Community Stack (open source) — version 0.21.0"
stack_version: "0.21.0"
stack_comparison: https://docs.walt.id/community-vs-enterprise.md
canonical_url: https://docs.walt.id/community-stack/wallet/did-management/did-web-registry
generated: 2026-07-20
---
# DID Web Registry

The wallet-api has a build-in DID Web Registry to make did:web's created via API publicly resolvable without the need to
host any external services.

## Create a did:web

**Option: CURL**

[API Reference](https://wallet.demo.walt.id/swagger/index.html#/DIDs/post_wallet_api_wallet__wallet__dids_create_web)

```bash
curl -X 'POST' \
  'https://wallet.demo.walt.id/wallet-api/wallet/{wallet}/dids/create/web?domain={domain}&path={path}' \
  -H 'accept: */*' \
  -d ''
```

**Path Params**

- `wallet`: _[string]_ - The ID of the wallet to add the DID to. You can find a list of all wallets associated
  with an account using the following endpoint `/wallet-api/wallet/accounts/wallets`.

**Query Params**

- `domain`: _[string]_ - The domain that will host the DID. When you want to use the in-build did:web registry, set
  this to the domain where the wallet API is hosted.
- `path`: _[string]_ - The path at which the DID document should be hosted. If you are using the in-build did:web
  registry
  it must look like `/wallet-api/registry/$uniqueIdentifier` where the `uniqueIdentifier` can be any type of number or
  UUID.
- `keyId`: _[string]_ - Associate did:web with a key in the wallet or create a new key if none is provided.
- `alias`: _[string]_ - Alias for DID, shown on overview page and when selecting a DID for issuing a credential.

**Example Response**

```json
did:web:wallet.walt.id:wallet-api:registry:1
```

## Viewing the DID Document

According to the [official specification](https://w3c-ccg.github.io/did-method-web/), if the required domain and path
parameters are used for the in-build registry, the created DID will have its DID Document available under:
`wallet-api-host-domain/wallet/registry/{uniqueIdentifier}/did.json`

## Resolving the DID

You can also use the [Universal Resolver](https://dev.uniresolver.io/) to resolve the DID and view the DID
document.
