Supported Plugins
Comprehensive listing of all supported TrustWeave plugins organized by category. Each plugin includes links to detailed integration guides.
TrustWeave’s plugin architecture enables you to integrate with various DID methods, blockchain networks, key management services, and wallet storage backends. All plugins follow the SPI (Service Provider Interface) pattern for automatic discovery and registration.
📋 Quick Navigation
- DID Method Plugins
- Blockchain Anchor Plugins
- Key Management Service (KMS) Plugins
- Other Integrations
DID Method Plugins
DID method plugins enable TrustWeave to create, resolve, and manage DIDs using various DID method specifications. All DID method plugins implement the DidMethodService interface.
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| did:key | com.trustweave.did:key |
Key DID Guide | Native did:key implementation - most widely-used DID method with zero external dependencies |
| did:web | com.trustweave.did:web |
Web DID Guide | Web DID method for HTTP/HTTPS-based resolution with full W3C spec compliance |
| did:ethr | com.trustweave.did:ethr |
Ethereum DID Guide | Ethereum DID method with blockchain anchoring support for mainnet and testnets |
| did:ion | com.trustweave.did:ion |
ION DID Guide | Microsoft ION DID method using Sidetree protocol with Bitcoin anchoring |
| did:polygon | com.trustweave.did:polygon |
Polygon DID Guide | Polygon DID method with lower transaction costs than Ethereum mainnet |
| did:sol | com.trustweave.did:sol |
Solana DID Guide | Solana DID method with program integration and account-based storage |
| did:peer | com.trustweave.did:peer |
Peer DID Guide | Peer-to-peer DID method with no external registry, supports numalgo 0, 1, and 2 |
| did:jwk | com.trustweave.did:jwk |
JWK DID Guide | W3C-standard did:jwk method using JSON Web Keys directly |
| did:ens | com.trustweave.did:ens |
ENS DID Guide | Ethereum Name Service (ENS) resolver integration with human-readable identifiers |
| did:plc | com.trustweave.did:plc |
PLC DID Guide | Personal Linked Container (PLC) DID method for AT Protocol with HTTP-based resolution |
| did:cheqd | com.trustweave.did:cheqd |
Cheqd DID Guide | Cheqd network DID method with payment-enabled features on Cosmos-based blockchain |
Blockchain Anchor Plugins
Blockchain anchor plugins enable TrustWeave to anchor credential digests to various blockchain networks. All blockchain anchor plugins implement the BlockchainAnchorClient interface.
| Plugin | Module ID | Documentation | Supported Networks | Description |
|---|---|---|---|---|
| Ethereum | com.trustweave.chains:ethereum |
Ethereum Anchor Guide | Mainnet, Sepolia | Ethereum mainnet anchoring with EVM-compatible transaction data storage |
| Base | com.trustweave.chains:base |
Base Anchor Guide | Mainnet, Sepolia | Base (Coinbase L2) anchoring with fast confirmations and lower fees |
| Arbitrum | com.trustweave.chains:arbitrum |
Arbitrum Anchor Guide | Mainnet, Sepolia | Arbitrum One (largest L2 by TVL) anchoring with EVM compatibility |
| Algorand | com.trustweave.chains:algorand |
Algorand Guide | Mainnet, Testnet | Algorand blockchain anchoring for production-ready anchoring |
| Polygon | com.trustweave.chains:polygon |
Polygon DID Guide | Mainnet, Mumbai | Polygon PoS anchoring with shared SPI plumbing |
| Ganache | com.trustweave.chains:ganache |
Integration Modules | Local | Local developer anchoring using Ganache/Testcontainers for testing |
Key Management Service (KMS) Plugins
KMS plugins enable TrustWeave to use various key management services for secure key generation, storage, and signing operations. All KMS plugins implement the KeyManagementService interface.
Cloud KMS Providers
| Plugin | Module ID | Documentation | Key Features |
|---|---|---|---|
| AWS KMS | com.trustweave.kms:aws |
AWS KMS Guide | FIPS 140-3 Level 3, Ed25519, secp256k1, P-256/P-384/P-521, RSA |
| Azure Key Vault | com.trustweave.kms:azure |
Azure KMS Guide | Managed Identity, Service Principal auth, secp256k1, P-256/P-384/P-521, RSA |
| Google Cloud KMS | com.trustweave.kms:google |
Google KMS Guide | Application Default Credentials, secp256k1, P-256/P-384, RSA |
Self-Hosted KMS Providers
| Plugin | Module ID | Documentation | Key Features |
|---|---|---|---|
| HashiCorp Vault | com.trustweave.kms:hashicorp |
HashiCorp Vault Guide | Transit engine, Token/AppRole auth, Ed25519, secp256k1, P-256/P-384/P-521, RSA |
Feature Plugins
Feature plugins provide additional capabilities for credential management, monitoring, and communication. All feature plugins follow TrustWeave’s plugin architecture.
Core Features
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| Audit Logging | core:plugins:audit-logging |
Features Guide | Immutable audit logs for all operations with queryable event history |
| Metrics & Telemetry | core:plugins:metrics |
Features Guide | Performance and usage metrics with statistics and percentiles |
| Health Checks | core:plugins:health-checks |
Features Guide | System diagnostics and health monitoring |
Credential Management
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| Credential Versioning | core:plugins:credential-versioning |
Features Guide | Version tracking and rollback for credentials |
| Backup & Recovery | core:plugins:credential-backup |
Features Guide | Export/import credentials from wallets |
| Expiration Management | core:plugins:expiration-management |
Features Guide | Monitor and manage expiring credentials |
| Credential Rendering | core:plugins:credential-rendering |
Features Guide | Render credentials as HTML/PDF |
Communication & Exchange
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| QR Code Generation | core:plugins:qr-code |
Features Guide | Generate QR codes for credential sharing |
| Notifications | core:plugins:notifications |
Features Guide | Push notifications and webhooks for credential events |
| OIDC4VCI | core:plugins:oidc4vci |
Features Guide | OpenID Connect for Verifiable Credential Issuance |
| DIDComm v2 | core:plugins:didcomm |
Features Guide | DIDComm v2 credential exchange protocol |
| CHAPI | core:plugins:chapi |
Features Guide | Credential Handler API support |
Advanced Features
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| Multi-Party Issuance | core:plugins:multi-party-issuance |
Features Guide | Collaborative credential issuance with consensus |
| Analytics & Reporting | core:plugins:analytics |
Features Guide | Analytics and trend analysis for credentials |
For detailed usage examples, see the Features Usage Guide.
Other Integrations
Additional integrations that provide bridges to other identity ecosystems or combined DID/KMS functionality.
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| GoDiddy | com.trustweave.did:godiddy |
GoDiddy Guide | HTTP bridge to DID/VC services exposed by the GoDiddy stack |
| walt.id | com.trustweave.kms:waltid |
walt.id Guide | DID and KMS providers from the walt.id ecosystem |
Usage Example
To use a plugin, simply add it as a dependency to your project:
1
2
3
4
5
6
7
8
9
10
dependencies {
// DID method plugin
implementation("com.trustweave.did:key:1.0.0-SNAPSHOT")
// Blockchain anchor plugin
implementation("com.trustweave.chains:ethereum:1.0.0-SNAPSHOT")
// KMS plugin
implementation("com.trustweave.kms:aws:1.0.0-SNAPSHOT")
}
Plugins are automatically discovered and registered via the SPI (Service Provider Interface) pattern. No additional configuration is required - they will be available when you create a TrustWeave instance:
1
2
val TrustWeave = TrustWeave.create()
// Plugins are automatically available!
Creating Custom Plugins
If you need to create a custom plugin, see the Creating Plugins Guide for detailed instructions on implementing:
- DID methods
- Blockchain anchor clients
- Key management services
- Proof generators
- Wallet factories
- Credential services
Related Documentation
- Integration Modules - Detailed integration guides for each plugin
- Plugin Implementation Status - Current implementation status of all plugins
- Creating Plugins - Guide for implementing custom plugins
- Plugin Lifecycle - Managing plugin initialization and lifecycle