# Plugins

LearnCard uses a modular plugin system to extend functionality. Plugins are self-contained modules that add specific capabilities through **Control Planes** (standard interfaces like read, store, index) and **Methods** (custom functions via `invoke`).

## Quick Start

Most users don't need to install plugins individually—`@learncard/init` bundles the essential plugins automatically:

```typescript
import { initLearnCard } from '@learncard/init';

// Full wallet with all standard plugins
const learnCard = await initLearnCard({ seed: 'your-seed', network: true });

// Add additional plugins as needed
const enhancedLearnCard = await learnCard.addPlugin(await getMyPlugin());
```

## Official Plugins

### Core Plugins (included in @learncard/init)

| Plugin                                                                                                                      | Description                                          |
| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| [Crypto](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/crypto.md)                       | Core cryptographic operations                        |
| [DIDKit](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/didkit.md)                       | DID operations using DIDKit WASM                     |
| [DIDKit Node](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/didkit-node.md)             | High-performance native Node.js DIDKit (server-side) |
| [DID Key](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/did-key.md)                     | Key management for `did:key` method                  |
| [VC](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/vc/README.md)                        | Verifiable Credential signing & verification         |
| [VC-Templates](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/vc-templates.md)           | Pre-built credential templates                       |
| [LearnCloud](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/learncloud.md)               | Encrypted cloud storage                              |
| [Expiration](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/vc/expiration-sub-plugin.md) | Credential expiration handling                       |

### Network Plugins

| Plugin                                                                                                                      | Description                                          |
| --------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| [LearnCard Network](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/learncard-network.md) | Profiles, connections, boosts via LearnCloud Network |
| [VC-API](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/vc-api.md)                       | VC-API protocol support                              |

### Extension Plugins (install separately)

| Plugin                                                                                                                    | Package                              | Description                          |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------------------------ |
| [Claimable Boosts](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/claimable-boosts.md) | `@learncard/claimable-boosts-plugin` | Generate claimable credential links  |
| [Simple Signing](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/simple-signing.md)     | `@learncard/simple-signing-plugin`   | Remote signing authority support     |
| [CHAPI](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/chapi.md)                       | `@learncard/chapi-plugin`            | Credential Handler API integration   |
| [Ceramic](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/ceramic.md)                   | `@learncard/ceramic-plugin`          | Ceramic Network storage              |
| [Ethereum](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/ethereum.md)                 | `@learncard/ethereum-plugin`         | Ethereum blockchain integration      |
| [VPQR](https://github.com/learningeconomy/LearnCard/blob/main/docs/sdks/official-plugins/vpqr.md)                         | `@learncard/vpqr-plugin`             | QR code generation for presentations |

## Building Your Own Plugin

Want to extend LearnCard? See [Build a Plugin](https://docs.learncard.com/how-to-guides/deploy-infrastructure/the-simplest-plugin) for a step-by-step guide.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.learncard.com/sdks/official-plugins.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
