Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
Free 30-min Web3 Consultation
Book Consultation
Smart Contract Security Audits
View Audit Services
Custom DeFi Protocol Development
Explore DeFi
Full-Stack Web3 dApp Development
View App Services
LABS
Glossary

ZCAP-LD

ZCAP-LD is a Linked Data specification for expressing fine-grained, delegatable authorization capabilities, enabling secure access control in decentralized systems.
Chainscore © 2026
definition
DECENTRALIZED AUTHORIZATION

What is ZCAP-LD?

ZCAP-LD is a W3C-linked data specification for expressing and delegating authorization in decentralized systems.

ZCAP-LD (ZCAP Linked Data) is a W3C community specification that defines a cryptographically secure, machine-readable format for expressing delegatable authorization using Linked Data principles and JSON-LD. At its core, it is a standard for creating a ZCAP (Authorization Capability), which is a digitally signed document that grants a specific party the right to perform a particular action on a protected resource. This model shifts authorization from a centralized, identity-based "who are you?" check to a capability-based "what do you possess?" verification, enabling fine-grained, auditable, and revocable access control in decentralized environments like Decentralized Web Nodes (DWNs) and Decentralized Identifiers (DIDs) ecosystems.

The specification leverages Linked Data Proofs (like Ed25519Signature2020) to create a verifiable chain of delegation. A root capability, often held by a resource controller, can be used to derive delegated capabilities for other entities, which can further delegate within the constraints of the original grant. This creates a capability chain where each link is independently verifiable. The authorization check involves cryptographically verifying the signature on the presented capability and ensuring the requested action (e.g., read, write) is within the capability's allowedAction set and that the capability's invocationTarget matches the resource being accessed.

A key architectural benefit of ZCAP-LD is its resource-centric design. Authorization is directly bound to the resource URI, not to a user's global identity. This aligns with URL-based access control and Object Capability security models, promoting the principle of least privilege. For example, a user could be granted a capability to write to a specific folder in a Decentralized Web Node without being granted broader access to the entire node or needing the node to maintain an access control list (ACL). The capability itself is the token of authority.

In practice, ZCAP-LD is foundational for protocols like Web5, where it secures interactions with Decentralized Web Nodes. Common operations include creating a capability to share a Verifiable Credential, granting write access to a decentralized data vault, or allowing an application to query a specific dataset. The capability invocation protocol typically involves an HTTP POST request where the client presents the capability in an Authorization: ZCAP-BEARER header or as a signed request body, enabling stateless and scalable authorization checks.

etymology
DECENTRALIZED AUTHORIZATION

Etymology & Origin

The ZCAP-LD specification merges two foundational concepts in digital security and identity: the decentralized authorization model of **ZCAPs** and the semantic web framework of **Linked Data**.

ZCAP-LD stands for Zero-Confirmation Authorization Protocol for Linked Data. Its etymology reveals its dual heritage. The ZCAP component originates from work on decentralized authorization, where a capability is a cryptographically secure, unforgeable token that grants specific permissions. The -LD suffix denotes its implementation using Linked Data principles, a W3C standard for publishing structured, machine-readable data on the web using JSON-LD and URIs. This combination creates a protocol for expressing and verifying authorization in a decentralized, interoperable manner.

The concept of capability-based security, the philosophical ancestor of ZCAPs, dates to research in the 1960s and 1970s on operating system design. In this model, possession of a capability token is the sole requirement to perform an action, contrasting with identity-based access control lists (ACLs). The Linked Data framework, formalized in the 2000s, provides the semantic structure, allowing capabilities to be expressed as verifiable credentials and understood across different systems without centralized coordination. ZCAP-LD synthesizes these ideas for the modern web, enabling fine-grained, delegatable authority over resources like Decentralized Identifiers (DIDs) and HTTP endpoints.

The development of ZCAP-LD is closely associated with the W3C Credentials Community Group and the Decentralized Identity Foundation (DIF). It builds directly upon the W3C Verifiable Credentials Data Model, treating a ZCAP-LD capability as a special type of verifiable credential with a specific authorization purpose. This lineage ensures it integrates seamlessly with the broader SSI (Self-Sovereign Identity) stack, providing a standardized mechanism for actions like "this DID is authorized to update this document" or "delegate access to this API."

A key innovation in ZCAP-LD's design is its use of cryptographic suites and linked data proofs for signing and verification. This allows the protocol to be algorithm-agile, supporting various signature types like Ed25519Signature2020 or JsonWebSignature2020. The LD-Proofs format ensures the capability's integrity and authenticity are cryptographically bound to its Linked Data structure, making it both a machine-readable document and a secure token. This makes ZCAP-LD a core primitive for building decentralized web applications (DApps) and secure service meshes where trust is not centralized.

