Verida Badges

What are Verida Badges?

Users can mint Verida Badges as on-chain Soulbound Tokens (SBTs) that represent a verified proof of ownership of a Web2 platform you own. The representation a tokenised attestation of your ownership claim.

Verida One provides a single source of truth about activities and ownership that can be read by both humans (via a web UI) and programs (via methods including on-chain records and Verida APIs for off-chain data).

By issuing verified Badges, Verida acts as an authority recognised by dapps.

How are Badges useful?

Badges make it easier for humans to show their identity and activities to other humans (send them to a single URL) and to programs (by providing a consistent UX for managing these machine-readable identities).

This provides trust, identity and reputation when interacting (crypto transactions, DM’s etc.) with that user. It enables users to highlight / show off their achievements across both Web2 and Web3.

What Badges are available?

All available badges are shown in the Verida Vault. The initial list of badges include:

  • Verida Identity (proof of identity)

  • Github Badge (proof of account ownership)

  • Discord (proof of account ownership)

  • Twitter Badge (proof of account ownership)

We will be making more badges available over time. Check what badges are available to verify and claim at any time by opening the Verida Vault.

How do I create a Verida Badge?

To create a Verida Badge users must download the Verida Vault. A new Verida identity must be setup if not done already. Tap on the Connections tab of the Vault and follow the steps in the app to get your badge. Look out for other options through the Vault to complete this process too.

Can I transfer my Badge?

No. Verida Badges are non-transferrable ERC-721 tokens.

Can I create my own Badges using Verida?

Currently, the only badges that are available are through the Verida Vault. Tooling and support to enable you to create your own badges will come in the future. Get in touch to partner up and let us know what you want to use badges for.

How do I get early access to Verida One?

Sign up for the early access waitlist. Refer your friends to move up the waitlist and be the first to claim your Verida Name, Verida Badges and Verida One profile.

Can I see my proof?

Not right now, but the Verida Vault will be updated soon to allow you to see this proof.

What are Soulbound Tokens?

Soulbound tokens (SBT) are a new cryptographic primitive that attests and graphs reputational value in a native blockchain environment.

SBTs are a kind of non-transferable asset, often referred to as a Non-Transferable NFT.

Non-Transferable NFTs or account bound NFTs have been discussed since 2017 but only gained a significant audience early in 2022 when Vitalik first posted about them on his blog.

How are Verida Badges created?

For an SBT to be minted, a user needs to provide a proof of something off-chain. For example:

  • A proof they own a Twitter account, signed by a trusted Verida DID

  • A proof they have 10,000 Twitter followers, signed by a trusted Verida DID

When a Verida Badge is created the Verida protocol is doing the following behind the scenes.

  1. User signs into their Twitter account and authorizes a Verida server to gain an access token

  2. Verida server generates a proof string (twitter-${twitterId}-${did}) and signs it using a Verida Company DID that represents a "trusted signer" on the Verida network

  3. The Verida server sends the signed proof to the User, and stores it in their Vault automatically.

  4. The user can then claim the related Badge by selecting a blockchain address and clicking the Claim button

  5. The user sends the signed proof to the Verida Verified Badge smart contract, with a wallet address, along with a signature that combines the contract parameters and a nonce (using the Verida Verification Base process)

  6. The NFT uses the Verida Verification Base smart contract library to verify the signature, verify the signed proof matches the Verida Company DID and then mints an SBT for the user's crypto wallet

  7. A user receives an SBT in their requested wallet address

Please note:

A user can

  • verify (and add the badge for) the same external account (eg Twitter) to multiple DIDs

  • verify (and add the badge for) the same external account (eg Twitter) to multiple blockchain addresses within the same DID

A user cannot

  • Add the same external account (eg Twitter) more than once to the same blockchain address

Where are my proofs stored?

Your signed ownership proof that is used to generate each Verida Badge is stored securely in your personal data store on the Verida Network. The metadata of the proof, once minted as the SBT, is public on-chain.

What token standard do Verida Badges use?

The minted SBT is a basic smart contract based on EIP-5192: Minimal Soulbound NFTs. It has been extend with ERC721Metadata as per EIP 721.

There is no mint price for the SBT, just the applicable gas fees for the transaction.

How do SBTs fit into the Verida identity stack?

A persons identity comprises of many unique identifiers. In Verida’s identity framework these are tied to a Verida Identity which is a Decentralised Identifier (DID).

Self-sovereign identity provides for many use cases, which have differing privacy thresholds. The Verida protocol supports both Verifiable Credentials (VCs) and Soulbound Tokens (SBTs). Both are standards that can be used for attestations and claims about an individual.

Verifiable Credentials are are W3C standard and can be used to represent all types of credentials. Examples include; a drivers licence, passport, medical certificate or qualification. They are supported within the Verida network with the @verida/verifiable-credential npm package. They can be verified by anyone, using the Verida Verifiable Credentials library (@verida/verifiable-credential).

VCs can be issued by an account on the Verida Network. The credentials can be privately or publicly stored by a Verida Identity on the Verida Network. By default, VCs are stored privately, off-chain.

SBTs are a token on a blockchain, non-transferable asset with NFT characteristics. The technical standards for SBTs are not yet finalized, but in progress across many blockchain communities. By design, SBTs are public and stored on-chain.

For a detailed explainer of the differences, check out this great article from Kai.

For more information see our Developer Docs.

Last updated