Integration Modules
TrustWeave ships optional integration modules that plug providers into the SPI
and trust/runtime layers. They can now share infrastructure exposed by
TrustWeave-common (which includes SPI interfaces) and TrustWeave-trust.
📋 Quick Reference: For a comprehensive table view of all supported plugins, see the Supported Plugins page.
Add an integration when you need a concrete provider:
1
2
3
4
5
6
7
8
9
10
11
dependencies {
// Chain plugins use hierarchical group IDs
implementation("org.trustweave.chains:algorand:1.0.0-SNAPSHOT")
// DID plugins use hierarchical group IDs
implementation("org.trustweave.did:key:1.0.0-SNAPSHOT")
// KMS plugins use hierarchical group IDs
// Core dependencies (trustweave-kms, trustweave-common) are included transitively
implementation("org.trustweave.kms:aws:1.0.0-SNAPSHOT")
}
Result: Gradle brings in the Algorand client plus its SPI adapter so your application can anchor digests on Algorand networks with zero additional wiring. KMS plugins automatically include trustweave-kms and trustweave-common as transitive dependencies.
Blockchain Anchor Integrations
All blockchain clients adopt the shared SPI abstractions. These modules enable anchoring credential digests to various blockchain networks.
| Plugin | Module ID | Networks | Documentation | Description |
|---|---|---|---|---|
| Algorand | org.trustweave.chains:algorand |
Mainnet, Testnet | Algorand Guide | Production-ready anchoring for Algorand mainnet/testnet |
| Ethereum | org.trustweave.chains:ethereum |
Mainnet, Sepolia | Ethereum Anchor Guide | Ethereum mainnet anchoring with Sepolia testnet support |
| Base | org.trustweave.chains:base |
Mainnet, Sepolia | Base Anchor Guide | Base (Coinbase L2) anchoring with fast confirmations and lower fees |
| Arbitrum | org.trustweave.chains:arbitrum |
Mainnet, Sepolia | Arbitrum Anchor Guide | Arbitrum One (largest L2 by TVL) anchoring with EVM compatibility |
| Polygon | org.trustweave.chains:polygon |
Mainnet, Mumbai | Polygon DID Guide | Polygon PoS anchoring with the shared SPI plumbing |
| Optimism | org.trustweave.chains:optimism |
Mainnet, Sepolia | Documentation coming soon | Optimism L2 anchoring with Web3j integration |
| zkSync Era | org.trustweave.chains:zksync |
Mainnet, Sepolia | Documentation coming soon | zkSync Era L2 anchoring with Web3j integration |
| Bitcoin | org.trustweave.chains:bitcoin |
Mainnet, Testnet | Documentation coming soon | Bitcoin blockchain anchoring with OP_RETURN support via RPC |
| Ganache | org.trustweave.chains:ganache |
Local | Integration Modules | Local developer anchoring using Ganache/Testcontainers for testing |
These modules will be consolidated over time into a single
anchor-integrations family that reuses common adapter plumbing.
DID Method Integrations
TrustWeave provides comprehensive DID method implementations following the W3C DID specification. All DID method plugins implement the DidMethodService interface.
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| did:key | org.trustweave.did:key |
Key DID Guide | Native did:key implementation, the most widely-used DID method. Zero external dependencies, portable public key-based DIDs |
| did:web | org.trustweave.did:web |
Web DID Guide | Web DID method for HTTP/HTTPS-based resolution. Full W3C spec compliance with domain and path-based identifiers |
| did:ethr | org.trustweave.did:ethr |
Ethereum DID Guide | Ethereum DID method with blockchain anchoring support. Integrates with Ethereum mainnet and testnets (Sepolia) |
| did:ion | org.trustweave.did:ion |
ION DID Guide | Microsoft ION DID method using Sidetree protocol. Bitcoin-anchored DIDs with ION node integration |
| did:polygon | org.trustweave.did:polygon |
Polygon DID Guide | Polygon DID method reusing Ethereum registry pattern. Lower transaction costs than Ethereum mainnet |
| did:sol | org.trustweave.did:sol |
Solana DID Guide | Solana DID method with program integration. Account-based storage on Solana blockchain |
| did:peer | org.trustweave.did:peer |
Peer DID Guide | Peer-to-peer DID method. No external registry required, supports numalgo 0, 1, and 2 |
| did:jwk | org.trustweave.did:jwk |
JWK DID Guide | W3C-standard did:jwk method using JSON Web Keys directly. Standardized approach with JWK format |
| did:ens | org.trustweave.did:ens |
ENS DID Guide | Ethereum Name Service (ENS) resolver integration. Human-readable DID identifiers mapped to Ethereum addresses |
| did:plc | org.trustweave.did:plc |
PLC DID Guide | Personal Linked Container (PLC) DID method for AT Protocol. Distributed registry with HTTP-based resolution |
| did:cheqd | org.trustweave.did:cheqd |
Cheqd DID Guide | Cheqd network DID method with payment-enabled features. Cosmos-based blockchain for identity and credentials |
Key Management Service (KMS) Integrations
KMS integrations enable TrustWeave to use various key management services for secure key generation, storage, and signing operations. All KMS plugins implement the KeyManagementService interface.
| Plugin | Module ID | Documentation | Key Features |
|---|---|---|---|
| AWS KMS | org.trustweave.kms:aws |
AWS KMS Guide | Full algorithm support (Ed25519, secp256k1, P-256/P-384/P-521, RSA). FIPS 140-3 Level 3 compliance |
| Azure Key Vault | org.trustweave.kms:azure |
Azure KMS Guide | Algorithm support (secp256k1, P-256/P-384/P-521, RSA). Managed Identity and Service Principal authentication |
| Google Cloud KMS | org.trustweave.kms:google |
Google KMS Guide | Algorithm support (secp256k1, P-256/P-384, RSA). Application Default Credentials and service account authentication |
| HashiCorp Vault | org.trustweave.kms:hashicorp |
HashiCorp Vault Guide | Transit engine integration with algorithm support (Ed25519, secp256k1, P-256/P-384/P-521, RSA). Token and AppRole authentication |
| IBM Key Protect | org.trustweave.kms:ibm |
IBM Key Protect Guide | IBM Cloud Key Protect integration with full REST API support. FIPS 140-3 Level 4 compliance |
| InMemory KMS | org.trustweave.kms:inmemory |
InMemory KMS Guide | Native TrustWeave in-memory KMS for development and testing. No external dependencies |
| Thales CipherTrust | org.trustweave.kms:thales |
Documentation coming soon | Thales CipherTrust Manager integration with OAuth2 authentication |
| CyberArk Conjur | org.trustweave.kms:cyberark |
Documentation coming soon | CyberArk Conjur integration with secrets management |
| Fortanix DSM | org.trustweave.kms:fortanix |
Documentation coming soon | Fortanix DSM multi-cloud key management integration |
Proof Generator Integrations
TrustWeave provides multiple proof generation methods for creating cryptographic proofs on verifiable credentials. All proof generators implement the ProofGenerator interface.
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| JWT Proof Generator | org.trustweave.core:jwt-proof |
Documentation coming soon | JWT-based proofs using nimbus-jose-jwt. Supports Ed25519, ECDSA, and RSA algorithms |
| BBS+ Proof Generator | org.trustweave.core:bbs-proof |
Documentation coming soon | BBS+ signature proofs for selective disclosure. Uses JSON-LD canonicalization |
| LD-Proof Generator | org.trustweave.core:ld-proof |
Documentation coming soon | Linked Data Proofs using JSON-LD signatures. Supports multiple signature suites |
Wallet Factory Integrations
Wallet factories enable creation of different wallet storage backends for credential management. All wallet factories implement the WalletFactory interface.
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| Database Wallet | org.trustweave.core:database-wallet |
Documentation coming soon | Database-backed wallet with full CredentialStorage implementation. Supports PostgreSQL, MySQL, H2, and other JDBC-compatible databases |
| File Wallet | org.trustweave.core:file-wallet |
Documentation coming soon | File-based wallet with local filesystem storage. Optional AES encryption support |
| Cloud Wallet | org.trustweave.core:cloud-wallet |
Documentation coming soon | Abstract base for cloud storage wallets. Supports AWS S3, Azure Blob Storage, and Google Cloud Storage |
Other Integrations
Additional integrations that provide bridges to other identity ecosystems or combined functionality.
| Plugin | Module ID | Documentation | Description |
|---|---|---|---|
| GoDiddy | org.trustweave.did:godiddy |
GoDiddy Guide | HTTP bridge to DID/VC services exposed by the GoDiddy stack |
| walt.id | org.trustweave.kms:waltid |
walt.id Guide | DID and KMS providers from the walt.id ecosystem |
Each module implements the SPI interfaces (DidMethodService, KmsService,
etc.) supplied by TrustWeave-common (which includes SPI interfaces).
Next Steps
- When authoring a new integration, depend on
TrustWeave-common(which includes SPI interfaces) and expose providers via the adapter loader. - Trust registries should target
TrustWeave-trustand optionally wrap themselves usingTrustRegistryServiceAdapter. - Future work will introduce a shared
TrustWeave-anchor-integrationsmodule to reduce duplicate registration logic across blockchain clients.
Related Documentation
- Supported Plugins - Comprehensive table view of all supported plugins organized by category
- Plugin Implementation Status - Current implementation status and roadmap for all plugins
- Plugin Lifecycle - Managing plugin initialization, startup, and shutdown
Creating Custom Plugins
For detailed guidance on implementing custom plugins, see:
- Creating Plugins Guide - Complete guide with examples for all plugin interfaces
- DID methods
- Blockchain anchor clients
- Proof generators (JWT, BBS+, LD-Proof)
- Key management services
- Credential services
- Wallet factories (Database, File, Cloud)
Table of contents
- AWS KMS Integration
- Algorand Integration
- Arbitrum Blockchain Anchor Integration
- Azure Key Vault Integration
- Base Blockchain Anchor Integration
- Cheqd DID (did:cheqd) Integration
- DID Method Registration via JSON
- ENS DID (did:ens) Integration
- Ethereum Blockchain Anchor Integration
- Ethereum DID (did:ethr) Integration
- GoDiddy Integration
- Google Cloud KMS Integration
- HashiCorp Vault KMS Integration
- IBM Key Protect KMS Integration
- ION DID Integration
- InMemory KMS Integration
- JWK DID Integration
- Key DID Integration
- PLC DID (did:plc) Integration
- Peer DID Integration
- Polygon DID Integration
- Solana DID Integration
- Web DID Integration
- walt.id Integration