In practice, ZCAP-LD enables use cases like delegatable API keys, where a service can issue a capability to a client, which can then be attenuated (have its permissions reduced) and delegated to another party without the original issuer's involvement. Another critical application is in encrypted data vaults, such as those specified by the DIF Secure Data Store standard, where ZCAP-LD defines who can read, write, or share stored data. Its origin in combining proven security models with modern web standards positions it as a foundational protocol for the permissioned, user-centric web.

key-features
ZCAP-LD

Key Features

ZCAP-LD (ZCAP-Linked Data) is a W3C standard for expressing fine-grained, decentralized authorization using JSON-LD and cryptographic keys. It enables secure delegation of capabilities without centralized authorities.

01

Decentralized Authorization

ZCAP-LD enables authorization without centralized servers. A capability is a cryptographically signed document that grants specific permissions, which can be presented directly to a resource server for verification. This eliminates the need for a central OAuth-style authority, aligning with decentralized system architectures.

  • Key Concept: The verifier checks the digital signature on the capability against the controller's public key.
02

Delegation & Invocation Chains

A core feature is the ability to delegate capabilities. The holder of a capability can create a new, derived capability for another party, forming an invocation chain. Each step in the chain is cryptographically signed, allowing the resource server to trace and validate the entire delegation path back to the original root authority.

03

JSON-LD & Linked Data

ZCAPs are expressed using JSON-LD (JavaScript Object Notation for Linked Data). This provides a standardized, machine-readable format that can be extended and understood across different systems. The use of Linked Data principles ensures capabilities are part of a global graph of verifiable data, enabling interoperability.

04

Cryptographic Binding to Keys

Every capability is cryptographically bound to a controller, which is typically a public key (e.g., did:key:z6Mk...). The invocationTarget specifies the resource (e.g., a URL or a DID). To invoke the capability, the holder must prove control of the corresponding private key, typically via a capability invocation proof like a Ed25519Signature2020.

05

Fine-Grained Permissions

Capabilities can specify extremely precise allowed actions (e.g., read, write, update) and constraints (e.g., expires, referenceId). This allows for the principle of least privilege, where entities are granted the minimum permissions necessary to perform a task, significantly enhancing security in distributed applications.

06

Use Case: Decentralized Identifiers (DIDs)

ZCAP-LD is a foundational component for DID-based ecosystems. It is used to authorize operations on DID Documents, such as adding new verification methods or services. For example, a did:key controller can delegate management rights to a recovery service using a ZCAP, enabling secure and verifiable account recovery.

how-it-works
TECHNICAL PRIMER

How ZCAP-LD Works

ZCAP-LD (Zeroconf Capability Linked Data) is a decentralized authorization protocol that uses cryptographically verifiable, bearer-capability tokens to grant and delegate fine-grained permissions.

At its core, ZCAP-LD is a Linked Data specification that defines a structured format for creating, signing, and verifying capability tokens. A capability is a JSON-LD object containing a unique identifier (id), the authorized action (invocationTarget), the cryptographic proof of authorization (proof), and the chain of allowed delegates (parentCapabilityId). The proof is typically a digital signature from the capability's issuer, making the token a self-contained, verifiable credential. This structure allows any service, or invocation target, to validate a request's authorization by checking the token's cryptographic proof and delegation chain without needing to query a central authority.

The protocol's power lies in its delegation model. The holder of a ZCAP-LD token can create a new, more restricted capability and delegate it to another party. This creates a verifiable chain of authority, where each link is cryptographically signed. For example, a user (root controller) could grant an application a capability to read their data, and that application could then delegate a time-limited, read-only sub-capability to an analytics service. The final service can validate the entire chain back to the original root controller to ensure the request is legitimate. This enables complex, decentralized workflows without centralized permission servers.

ZCAP-LD integrates with Decentralized Identifiers (DIDs) and Verifiable Credentials to establish cryptographic accountability. The controller of a capability is often a DID, linking the authorization directly to a decentralized identity. When a capability is invoked, the verifier checks the signature against the controller's public key, which is resolved from its DID document. This creates a secure, SSI (Self-Sovereign Identity)-native authorization system where permissions are bound to identities, not accounts. It is particularly suited for decentralized web (Web5) architectures, enabling user-centric control over data sharing and API access across different domains and services.

core-components
ZCAP-LD

Core Components

ZCAP-LD (ZCap-Linked Data) is a W3C standard for expressing delegatable, decentralized authorization using JSON-LD. It defines how capabilities can be issued, delegated, and invoked to control access to resources in distributed systems.

01

The Capability Object

