Ethereum and walt.id
Open source decentralized identity, NFT and wallet infrastructure for developers and businesses on Ethereum.
TLDR
In collaboration with Ethereum, we built open source decentralized identity and wallet infrastructure for the Ethereum ecosystem. As a result, developers now have holistic “on-chain identity” tools that enable four capabilities around Non-Fungible and Soulbound Tokens (NFTs, SBTs):
Mint NFTs/SBTs
Manage and display NFTs/SBTs (in an app or wallet)
Verify NFTs/SBTs (auth, token-gating)
Unlock NFTs/SBTs for web2 apps
These capabilities can be used to build a great variety of use cases ranging from memberships or public profiles to utility or access management and beyond.
Let’s dive in!
Why did we partner with Ethereum?
Decentralized identity relies on so-called "identity ecosystems" to create trust between people and organizations, typically through "Trust Registries" , which are the single source of truth - and act like a shared database - for information that is required to reliably verify identity data. Blockchains are the preferred technology for implementing Trust Registries due to their decentralization, transparency and immutability, which allow for easy auditing and prevent manipulation by intermediaries.
Ethereum is a decentralized blockchain with smart-contracts functionality. Ethereum allows anyone to deploy permanent and immutable decentralized applications onto it, with which users can interact. Ethereum is particularly interesting because it is the blockchain with the most active developers, gathering a very high number of dApps in its ecosystem. In addition, Ethereum also sets some technological standards (such as the NFT standards mentioned later) that are then integrated to many other ecosystems.
You can read more about identity ecosystems, Trust Registries and the role of blockchain for decentralized identity here and here.
What our collaboration is about: Building Decentralized Identity infrastructure for Ethereum
In collaboration with Ethereum we set out to bring decentralized identity to the Ethereum ecosystem by providing powerful open source libraries for developers and businesses.
Today, there are different decentralized identity technologies like
Self-Sovereign Identity (SSI) which has been specifically designed for identity use cases, and is, therefore, suitable for sharing data-rich identity credentials privately and off-chain. SSI can be implemented with or without blockchains. If blockchains are used, their main purpose is typically to establish Trust Registries which are required for data verification.
Non-Fungible and Soulbound Tokens (NFTs, SBTs) which have initially been designed for the tokenization of assets, not for identity use cases. As a result, this approach is suitable for data that is not protected by regulations (like public data, organizational data) or for use cases that require only minimal or anonymized data proofs (aligned with privacy considerations) or for use cases in which access to a service is not necessarily linked to one’s identity (like tickets). While certain data associated with NFTs/SBTs can be stored off-chain, this approach can only be implemented with blockchains.
Mobile drivers license (MDL): This approach is the most traditional one and has been developed without considering blockchains as a native component.
Considering that NFTs and SBTs (“on-chain identity”) are much closer aligned with today’s existing blockchain and web3 infrastructure and use cases, we decided to start out by building open source infrastructure with a focus on NFTs and SBTs. But more on this below.
Why Decentralized Identity based on Non-fungible and Soulbound Tokens?
Firstly, the tokenization of assets is a hot topic across industries and a growing number of people realize that NFTs are the way to go. As a result, there is a clear need for enabling the tokenization of assets for different use cases like collectibles, tickets or public profiles.
Let’s call this the “NFT supply side”.
Secondly (as the “NFT supply side” is ramping up), there is a growing need to realize utility functions of NFTs such as in the context of access management. Tokenizing assets is one thing, but building utility and new types of user experiences around these assets is a different thing altogether. Projects by global brands like Starbucks and others reveal that the market is hungry for applications of NFTs that go beyond simple tokenization.
Let’s call this the “NFT demand side” (together with the next point).
Thirdly, we see more and more businesses incorporating NFTs into their applications - including dapps and wallets but also traditional web2 applications. They are, for example, using NFTs as avatars, usernames or public profiles.
The open source developer tools built by walt.id and Ethereum enable you to do all of these things and more!
Holistic open source developer tooling for decentralized identity
Our NFT infrastructure makes it easy for developers to mint NFTs/SBTs on Ethereum. More concretely, these open source tools enable developers to easily create, deploy and manage smart contracts as well as to configure its features (such as metadata storage, supply size, dynamic NFTs and metadata updates). This component also includes the transactional capabilities (minting). Those following standards provide the main functionality needed to launch an NFT project.
Supported Token Types:
Non-fungible (ERC-721)
More to come
Apart from minting NFTs, developers can use the provided open source tools to figure out which NFTs are associated with a certain wallet and fetch all data associated with these NFTs. This capability enables dApps or wallets as well as traditional web2 applications to manage and display NFTs and metadata to their users.
At the end of the day, this functionality can be used to provide users with more information about NFTs as well as to build interesting features like using NFTs for avatars or profile pictures.
Moreover, our open source infrastructure enables developers to verify NFTs/SBTs of users (aka wallet holders) as well as NFTs’ metadata against customizable policies. On top of that, developers can also verify users’ ownership of a wallet with an implementation of “Sign in with Ethereum”. Based on these capabilities developers can build token-gating into their applications in order to manage their stakeholders’ access to different products, services or communities.
In other words, dapps and DAOS can build their own token-gated solutions which leverage NFTs as “access tokens” for different services, websites and virtual spaces based on e.g. NFTs representing membership cards, avatars, tickets, etc. NFTs can either be minted by a dapp or DAO itself - using our open source tools - or by anyone else. Access rights can simply be configured with customizable verification policies (based REGO and the Open Policy Agent).
Finally, given that more and more traditional businesses are using NFTs utility functions, we also built an “identity provider” (leveraging OpenID Connect) that integrates with traditional identity and access management tools like “KeyCloak”. As a result, developers and businesses benefit from backwards compatibility as they can now easily implement token-gating with these traditional access management tools.
How to get started
Depending on your preferences, start hands on with a tutorial or dive into the functionalities and the overall architecture.
Deep dive
Architecture - See how Ethereum was integrated into the NFT-Kit
Mint NFTs - How to deploy Smart Contracts and mint NFTs
Verify NFTs- How to verify NFT ownership within a collection and other metadata.
Smart contract extensions - How to add features like pausing of NFT transfers, minting and/or burning to your smart contract
Smart contract access control - How to Implement Access Control Mechanisms in Your Smart Contract
Login with NFTs - Learn how to build login with NFTs into your web2 app
About walt.id
walt.id offers open source identity, NFT, and wallet infrastructure for developers and enterprises.
The company’s products are used by thousands of developers, governments, public authorities, enterprises, and decentralized autonomous organizations to build applications and use cases across industries fast and without much complexity.
For more information, visit walt.id or join them on Discord.