Learning Economy Protocol
Ask or search…
Comment on page

DAO & Communities

Using LearnCard to supercharge your DAO or community!
If you participate in a DAO, and are interested in understanding how LearnCard can augment your community—you've come to the right place!
This guide will walk you through everything you need to get started. No prior experience required.
First things first: you need to identify your use case. Why are you interested in using LearnCard in the first place?

Some common use cases:

  • 🏆
    Achievements: you want to recognize your members when they do cool or significant stuff in your community. Start here.
  • 🎓
    Courses: you want to issue skills, learning certificates, achievements, and more when members of your community progress through your curriculum. Start here.
  • 👍
    Endorsements: you want to enable or accept peer-to-peer endorsements within your community. Start here.
  • 🔓
    Gated Content: you want to unlock content or channels in your community based on the achievement of specific credentials. Start here.
  • Proof of Membership: you want to issue proof of membership in your community. Start here.
  • 🤝
    Hiring: you want to verify skills, endorsements, and reputation when hiring people in and outside of your community. Start here.
  • 💳
    Identity & KYC: you want to verify identity of members or potential members. Start here.

Are you using LearnCard?

We'd love to hear to hear from you! Share your story in our Github Discussions, or send us an email at [email protected]—we'd love to feature your work 🙌.

Quick Start

These are some of the most common and quickest ways to get started.

#1—Issue Credentials in your Community

Great! You've decided that you would like to issue credentials in your community—achievements, skills, learning certificates, endorsements, identities, etc.

First, you need to identify what service, bot, or app you will use to issue your credentials.

Flip through the tabs to learn more about each option:
Discord Bot
LearnCard App
Metamask Snap
If your community already lives in Discord, one of the easiest ways to get started is to use our Discord bot.
If you haven't already, follow the instructions to get the Discord bot setup in your community, then come back here!
For peer-to-peer credential issuing, it's often easy to use the LearnCard app itself!
If you haven't already, get setup with LearnCard, then return here!
If your community heavily uses Metamask, there are ways to enable issuance flows through Metamask.
Experimental: Metamask Snaps is in early beta with Consensys. Snaps, to date, can only be installed in the experimental Metamask Flask - this is only required for issuing credentials. Normal Metamask users may use regular Metamask to claim credentials.
If you haven't already, follow the instructions to get Metamask setup in your community, then come back here!

Second, you need to identify what credentials you will be issuing.

If you are using the VCTemplatesPlugin (enabled by default with LearnCard), there are a variety of default credential templates to help you get started quickly! Flip through the tabs to see some default options, and what information you will need to compile:
Learning Completion
There are 4 main fields you will want for each achievement:
  1. 1.
    Title: the main way of identifying your achievement e.g. "Achievement Unlocked"
  2. 2.
    Description: common description of what this achievement represents.
  3. 3.
    Narrative: description of how someone earns this achievement.
  4. 4.
    Image: a picture representation of this achievement.
// JSON Representation of Achievement
"title": "Achievement Unlocked",
"description": "This is a description",
"narrative": "Earned by completing a basic tutorial on our website.",
"image": "https://www.example.com"
Coming soon.
Coming soon.
Coming soon.
Coming soon.
Check out the VC-Templates plugin for more options:

Third, you need to configure your issuing platform to use your credential templates.

Discord Bot
LearnCard App
Metamask Snap
Use the /create-credential command. It will open a modal and walk you through creating a credential template, with first-class support for achievements, learning completions, skills, and IDs.
Coming soon.
Coming soon.

Then, start issuing credentials!

Discord Bot
LearnCard App
Metamask Snap
Use the /send-credential @<user> command to start issuing credentials to your members.
It will prompt you to select one of your credential templates from Step 3. Then, the LearnCard bot will send a direct message to your community member with steps on how they can claim their shiny new credential!
Coming soon.
Coming soon.

#2—Verify Credentials in your Community

In a community platform such as a DAO, you want to streamline the verification process of members' credentials for various use cases like achievements, courses, endorsements, gated content, proof of membership, hiring, and identity & KYC. You can achieve this using the CHAPI (Credential Handler API) and the LearnCard SDK. The following steps outline how an App Developer can accept and verify credentials in their platform using CHAPI and LearnCard SDK.

Accepting Credentials using CHAPI

  1. 1.
    Import the CHAPI Polyfill into your platform based on your development environment. You can either use the script tag method for vanilla JavaScript or import the polyfill library in Node.js.
  2. 2.
    Construct a Verifiable Presentation Request using the desired credential types (e.g., AchievementCredential for recognizing members' achievements).
  3. 3.
    Wrap the Verifiable Presentation Request in a Web Credential Query, allowing your platform to request credentials from a user's digital wallet.
  4. 4.
    Request a Web Credential using the navigator.credentials.get(credentialQuery) function. The user will be prompted to present the requested credentials from their digital wallet.
  5. 5.
    Handle null results, which can occur when the user denies the request or does not have a wallet installed. As a developer, decide how to handle these situations by offering fallback mechanisms, retry options, or alternate paths.

Verifying Credentials using LearnCard SDK

  1. 1.
    After receiving the credentials from the user's wallet, use the LearnCard SDK's learnCard.invoke.verifyCredential(signedVc) function to verify the received credentials.
  2. 2.
    Check the results of the verification to ensure the validity of the credentials. The result will contain an array of objects with status, check, and message properties.
  3. 3.
    If the verification is successful, proceed with the next steps specific to the use case (e.g., granting access to gated content or issuing proof of membership). Otherwise, handle the failed verification case by either requesting the user to provide valid credentials or implementing any other suitable action.
By integrating CHAPI and LearnCard SDK into your community platform, you can create a seamless and secure process for accepting and verifying member credentials for various use cases. This will not only streamline the verification process but also provide added security and trust in the credentials presented by the members, enhancing the overall community experience.
Did we miss your use case? We'd love to chat and hear what you are working on to see how we can help. Post a question to our developer community, the Super Skills League, or shoot us an email at [email protected].


Sometimes you need more than the basic, out-of-the-box flows because you have a complex community or use case. That's great! All of our tooling is fully pluggable and open-source, so with a little elbow grease and developer time, you should be able to accomplish your goals.
Don't have your own developers? We're here to help.

Build Your Own Bot

Does your community use a platform not yet supported? Let's change that:

Build Your Own Plugin

Do you have a unique requirement, such as supporting a specific DID method, protocol, or system? You might need to build your own plugin:

Coming Soon

These features aren't yet available, but they are coming soon on our roadmap—never to early too get excited!


  • 💸
    Earn-and-learn: you want to incentivize learning in your community on a specific topic, or even incentivize people to learn about your community.
  • 💰
    Gig Micropayments: smart contract templates for issuing micropayments with proof of a verifiable credential, i.e. streaming payments and proof-of-work. Credential the actual tasks connected to a todo list; tracked with PVCs feeds reputation, ability to access things, ability to get paid autonomously.