The core data structure is a JSON-LD object representing a verifiable authorization. Key properties include:

  • id: A unique URI for the capability.
  • controller: The entity (e.g., a DID) authorized to invoke or delegate the capability.
  • invocationTarget: The URI of the resource being protected.
  • allowedAction: The specific operations (e.g., read, write) permitted.
  • proof: A cryptographic signature (e.g., Ed25519Signature2020) making the capability tamper-evident.
02

Delegation Mechanism

A defining feature is the ability for a capability holder to create a new, derived capability for another party. This is done by signing a new ZCAP where the parentCapability property points to the delegator's capability. This creates a chain of authority without requiring a central coordinator, enabling fine-grained, user-centric access control.

03

Invocation & Verification

To use a capability, a holder presents it along with an invocation request to the authorization server guarding the resource. The server performs capability chain verification:

  1. Validates all cryptographic proofs in the delegation chain.
  2. Checks that the allowedAction matches the requested operation.
  3. Ensures the invocationTarget matches the protected resource. This process is stateless for the server, as all authorization context is in the presented ZCAP.
04

Link Relation & HTTP Headers

ZCAP-LD integrates with web protocols using standard mechanisms:

  • capability-invocation HTTP Header: The client sends the capability's ID in this header when making an authorized request.
  • capability-delegation Link Relation: A resource can advertise its capability model by including a Link header with rel="capability-delegation" pointing to a capability action endpoint. This enables discoverable authorization.
05

Root vs. Derived Authorities

The authorization model distinguishes between two authority types:

  • Root Authority: The ultimate source of authority (e.g., a resource owner). It creates the initial root capability, often held by the resource server itself.
  • Derived Authority: Any capability created through delegation from a root or another derived capability. This separation allows the root authority to revoke an entire delegation chain by invalidating a single parent capability.
06

Use Case: Decentralized Identity (DID) Wallets

A primary application is controlling access to Decentralized Identifiers (DIDs) and their associated Verifiable Data Registries. A DID document can be protected by a ZCAP, allowing the DID controller to delegate specific permissions—like updating a public key—to a custodial agent or recovery service without handing over full control. This enables secure, recoverable, and delegatable identity management.

visual-explainer
AUTHORIZATION FRAMEWORK

Visual Explainer: The ZCAP-LD Flow

This visual guide traces the lifecycle of a ZCAP-LD authorization, from its creation and delegation to its secure invocation and verification, illustrating the decentralized control it enables.

The ZCAP-LD flow begins with a root capability, a cryptographically signed Linked Data document that grants a specific authority—such as the right to update a decentralized identifier (DID) document or access a resource. This root capability is created by the controller, the entity with ultimate authority over the resource. The capability's invocationTarget specifies the resource (e.g., a URL), its proof contains the controller's digital signature, and its expires field sets a validity period, establishing a secure, machine-readable grant of authority.

A key power of ZCAP-LD is delegation, where a holder of a capability can create a new, derived capability for another party. The delegator signs the new capability, which includes a parentCapabilityId linking it back to the chain of authority. This creates a verifiable delegation chain without requiring the original controller's involvement for each new grant. Delegation can be constrained using properties like allowedAction to limit permissions or a different expires date, enabling fine-grained, decentralized access management.

To invoke the capability, the holder presents it along with an invocation proof—a signature created using a secret key associated with the capability's proof method—to the verifier (e.g., a server or smart agent). The verifier performs a multi-step check: it validates the invocation signature, verifies the chain of signatures back to a trusted root capability, and ensures the request's action matches the allowedAction and that the capability hasn't expired. This process authorizes the action without revealing user identities or relying on a central auth server.

The final stage is continuation, where the verifier, after successful invocation, may return a new capability for a subsequent related action. For example, after authorizing a payment, a server might issue a capability to check the payment's status. This creates a stateful, capability-driven session, allowing a series of authorized interactions to flow securely from one delegated right to the next, all auditable via the cryptographic chain.

examples
ZCAP-LD

Examples & Use Cases

ZCAP-LD (ZCap-Linked Data) is a W3C specification for expressing fine-grained, delegatable authorization credentials. These examples illustrate its practical applications in decentralized systems.

02

Verifiable Credential Presentations

Used in conjunction with Verifiable Credentials (VCs), ZCAP-LD can control who is authorized to request a credential presentation and from whom. For example, a verifier can be granted a capability to request a specific VC from a holder's wallet, enabling selective disclosure and privacy-preserving verification flows.

03

Secure DID Communication

ZCAP-LD capabilities can secure interactions between Decentralized Identifiers (DIDs). A capability can authorize one DID to send encrypted messages to another, update a DID document on a ledger, or invoke methods on a DID-linked service. This enforces least-privilege access in identity ecosystems.

04

Delegatable Smart Contract Authorization

