> For the complete documentation index, see [llms.txt](https://docs.cheqd.io/product/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cheqd.io/product/sdk/credo/credentials/json-ld.md).

# JSON-LD

Issue and present JSON-LD credentials signed by cheqd Decentralized Identifiers (DIDs), using Credo.

**JSON-LD Verifiable Credentials** follow the [W3C Verifiable Credentials Data Model](https://www.w3.org/TR/vc-data-model/), enabling decentralized, semantically rich, and interoperable credential exchange.

In **Credo**, you can issue, verify, and present JSON-LD credentials over **DIDComm v2**, using the **Issue Credential v2** and **Present Proof v2** protocols—alongside support for **Linked Data Proofs** and various signature suites.

## Get Started

Issue and present JSON-LD credentials with Credo using the tutorials below:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><mark style="color:blue;"><strong>Issue JSON-LD Credentials</strong></mark></td><td>Issue JSON-LD Credentials signed by cheqd DIDs using Credo.</td><td><a href="/product/sdk/credo/credentials/json-ld/issue-credential.md">Issue a Verifiable Credential</a></td></tr><tr><td><mark style="color:blue;"><strong>Present JSON-LD Credentials</strong></mark></td><td>Present JSON-LD Credentials using Credo.</td><td><a href="/product/sdk/credo/credentials/json-ld/present-credential.md">Present a Verifiable Credential</a></td></tr></tbody></table>

***

### Why Use JSON-LD?

JSON-LD credentials are ideal for ecosystems that require:

* Standards-aligned, interoperable credentials
* Richly structured, linked data
* Flexible signature types (e.g. Ed25519, BBS+)
* Integration with W3C-conformant wallets and identity providers
* Compatibility with **OpenID for Verifiable Credentials (OID4VC)** and **EU Digital Identity Wallet** initiatives

***

### Extensibility for cheqd Functionality

Thanks to the flexibility of the **W3C VC data model**, JSON-LD credentials can be extended to support advanced **cheqd-native features**, including:

#### 🔗 DID-Linked Resources

* Credentials can reference **schemas**, **governance frameworks**, or **legal documents** published as **DID-Linked Resources** on the cheqd ledger
* Use the `termsOfUse` or `credentialSchema` fields to point to cheqd-hosted resources

#### 🏛️ Trust Registries

* A credential can reference a **trust registry** (also a DID-Linked Resource) that defines the rules, requirements, or authorisations under which the credential was issued

#### 🚫 Status Lists (Revocation)

* cheqd-compatible **Bistring Status List** entries can be referenced using the `credentialStatus` field, enabling scalable and private revocation
* These status lists can also be stored as DID-Linked Resources on cheqd

> 🔧 These extensions follow W3C patterns and require no change to the base data model—making them portable, verifiable, and standards-compliant.

***

### Features Supported in Credo

| Feature                                | Supported in ACA-Py                                          |
| -------------------------------------- | ------------------------------------------------------------ |
| Issue JSON-LD credentials              | ✅ Yes                                                        |
| Present and verify JSON-LD credentials | ✅ Yes                                                        |
| Support for multiple proof types       | ✅ Yes (`Ed25519Signature2018`, `Ed25519Signature2020`, etc.) |
| Use of external or on-chain contexts   | ✅ Yes                                                        |
| Support for DID-Linked Resources       | ⚠️ Via extensions and custom fields                          |

***

### Supported DID Methods

Credo natively supports signing JSON-LD credentials using DIDs such as:

* `did:key`
* `did:web`
* `did:cheqd`


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.cheqd.io/product/sdk/credo/credentials/json-ld.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
