Links
📦

Software Development Kits (SDKs)

Integrate with cheqd

cheqd has created simple tooling to enable third parties to create DIDs and resources, issue and verify Verifiable Credentials, using cheqd DIDs, DID Documents and Schemas.

Choose a software stack to suit your needs

cheqd is continually integrating into different software development kits to suit the needs of different partners and their clients.
Below is a comparison between our three initial supported SDKs, Veramo SDK for cheqd, Aries Framework JavaScript and Walt.id's SSI Kit.
Functionality
Veramo SDK for cheqd
Aries Framework JavaScript for cheqd
Walt.id SSI Kit
Create cheqd DIDs (ADR)
✔️
✔️
✔️
JSON based JWT Verifiable Credential (spec)
✔️
✔️
JSON-LD Verifiable Credential (spec)
✔️
⌛(roadmap)
✔️
AnonCreds (spec)
✔️
Selective Disclosure-JWT Credential (spec)
⌛(roadmap)
✔️
Create on-ledger Schema (ADR)
✔️
✔️
Create Credential Definition (spec)
✔️
DIDComm v1.0 (spec)
✔️
✔️
DIDComm v2.0 (spec)
✔️
✔️
DID Exchange Protocol (RFC 0023)
✔️
Agent Connection Protocol (RFC 0160)
✔️
Out of Band Protocol (RFC 0434)
✔️
Self Issued OpenID Provider v2 (OIDC-SIOP) (spec)
⌛(roadmap)
✔️
OpenID for Verifiable Credential Issuance (spec)
⌛(roadmap)
⌛(roadmap)
✔️
OpenID for Verifiable Credential Presentations (spec)
⌛(roadmap)
⌛(roadmap)
✔️
Status List 2021 Revocation (spec)
✔️
✔️
AnonCreds Revocation Registry Definitions (spec)
✔️
AnonCreds Status List Entries (spec)
✔️
Issue Credential Protocol (RFC 0036)
✔️
Issue Credential Protocol V2 (RFC 0453)
✔️
DIF Presentation Exchange (spec)
✔️
✔️
Aries Present Proof 2.0 (spec)
✔️
DID-Linked Trust Registries
⌛(roadmap)

Understanding the structure of cheqd's packages

One of cheqd's primary motives is to make itself accessible to the widest set of identity applications possible. To accomplish this, cheqd has built a flexible set of packages and tooling to accommodate its identity capabilities into a broad set of external SDKs and applications.
cheqd maintains an array of packages with varying levels of integration complexity to allow its partners and customers to have a variety of ways of plugging into cheqd's identity functionality.
cheqd SDK packages diagram

Low complexity:

1. DID Registrar and Credential Service

For customers and partners that do not want to directly integrate cheqd's packages directly but would prefer a more lightweight approach, we provide a set of APIs for:

DID Registrar:

  • DIDs: Creating, updating and deactivating
  • Keys: Creating and listing
  • DID-Linked Resources: Creating
    • StatusList: Create/update
    • Schema: Create/update

Credential Service:

  • All of the above, and additionally:
  • Credentials: Issuing, verifying and revoking
Using these APIs, customers can easily integrate cheqd's identity functionality into their existing applications through hitting simple REST APIs.

2. External identity applications

Walt.id SSI Kit

SSI Kit is an Open Source SDK from walt.id which allows cheqd functionality, and other identity networks, to be used through API calls or through a CLI tool.
Walt.id run multiple SaaS offering for customers with varying levels of support and integration requirements.

GoDiddy

GoDiddy is a product from DanubeTech which uses both the Universal Registrar and Universal Resolver interfaces to provide an enterprise-level service for customers to create, update and resolve DIDs across a variety of identity networks, including did:cheqd.

Moderate complexity:

1. Veramo SDK plugin for cheqd

The Veramo SDK is an agent designed to handle multiple networks and DID methods. Current implementations of the Veramo SDK include did:ethr, did:web, did:key and more.
We chose to build a cheqd plugin into Veramo SDk for a few key reasons.
  1. 1.
    Design Principles — The Veramo SDK was designed to be highly flexible and modular making it highly scalable and fit for a lot of complex workflows. As a result, we felt it offered a route to minimise how much needs to be built from scratch. Through its flexible plug-in system, it’s easy to pick and choose which plug-ins are most beneficial, plus it’s possible to add in our custom packages where required which we knew would be necessary from Cosmos-based transactions.
  2. 2.
    Developer Experience — The Veramo SDK has been designed in a way that offers a fast end-to-end process. Ultimately, at cheqd, we want to reduce the amount of time our team spends on SDKs and so we can maintain our focus on building ledger functionality (i.e. building our implementation of the revocation registry and the credentials payment rails).
  3. 3.
    Attractive & Simple CLI — The Veramo core API is exposed by its CLI which makes it easy to create DIDs and VCs directly from a terminal or local cloud agent.
  4. 4.
    Platform Agnostic — The Veramo packages run on Node, Browsers and React & React Native right out of the box.
Veramo provides an excellent foundation for clients that want to build verifiable data applications. This is because Veramo Core, the Veramo CLI and any specific plugins are available as NPM packages, enabling:
  1. 1.
    Identity functionality to be carried out through a native CLI interface; or
  2. 2.
    Identity functionality to be integrated directly into client applications through NPM packages.
Using the DID-Provider-cheqd package, we have also been able to reuse identity functionality and abstract the complexity of cheqd/SDK and cheqd Network in less complex packages (see above).

2. Aries Framework JavaScript for cheqd

Aries Framework JavaScript is a framework written in TypeScript for building SSI Agents and DIDComm services that aims to be compliant and interoperable with the standards defined in the Aries RFCs.
cheqd is now fully supported in AFJ and can be used for the issuance of AnonCreds as well as the creation of Credential Schemas and Credential Definitions.
AnonCreds using cheqd are facilitated using the cheqd AnonCreds Object Method.

High complexity

1. cheqd SDK

The cheqd SDK plugs directly into cheqd Network and is responsible for communicating with the core ledger code. Therefore, the cheqd SDK plays the role of handling:
Owing to this, the cheqd SDK requires a high amount of complexity to integrate directly.
cheqd SDK package diagram