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