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 community@learningeconomy.io—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:

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!

pageDiscord Bot

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:

There are 4 main fields you will want for each achievement:

  1. Title: the main way of identifying your achievement e.g. "Achievement Unlocked"

  2. Description: common description of what this achievement represents.

  3. Narrative: description of how someone earns this achievement.

  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"

Check out the VC-Templates plugin for more options:


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

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.

Then, start issuing credentials!

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!

#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. 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. Construct a Verifiable Presentation Request using the desired credential types (e.g., AchievementCredential for recognizing members' achievements).

  3. Wrap the Verifiable Presentation Request in a Web Credential Query, allowing your platform to request credentials from a user's digital wallet.

  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. 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.

See the full CHAPI documentation for verifiers here.

Verifying Credentials using LearnCard SDK

  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. 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. 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.

pageAccept & Verify Credentials

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 sdk@learningeconomy.io.


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:

pageWriting Plugins

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.

Last updated