Resolver Configuration Reference

This reference documents the configuration options for the resolver service. The resolver is responsible for translating decentralized identifiers (DIDs) into their corresponding DID documents.

Core Configuration

This section documents the complete configuration provided by Vidos.

{
    "cors": {
        "enabled": false,
        "origin": ["*"],
        "credentials": false,
        "allowMethods": ["GET", "POST", "PUT", "PATCH", "DELETE", "OPTIONS"],
        "exposeHeaders": [],
        "allowHeaders": [],
        "maxAge": 86400
    },
    "methods": {
        "cheqd": { "enabled": true },
        "dht": { "enabled": true },
        "ebsi": {
            "enabled": true,
            "registry": {
                "environment": "pilot.v5"
            }
        },
        "ens": { "enabled": true },
        "ethr": { "enabled": true },
        "iden3": { "enabled": true },
        "ion": { "enabled": true },
        "jwk": { "enabled": true },
        "key": { "enabled": true },
        "oyd": { "enabled": true },
        "pkh": { "enabled": true },
        "plc": { "enabled": true },
        "polygonid": { "enabled": true },
        "web": { "enabled": true }
    },
    "response": {
        "contentType": "application/did+ld+json",
        "preferredPublicKeyEncoding": "publicKeyBase58"
    }
}

Configuration Schema

The complete JSON Schema for the resolver configuration is available:

Configuration Options

cors Configuration

For CORS configuration options see the CORS Configuration Reference.

methods Configuration

Each DID method can be individually enabled or disabled. Some methods support additional configuration options. For details on all supported methods, see the Supported DID Methods documentation.

cheqd

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:cheqd method
  • See: cheqd DID Method Specification

Example configuration:

{
    "methods": {
        "cheqd": {
            "enabled": true
        }
    }
}

dht

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:dht method
  • See: DHT DID Method Specification

Example configuration:

{
    "methods": {
        "dht": {
            "enabled": true
        }
    }
}

ebsi

ebsi.registry.environment Options
EnvironmentDescriptionUse CaseNetwork URL
conformance.v5Conformance Test Network v5Development and conformance testinghttps://api-conformance.ebsi.eu
pilot.v5Pilot Network v5Pre-production validationhttps://api-pilot.ebsi.eu

Example configuration:

{
    "methods": {
        "ebsi": {
            "enabled": true,
            "registry": {
                "environment": "pilot.v5"
            }
        }
    }
}

ens

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:ens method
  • See: ENS DID Method Specification

Example configuration:

{
    "methods": {
        "ens": {
            "enabled": true
        }
    }
}

ethr

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:ethr method
  • See: ETHR DID Method Specification

Example configuration:

{
    "methods": {
        "ethr": {
            "enabled": true
        }
    }
}

iden3

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:iden3 method
  • See: iden3 DID Method Specification

Example configuration:

{
    "methods": {
        "iden3": {
            "enabled": true
        }
    }
}

ion

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:ion method
  • See: ION DID Method Specification

Example configuration:

{
    "methods": {
        "ion": {
            "enabled": true
        }
    }
}

jwk

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:jwk method
  • See: JWK DID Method Specification

Example configuration:

{
    "methods": {
        "jwk": {
            "enabled": true
        }
    }
}

key

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:key method
  • See: Key DID Method Specification

Example configuration:

{
    "methods": {
        "key": {
            "enabled": true
        }
    }
}

oyd

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:oyd method
  • See: OYD DID Method Specification

Example configuration:

{
    "methods": {
        "oyd": {
            "enabled": true
        }
    }
}

pkh

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:pkh method
  • See: PKH DID Method Specification

Example configuration:

{
    "methods": {
        "pkh": {
            "enabled": true
        }
    }
}

plc

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:plc method
  • See: PLC DID Method Specification

Example configuration:

{
    "methods": {
        "plc": {
            "enabled": true
        }
    }
}

polygonid

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:polygon method
  • See: PolygonID DID Method

Example configuration:

{
    "methods": {
        "polygonid": {
            "enabled": true
        }
    }
}

web

  • Type: object
  • Properties:
    • enabled: boolean
  • Default: { "enabled": true }
  • Description: Controls support for did:web method
  • See: Web DID Method Specification

Example configuration:

{
    "methods": {
        "web": {
            "enabled": true
        }
    }
}

Response Settings

contentType

  • Type: string see contentType Options
  • Default: "application/did+ld+json"
  • Description: Specifies the content type of the DID resolution response
  • Effects:
    • Determines response format returned by resolver
    • Affects response header Content-Type
    • Influences client processing requirements
  • See: DID Resolution Content Types
contentType Options
Content TypeDescriptionUsage
application/did+ld+jsonJSON-LD formatted DID DocumentUse when JSON-LD context processing is required
application/did+jsonJSON formatted DID DocumentUse when JSON-LD processing is not needed

Example with application/did+ld+json:

{
    "@context": ["https://www.w3.org/ns/did/v1"],
    "id": "did:example:123",
    "verificationMethod": [
        {
            "id": "did:example:123#key-1",
            "type": "JsonWebKey2020",
            "controller": "did:example:123",
            "publicKeyJwk": {
                "kty": "EC",
                "crv": "P-256",
                "x": "example_x_value",
                "y": "example_y_value"
            }
        }
    ]
}

Example with application/did+json:

{
    "id": "did:example:123",
    "verificationMethod": [
        {
            "id": "did:example:123#key-1",
            "type": "JsonWebKey2020",
            "controller": "did:example:123",
            "publicKeyJwk": {
                "kty": "EC",
                "crv": "P-256",
                "x": "example_x_value",
                "y": "example_y_value"
            }
        }
    ]
}

preferredPublicKeyEncoding

  • Type: string see preferredPublicKeyEncoding Options
  • Default: "publicKeyBase58"
  • Limitations: Only works with 'key' method.
  • Description: Specifies the preferred encoding format for public keys in the response
  • Effects:
    • Determines encoding of public keys in response
    • Affects all supported DID methods
    • May influence resolver performance
  • See: DID Core Public Keys
preferredPublicKeyEncoding Options
EncodingDescriptionFormat ExampleUse Case
publicKeyBase58Base58 encoded public key bytes"H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"Compact representation, commonly used with Ed25519 keys
publicKeyJwkJSON Web Key format{ "kty": "EC", "crv": "P-256", "x": "...", "y": "..." }Web crypto compatibility, standard JSON structure
publicKeyHexHexadecimal encoded key"0x123456789abcdef..."Direct byte representation, easier debugging

Example with publicKeyBase58:

{
    "verificationMethod": [
        {
            "id": "did:example:123#key-1",
            "type": "Ed25519VerificationKey2020",
            "controller": "did:example:123",
            "publicKeyBase58": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
        }
    ]
}

Example with publicKeyJwk:

{
    "verificationMethod": [
        {
            "id": "did:example:123#key-1",
            "type": "JsonWebKey2020",
            "controller": "did:example:123",
            "publicKeyJwk": {
                "kty": "EC",
                "crv": "P-256",
                "x": "example_x_value",
                "y": "example_y_value"
            }
        }
    ]
}

Example with publicKeyHex:

{
    "verificationMethod": [
        {
            "id": "did:example:123#key-1",
            "type": "Ed25519VerificationKey2020",
            "controller": "did:example:123",
            "publicKeyHex": "0x123456789abcdef"
        }
    ]
}

Additional Resources