In blockchain contexts, a ZCAP-LD capability can represent the right to invoke a specific function on a smart contract. The holder can delegate this right to another agent, creating a chain of authorization that is cryptographically verifiable off-chain, reducing on-chain transactions and gas costs for permission management.

06

Revocable Delegation Chains

ZCAP-LD supports attenuation (limiting a delegated capability) and revocation through mechanisms like expiration dates, capability invokers, and linked revocation lists. This allows for building complex, yet secure, delegation trees where any node's authority can be revoked, cascading to its delegates.

ecosystem-usage
ZCAP-LD

Ecosystem Usage

ZCAP-LD (Authorization Capabilities for Linked Data) is a W3C standard for decentralized authorization. It enables fine-grained, delegatable access control for resources on the web and in decentralized systems, using cryptographically verifiable capabilities.

02

Delegation & Attenuation

A core feature is the ability to delegate and attenuate permissions. A root capability holder can create a new, more restricted capability for a delegate.

  • Delegation: Share a subset of your permissions.
  • Attenuation: Reduce the scope of the delegated right (e.g., limit actions, set an expiry). This creates flexible, auditable chains of authority without needing a central policy engine.
03

Integration with DIDs and VCs

ZCAP-LD is designed to work seamlessly with other W3C standards like Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs). A capability's invoker or controller is typically a DID. This allows authorization decisions to be based on proven identity attributes from VCs, enabling complex, real-world access policies in a decentralized manner.

04

Use Case: Secure API Access

ZCAP-LD can secure APIs and web resources. Instead of OAuth tokens tied to a central authority, a service issues a ZCAP to a client. The client presents this capability with each request, and the resource server verifies the cryptographic proof directly. This enables peer-to-peer API security, reducing dependency on centralized authorization servers.

05

Use Case: Decentralized Storage

In systems like InterPlanetary File System (IPFS) or decentralized web nodes (DWNs), ZCAP-LD controls read/write access to data. A user can grant a specific app the capability to write to a private data store or allow a friend to read a specific document, all without the storage layer managing user identities or permissions.

06

Verification Process

Verifying a ZCAP-LD capability involves a standardized process:

  1. Proof Verification: Validate the attached cryptographic proof (e.g., Ed25519 signature).
  2. Chain Resolution: If the capability is delegated, recursively verify the chain back to a root capability.
  3. Scope Validation: Check the allowedAction and constraints (like expires) against the current request. This process is stateless and can be performed by any verifier with the relevant public keys.
ARCHITECTURAL COMPARISON

ZCAP-LD vs. Traditional Access Control

A technical comparison of decentralized authorization models versus centralized and role-based systems.

Feature / CharacteristicZCAP-LD (Decentralized)Traditional RBAC (Centralized)Traditional ACL (Centralized)

Architectural Model

Decentralized, capability-based

Centralized, role-based

Centralized, identity-based

Authority & Issuance

Delegatable, any entity can be an issuer

Central admin/identity provider

Central resource owner/admin

Proof Mechanism

Cryptographic signatures on Linked Data objects

Centralized session/token validation

Centralized access control list lookup

Delegation

âś… Native, cryptographically verifiable

❌ Typically requires admin intervention

❌ Complex, often not natively supported

Revocation Model

Delegatable revocation, status list checks

Immediate, central policy update

Immediate, central list update

Verification Locality

âś… Resource holder can verify locally

❌ Requires call to central authority

❌ Requires call to central authority

Protocol Foundation

W3C Decentralized Identifiers (DIDs), Linked Data Signatures

OAuth 2.0, SAML, proprietary systems

Filesystem/DB ACLs, X.509

Interoperability Focus

âś… Designed for cross-domain, web-scale interoperability

Limited to trusted domains or federations

Typically confined to a single system or domain

ZCAP-LD

Frequently Asked Questions

ZCAP-LD is a W3C standard for decentralized authorization. These questions address its core concepts, implementation, and role in digital identity and verifiable credentials.

ZCAP-LD (ZCap-Linked Data) is a W3C standard for expressing decentralized, fine-grained authorization capabilities using JSON-LD. It works by creating a capability object, which is a cryptographically signed or verifiable credential that grants a specific authority (the right to perform an action on a resource) to a controller. The controller can then present this capability to a verifier to prove they are authorized, without needing a central permissions server. This enables secure, user-centric delegation and revocation of access rights across the web.

ENQUIRY

Get In Touch
today.

Our experts will offer a free quote and a 30min call to discuss your project.

NDA Protected
24h Response
Directly to Engineering Team
10+
Protocols Shipped
$20M+
TVL Overall
NDA Protected Directly to Engineering Team
ZCAP-LD: Decentralized Authorization Specification | ChainScore Glossary