codename / DecentKit

Welcome to codename / DecentKit, a suite of open source tools that enable developers to integrate decentralized end-to-end encrypted (e2ee) messaging between wallets and identities, with built-in support for decentralized identity protocols such as Verifiable Credentials exchange to enhance trust without exposing private data.

About the "Codename" Program

Codename projects are early alpha-stage projects from Catena Labs. Codename projects remain far from final form, and the projects will likely experience significant changes, reflecting the iterative and fluid nature of creative early-stage development.

Why DecentKit and Who is it For?

Developers building apps, wallets, marketplaces, and games face extreme complexity when creating trusted identity and transactional messaging features that work across different wallets and chains for one-to-one and group interactions.

The initial phase of DecentKit addresses these challenges for developers by simplifying creation of real-time chats and asynchronous micro-blogging-style messaging between decentralized identities, wallet addresses, and personal chain domain names with end-to-end encryption and dynamic trust scoring.

High-Level Concepts

  1. Decent Identity, not Accounts. Instead of creating central accounts, users can use their existing wallets and blockchain domain names to manage messaging endpoints as they build portable profiles and reputation that they own and carry across apps. Users can exchange identity proofs over messaging channels without exposing private data.

  2. Message from Any App to Any App. Cross-wallet and cross-app messaging means users in one supporting app can reach users in other supporting apps and wallets.

  3. Transactional Smart Messages. Messages can include not only text and media, but also secure transactions involving collectibles, tokens, or digital dollars in connected wallets.

  4. Security and Privacy: End-to-end encryption ensures that messages can be read only by their intended recipients. Furthermore, no sensitive data is stored on-chain or in databases.

  5. Cross-Chain Compatibility: Transactional messaging features work seamlessly across wallets and blockchain domain names, ensuring that applications can communicate with multiple wallets and chains without the need for complex bridging and workarounds.

  6. Scalable Group Messaging: The SDK builds upon foundational libp2p and XMTP layers to support both small and large group messaging scenarios, making it suitable for a wide range of applications, from private 1:1 chats to larger group discussions.

  7. Free to Use: DecentKit is free to use and open-sourced under the MIT license.

Decentralized identity technology empowers users to control their personal data, while end-to-end encrypted communication ensures that the information shared is seen only by the intended parties. Identity proofs, including Verifiable Credentials, reinforce this power by allowing users to assert and prove specific attributes about themselves without disclosing sensitive details, thereby enhancing trust in communications while also promoting safety and compliance.

What's in DecentKit

  • Identity Resolver API: This API addresses the problem of 'how do I find and connect to another identity.' The API enables forward and reverse lookups of identity endpoints using both web2 and web3 identifiers such as wallet addresses, chain names, social handles, emails, and more. Individuals and institutions control which of their identifiers are available for resolution.

  • Identity Messaging SDK: This SDK addresses the problem of 'how do I message another identity securely.' The SDK manages end-to-end encrypted (e2ee) messaging between resolved identity endpoints for both group and one-to-one messaging. It supports smart messages that include transactions, builds on technologies such as libp2p and XMTP, and supports use cases such as creating token-gated and credentials-gated communities and messaging channels.

  • Trust and Reputation API: This API addresses the problem of 'how can I trust the identity and the message content of a resolved endpoint that I am messaging.' It employs identity proofs, namely Verifiable Credentials exchange, within messaging interactions. It is expected to evolve over time to support aggregated reputation indicators. Verifiable Credentials exchanges allow identities to prove details about themselves without exposing sensitive personal information. For example, users can ensure they are interacting with a human and not a bot, or prove they have an account in good standing and have met the KYC requirements of a particular financial institution without exposing associated personal data.

DecentKit Identity Resolver API Overview

The DecentKit Identity Resolver API and React SDK help developers execute forward and reverse web2 and web3 name and address lookups. This enables end users to reference someone by any number of entry points, such as a Twitter handle or web3 address, so long as the user has made those identifiers available for resolution.

The Identity Resolver API surfaces trust scoring for each identity. This helps to filter out potential scammers, phishing, or fake accounts to help ensure security and authenticity.

Read more about the DecentKit Identity Resolver API

DecentKit Identity Messaging SDK Overview

DecentKit's Identity and Messaging SDK enables developers to leverage decentralized identity and encrypted communication together. Built on top of libp2p and XMTP, this open source SDK supports e2ee decentralized wallet-to-wallet communication on a one-on-one basis as well as groups. These groups can also operate as token-gated or credential-gated communities.

The SDK also offers moderation tools for group creators, providing control and facilitating healthy communication. The React SDK aims to make integration of these features into your applications simple and straightforward.

Read more about the DecentKit Identity and Messaging SDK

Trust and Reputation API with Identity Proofs and Verifiable Credentials

Identity proofs allow users to prove details about themselves securely without disclosing (or selectively disclosing, only with their strict approval) personal information. DecentKit employs Verifiable Credentials as its initial implementation of identity proofs, and supports request and transmission of verifiable credentials as part of messaging flows. It will expand to include aggregated risk and trust indicators.

Read More about trust, Reputation, and Verifiable Credentials in DecentKit

Last updated