For the complete documentation index, see llms.txt. This page is also available as Markdown.

Plugins

Plugins compose the LearnCard SDK β€” each one adds functionality through Control Planes (standard interfaces like read, store, and index) or methods exposed via invoke. initLearnCard loads the standard stack automatically, so most integrations never add a plugin by hand.

Included by default

Loaded automatically by initLearnCard({ seed }) β€” no separate install, no manual addPlugin call.

Plugin
Package
What it adds

LearnCard (Universal Wallet)

@learncard/learn-card-plugin

Wraps verifyCredential with a friendlier, more opinionated output.

Crypto

@learncard/crypto-plugin

Isomorphic WebCrypto object usable in both the browser and Node.

DIDKit

@learncard/didkit-plugin

DID/VC/VP primitives (key generation, signing, verification, DID resolution) via Spruce's DIDKit, compiled to WASM. See DIDKit (Node) for the native, server-side build.

@learncard/didkit-plugin-node

Native N-API build of DIDKit β€” ~18x faster cold start than WASM. Optional dependency of @learncard/init; opt in with didkit: 'node'.

DID Key

@learncard/didkey-plugin

Derives did:key DIDs and keypairs from a 32-byte seed; implements the ID Control Plane.

VC

@learncard/vc-plugin

Signs/verifies credentials and presentations; exposes the VerifyExtension type so sub-plugins can add their own verification checks.

Expiration

@learncard/expiration-plugin

VC sub-plugin (built on VerifyExtension) that adds an expiration check to verifyCredential.

@learncard/vc-templates-plugin

Pre-built templates (basic, achievement, boosts, ...) for newCredential().

@learncard/learn-cloud-plugin

Encrypted cloud storage for credentials via the LearnCloud API (read/store/index planes).

@learncard/ethereum-plugin

Balance and transfer operations for the wallet's Ethereum address.

@learncard/vpqr-plugin

Compresses Verifiable Presentations into QR codes (CBOR-LD) and back.

CHAPI

@learncard/chapi-plugin

Send/receive credentials and presentations via the Credential Handler API.

Dynamic Loader

@learncard/dynamic-loader-plugin

Resolves unrecognized JSON-LD contexts over HTTP at runtime. Discouraged outside test/playground use (security risk) β€” enable with allowRemoteContexts: true.

Network

Loaded automatically when you pass network: true (in addition to the default stack above).

Plugin
Package
What it adds

@learncard/network-plugin

Profiles, connections, credentials, presentations, boosts, and skill search via LearnCloud Network.

VC-API

@learncard/vc-api-plugin

Signs/verifies against a VC-API endpoint (e.g. LearnCard Bridge), with automatic Issuer DID discovery. Bundled with @learncard/init, but loads via the separate initLearnCard({ vcApi: ... }) entry point, not network: true.

Install separately

Not bundled with @learncard/init β€” bun add the package and addPlugin it yourself.

Plugin
Package
What it adds

@learncard/claimable-boosts-plugin

Generates claimable links/QR codes so credentials can be issued before the recipient's DID is known. Pairs with the LCA API plugin.

LCA API

@learncard/lca-api-plugin

LearnCard-managed Signing Authorities and other LearnCard App services. initLCALearnCard() (same package) builds a full network wallet with this plugin pre-added in one call.

@learncard/ceramic-plugin

Stores/reads credentials on Ceramic, with optional JWE encryption.

IDX

@learncard/idx-plugin

Manages a CredentialRecord list on IDX/Ceramic; implements the Index Control Plane.

Write your own

See Build a Plugin for a step-by-step guide to writing your own plugin.

Last updated

Was this helpful?