Create a Boost
Welcome! This tutorial will guide you through creating a "Boost" with LearnCard. Boosts are an enhanced way to manage and issue Verifiable Credentials (VCs), especially when you want to issue a similar credential to multiple people or manage it as a distinct "template."
What is a Boost, and Why Use It?
You already know how to Create and Send a Single Credential. That's great for one-off situations!
A Boost takes this a step further. Think of a Boost as a master template or a blueprint for a specific type of credential.
Direct VC: Like handwriting a single invitation.
Boost: Like designing a beautiful invitation template that you can then print and send to many guests. Each guest gets a personalized copy (their own VC instance), but they all originate from your master "Boost" template.
You should use a Boost instead of sending VCs directly when you want to:
Issue the same type of credential to multiple people: e.g., a "Course Completion" certificate for all students who pass.
Track recipients centrally: Easily see a list of everyone who has received a credential derived from a specific Boost.
Manage a credential type: Update metadata or display properties of the Boost, which can influence future issuances.
Delegate issuance: Grant permissions to others (e.g., "Coaches") to issue credentials based on a Boost you created.
Organize credentials: Create hierarchies of Boosts (e.g., a "Programming" Boost with child Boosts for "Python" and "JavaScript").
(See the diagrams below for a visual comparison of sending VCs directly vs. sending Boosts)
Diagram 1: Sending Individual VCs (This is what the previous "Create a Credential" tutorial covered)
Diagram 2: Sending Credentials via a Boost (This is what this tutorial will cover)
Here, Urmila creates one "Book Club ID" Boost. Then, when she sends it to Ted and Juniper, they each receive a credential that is an instance of that main Boost.
What you'll accomplish in this tutorial:
Set up your Issuer environment (quick recap).
Define the content for a "Monthly Tech Meetup Attendee" Boost.
Create the Boost on the LearnCard Network.
Send this Boost (as individual credentials) to two different recipient Profile IDs.
Briefly discuss how you might see who received the Boost.
Prerequisites:
LearnCard App Installed: For your recipients (you can use your own Profile ID as one or both recipients for testing).
Recipient Profile IDs: You'll need at least two unique Profile IDs from LearnCard apps. For testing, you can use your own and perhaps a friend's, or create dummy ones if your test environment allows.
Development Environment:
Node.js installed.
A new project folder.
LearnCard SDK installed:
Basic Understanding: Review What is a Verifiable Credential? and the previous tutorial Create and Send Your First Digital Credential.
Part 1: Setting Up Your Issuer Environment (Recap)
Just like in the previous tutorial, your computer will act as the Issuer.
Step 1.1: Create an Issuer Script Create issueBoost.ts (or .js).
issueBoost.ts (or .js).Step 1.2: Initialize LearnCard SDK for the Issuer
Step 1.3: Ensure Issuer Has a Service Profile
Part 2: Defining the Credential Content for Your Boost
This is the "template" for the credential that will be issued each time you send this Boost. For our example, it's an attendance credential for a monthly tech meetup.
Notice we don't specify the recipient's DID in the credentialSubject.id here. The Boost is the template; the specific recipient details are handled when you send the Boost.
Part 3: Creating the Boost
Now, let's create the Boost itself on the LearnCard Network using the template content.
When you run this, you'll get a boostUri. This URI is the identifier for your Boost template.
Part 4: Sending the Boost to Multiple Recipients
With your boostUri, you can now send it to your attendees. Each sendBoost call will create a unique Verifiable Credential instance for that recipient, based on the Boost template.
Part 5: Putting It All Together & Viewing
Let's run the full sequence.
Step 5.1: Run Your Script
Replace Placeholders:
In
issueBoost.ts, findYOUR_FIRST_RECIPIENT_PROFILE_IDandYOUR_SECOND_RECIPIENT_PROFILE_IDand replace them with actual Profile IDs from LearnCard apps (you can use your own ID twice for testing if needed, but using two different ones is better for demonstration).Also, replace
'my-tech-meetup-organizer-seed-keep-secret'with your own unique string for the issuer's seed.
Save the file.
Open your terminal in your project directory and run:
If using TypeScript:
npx ts-node issueBoost.tsIf using JavaScript:
node issueBoost.js
Step 5.2: View in LearnCard Apps
After the script runs, check the LearnCard apps associated with the recipient Profile IDs you used. Each should have received the "Tech Innovators Meetup - May 2025 Attendee" credential in your notifications.
Bonus: Simplified Sending with the send Method
send MethodIf you want to create and send a boost in a single call, you can use the new send method. This is ideal for quick issuance scenarios where you don't need to manage the boost template separately.
Or, if you already have a boost template created:
The send method automatically handles:
Signing: Uses client-side signing if available, falls back to your signing authority
Issuance date: Sets the current timestamp automatically
Recipient DID: Populates the
credentialSubject.idwith the recipient's DID
For more details, see the Send Credentials How-To Guide.
Summary & What's Next
Fantastic! You've now learned how to: β
Understand the value of Boosts for reusable credential templates. β
Define the content for a Boost. β
Create a Boost using the LearnCard SDK. β
Send instances of that Boost to multiple recipients. β
Use the simplified send method for quick issuance.
Boosts are a powerful way to manage credentialing at scale. From here, you can explore:
Retrieving Boost Recipients: Use
learnCard.invoke.getPaginatedBoostRecipients(boostUri)to see who has been issued a credential from this Boost.Boost Permissions: Control who can edit, issue, or manage your Boosts. (See Boost Permission Model).
Default Permissions: Use
defaultPermissionsto create open Boosts that anyone can issue. (See Default Permissions).Boost Hierarchies: Organize Boosts into parent-child relationships. (See Boost Hierarchies).
Customizing Display Options for your Boosts to make them visually appealing in wallets.
ConsentFlow Integration: Link boosts to consent contracts for automatic routing. (See ConsentFlow Overview).
Explore the Boost Credentials Core Concept page for more in-depth information on all the capabilities of Boosts!
Last updated
Was this helpful?