Skip to content
DID.is
Conformance

Standards registry

What DID.is implements, how far, and where it stops. When a mechanism is not implemented, results say so — they never fall back to a guess.

Recommendation

Ratified standards from official international bodies (e.g. W3C Recommendation, IETF RFC).

Candidate Rec Draft

W3C Candidate Recommendation Draft undergoing implementation testing (DID Resolution v1 · 1 Oct 2026).

Community Spec

Consensus specifications from industry working groups (DIF, W3C CCG, MCP, A2A).

Experimental

DID.is proprietary formats under active evaluation (Delegation Receipt v1).

AreaSpecificationNormative StatusStatusScopeLimits
IdentifiersW3C DID Core 1.1 — syntaxRecommendationimplementedDID and DID URL ABNF, method-name rules, idchar/pct-encoding, 4 KiB capStrict parsing precedes every network operation.
ResolutionDID Resolution v1 — HTTPS binding (1 Oct 2026)Candidate Rec Draftimplemented/1.0/identifiers, Accept negotiation (application/did-resolution, application/did), RFC 9457 errors, spec status codes, 410 for deactivated DIDsW3C Candidate Recommendation Draft (1 Oct 2026). Resolution options beyond noCache and did:webvh version selectors are not implemented.
ResolutionDID URL dereferencingCandidate Rec DraftpartialFragments, ?service= with relativeRef, versionId/versionTime/versionNumberDefined in DID Resolution v1 §Dereferencing. DID URL paths return FEATURE_NOT_SUPPORTED.
Methodsdid:keyCommunity SpecimplementedEd25519, X25519 (keyAgreement only), P-256, secp256k1 with point validation; Multikey outputW3C CCG Community Group Report. P-384, P-521, BLS12-381 and RSA keys are expressed but reported UNSUPPORTED.
Methodsdid:jwkCommunity Specimplementeduse=sig/enc relationships, private-member rejection, point validationW3C CCG Community Group Report. RSA and other kty values resolve with UNSUPPORTED key evidence.
Methodsdid:webCommunity SpecimplementedIDNA hosts, ports, paths; IP literals, userinfo and dot segments rejected; id must equal the DIDW3C CCG Community Group Report. No verifiable history exists for did:web; DID.is records observations only.
Methodsdid:webvh 1.0Community SpecimplementedSCID, entry-hash chain, eddsa-jcs-2022 proofs by authorised update keys, pre-rotation, portability, deactivation, witness thresholdsDIF Community Specification. Witness thresholds checked for selected version; implicit #files/#whois services not injected.
ProofsData Integrity EdDSA Cryptosuites v1.0Recommendationimplementededdsa-jcs-2022 (W3C test vector B.3 in CI)W3C Recommendation. eddsa-rdfc-2022 requires RDF canonicalization and is reported UNSUPPORTED.
ProofsData Integrity ECDSA Cryptosuites v1.0Recommendationpartialecdsa-jcs-2019 with P-256W3C Recommendation. P-384, ecdsa-rdfc-2019 and ecdsa-sd-2023 are UNSUPPORTED.
ProofsJOSE (RFC 7515/7518/8037)RecommendationimplementedEdDSA, ES256, ES256K; alg none, crit and b64:false refusedIETF Standards Track RFCs. RSA and P-384/P-521 algorithms are UNSUPPORTED.
CredentialsVC Data Model 2.0 (and 1.1)RecommendationpartialContext/type/subject shapes, validity, issuer-key binding via assertionMethod, duplicate-member rejectionW3C Recommendation. Single supported proof only; claims are issuer assertions. Schema validation and full JSON-LD semantics are not implemented.
CredentialsVC-JOSE-COSE / VC-JWT 1.1RecommendationpartialDistinct direct VC 2.0 and legacy vc-claim profiles; registered-claim conflicts and independent JWT time checksW3C Recommendation. Audience is checked only with expectedAudience; otherwise explicitly not verified. SD-JWT VC and COSE are unsupported.
CredentialsBitstring Status List v1.0 (2025-05-15)RecommendationpartialVerified list proofs, types, validity, purpose membership, 131072-entry minimum, range checks, fail-closedW3C Recommendation (15 May 2025). At most 8 entries; single-bit revocation/suspension only. StatusList2021 compatibility targets the 2023 Working Draft.
LinkageDIF Well Known DID Configuration v1.0Community SpecimplementedJWT and Data Integrity linkage credentials, exact-origin match, issuer = subject = DIDDIF specification. JsonWebSignature2020 / Ed25519Signature2018 proofs are UNSUPPORTED (RDF).
TransportTLS evidenceRecommendationimplementedLeaf certificate actually presented (subject, issuer, validity, SAN, fingerprint) — validated by rustls + webpkiIETF RFC standards (RFC 8446 / RFC 5280). Negotiated TLS version is not exposed by the HTTP stack and is not claimed.
AgentsModel Context Protocol 2026-07-28Community SpecimplementedStreamable HTTP, server/discover, MCP-Protocol-Version / Mcp-Method headers, SSE responses, pagination; legacy initialize fallbackAnthropic / Open community protocol. OAuth-protected servers are reported, not accessed. Side-effect classes are heuristics.
AgentsA2A Protocol 1.0Community SpecimplementedAgent card discovery, v1.0 shape, signatures[] over JCS via DID kid or jkuAgent2Agent community protocol. Producers that strip defaults before signing may not verify.
AgentsDID.is Delegation Receipt v1ExperimentalimplementedJWS receipts, capabilityDelegation keys, prf hash linkage, attenuation, acyclicity, depth ≤ 8A DID.is format, not a ratified standard; documented in docs/API_CONTRACT.md.
CanonicalizationRFC 8785 JCSRecommendationimplementedUTF-16 ordering, binary64 ECMAScript number serialization, strict raw JSON decodingIETF Standards Track RFC. Finite Appendix B vectors and independent numeric VC/webvh/A2A fixtures tested.
CanonicalizationRDF Dataset Canonicalization (RDFC-1.0)Recommendationunsupported—W3C Recommendation. Suites that depend on it are always reported UNSUPPORTED, never VALID or INVALID.
ErrorsRFC 9457 Problem DetailsRecommendationimplementedStructured machine-readable errors across all daemon and HTTP endpointsIETF Standards Track RFC. W3C-defined errors use https://www.w3.org/ns/did# URIs with spec status codes.
KeysRFC 7517 JWK / RFC 7638 / MultikeyRecommendationimplementedEd25519, X25519, P-256, secp256k1 key representations and fingerprintsPoint validation enforced on curve point deserialization.
Evidence

