# @veramo/did-comm

> Veramo messaging plugin implementing DIDComm v2.

Latest version **7.0.2** (published 2026-09-23) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install @veramo/did-comm
pnpm add @veramo/did-comm
yarn add @veramo/did-comm
bun add @veramo/did-comm
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; has provenance; recently updated; high maintenance score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 7.0.2 |
| Published | 2026-09-23 |
| First published | 2020-12-18 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 13 |
| Unpacked size | 808.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 543 |
| Author | Consensys Mesh R&D <hello@veramo.io> |
| Maintainers | veramo-bot, mirceanis, uport-automation-bot, nickreynolds2 |
| Keywords | Veramo, DID, Verifiable Credential, DIDComm, veramo-plugin, DIDComm v2, DIDComm Messaging, JWE |

## Links

- npm: https://www.npmjs.com/package/@veramo/did-comm
- Repository: https://github.com/decentralized-identity/veramo
- npm.io page: https://npm.io/package/@veramo/did-comm

## Dependencies (13)

- [uuid](https://npm.io/package/uuid.md) ^11.0.0
- [debug](https://npm.io/package/debug.md) ^4.3.3
- [did-jwt](https://npm.io/package/did-jwt.md) ^8.0.0
- [cross-fetch](https://npm.io/package/cross-fetch.md) ^4.0.0
- [did-resolver](https://npm.io/package/did-resolver.md) ^4.1.0
- [@noble/curves](https://npm.io/package/@noble/curves.md) ^1.4.2
- [@veramo/utils](https://npm.io/package/@veramo/utils.md) ^7.0.2
- [@noble/ciphers](https://npm.io/package/@noble/ciphers.md) ^1.0.0
- [@veramo/kv-store](https://npm.io/package/@veramo/kv-store.md) ^7.0.2
- [@stablelib/aes-kw](https://npm.io/package/@stablelib/aes-kw.md) ^2.0.0
- [@veramo/core-types](https://npm.io/package/@veramo/core-types.md) ^7.0.2
- [@veramo/message-handler](https://npm.io/package/@veramo/message-handler.md) ^7.0.2
- [@veramo/mediation-manager](https://npm.io/package/@veramo/mediation-manager.md) ^7.0.2

## Alternatives

- [@sindresorhus/slugify](https://npm.io/package/@sindresorhus/slugify.md) — 3.7M weekly downloads
- [solid-js](https://npm.io/package/solid-js.md) — 2.7M weekly downloads
- [expo-glass-effect](https://npm.io/package/expo-glass-effect.md) — 2.5M weekly downloads
- [nanoassert](https://npm.io/package/nanoassert.md) — 780.8K weekly downloads
- [@ffmpeg/ffmpeg](https://npm.io/package/@ffmpeg/ffmpeg.md) — 529.5K weekly downloads

## Recent versions

- 7.0.2 (latest) — 2026-09-23
- 7.0.1-next-20260923103806 (next) — 2026-09-23
- 5.6.1-unstable.36 (unstable) — 2024-01-22
- 1.1.1-experimental.72 (experimental) — 2021-04-20
- 7.0.1-next-20260922123307 — 2026-09-22
- 7.0.1-next-20260920153615 — 2026-09-20
- 7.0.1-next-20260919194445 — 2026-09-19
- 7.0.1-next-20260917080719 — 2026-09-17
- 7.0.1 — 2026-09-15
- 7.0.1-next-20260915121021 — 2026-09-15
- 7.0.0 — 2026-02-11
- 6.0.3-next.65 — 2026-02-11
- 6.0.3-next.64 — 2026-02-10
- 6.0.3-next.63 — 2026-01-24
- 6.0.3-next.62 — 2026-01-24
- … 590 more at https://npm.io/package/@veramo/did-comm/versions

## README

# Veramo DIDComm

Veramo messaging plugin implementing DIDComm v2, as specified by the [DIDComm v2 Spec](https://identity.foundation/didcomm-messaging/spec/) as well as certain "DIDComm Protocols"

## Spec Compliance

### [Message Formats](https://identity.foundation/didcomm-messaging/spec/#message-formats)

Message Envelopes:

| Envelope | Veramo 'packing' | IANA type (`typ`) | packDIDCommMessage | unpackDIDCommMessage | notes |
| -------- | ---------------- | ----------------- | ------------------ | -------------------- | -------------------- |
| plaintext | 'none' | `application/didcomm-plain+json` | [X] | [X] | |
| signed(plaintext) | 'jws' | `application/didcomm-signed+json` | [X] | [X] | |
| anoncrypt(plaintext) | 'anoncrypt' | `application/didcomm-encrypted+json` | [X] | [X] | |
| authcrypt(plaintext) | 'authcrypt' | `application/didcomm-encrypted+json` | [X] | [X] | |
| anoncrypt(sign(plaintext)) | 'anoncrypt+jws' | `application/didcomm-encrypted+json` | [ ] | [ ] | |
| authcrypt(sign(plaintext)) | 'authcrypt+jws' | `application/didcomm-encrypted+json` | [ ] | [ ] | SHOULD NOT be emitted, but MAY be accepted |
| anoncryptauthcrypt((sign(plaintext))) | '' | `application/didcomm-encrypted+json` | [ ] | [ ] | |

---
_Source: https://npm.io/package/@veramo/did-comm · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