DID Resolution v1 · HTTPS binding checks

Our own black-box checks against the production API, one per clause, each with the command to reproduce it. They are not the official W3C test-suite report and claim no more than what is listed here.

9 / 9
passed · run 2026-10-08
ClauseCheckExpectedObservedResult
HTTPS binding · resolveResolution result for a valid DID
Reproducecurl -s -H 'Accept: application/did-resolution' 'https://did.is/api/1.0/identifiers/did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH'
200200pass
HTTPS binding · representationDID document only when Accept: application/did
Reproducecurl -s -H 'Accept: application/did' 'https://did.is/api/1.0/identifiers/did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH'
200200pass
HTTPS binding · encodingPercent-encoded DID decoded exactly once
Reproducecurl -s -H 'Accept: application/did-resolution' 'https://did.is/api/1.0/identifiers/did%3Akey%3Az6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH'
200200pass
DID URL dereferencing · fragmentFragment selects a verification method
Reproducecurl -s -H 'Accept: application/did-resolution' 'https://did.is/api/v1/dereference/did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH%23z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH'
200200pass
Errors · invalidDidMalformed DID → INVALID_DID
Reproducecurl -s -H 'Accept: application/did-resolution' 'https://did.is/api/1.0/identifiers/did:key:notvalid'
400400pass
Errors · invalidDidUppercase method name rejected
Reproducecurl -s -H 'Accept: application/did-resolution' 'https://did.is/api/1.0/identifiers/did:Xkey:abc'
400400pass
Errors · methodNotSupportedUnsupported method → METHOD_NOT_SUPPORTED
Reproducecurl -s -H 'Accept: application/did-resolution' 'https://did.is/api/1.0/identifiers/did:example:123'
501501pass
Errors · representationNotSupportedUnsatisfiable Accept → 406
Reproducecurl -s -H 'Accept: image/png' 'https://did.is/api/1.0/identifiers/did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH'
406406pass
Errors · invalidDidDocumentNon-JSON did:web document is not accepted
Reproducecurl -s -H 'Accept: application/did-resolution' 'https://did.is/api/1.0/identifiers/did:web:did.is:conformance-missing'
500500pass

Source: scripts/conformance/w3c-binding.mjs, re-run before every release. Spec: W3C Candidate Recommendation Draft, 1 Oct 2026.