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
dependencies {
    // Chain plugins use hierarchical group IDs
    implementation("com.trustweave.chains:algorand:1.0.0-SNAPSHOT")

    // DID plugins use hierarchical group IDs
    implementation("com.trustweave.did:key:1.0.0-SNAPSHOT")

    // KMS plugins use hierarchical group IDs
    implementation("com.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.

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 com.trustweave.chains:algorand Mainnet, Testnet Algorand Guide Production-ready anchoring for Algorand mainnet/testnet
Ethereum com.trustweave.chains:ethereum Mainnet, Sepolia Ethereum Anchor Guide Ethereum mainnet anchoring with Sepolia testnet support
Base com.trustweave.chains:base Mainnet, Sepolia Base Anchor Guide Base (Coinbase L2) anchoring with fast confirmations and lower fees
Arbitrum com.trustweave.chains:arbitrum Mainnet, Sepolia Arbitrum Anchor Guide Arbitrum One (largest L2 by TVL) anchoring with EVM compatibility
Polygon com.trustweave.chains:polygon Mainnet, Mumbai Polygon DID Guide Polygon PoS anchoring with the shared SPI plumbing
Optimism com.trustweave.chains:optimism Mainnet, Sepolia Documentation coming soon Optimism L2 anchoring with Web3j integration
zkSync Era com.trustweave.chains:zksync Mainnet, Sepolia Documentation coming soon zkSync Era L2 anchoring with Web3j integration
Bitcoin com.trustweave.chains:bitcoin Mainnet, Testnet Documentation coming soon Bitcoin blockchain anchoring with OP_RETURN support via RPC
Ganache com.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 com.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 com.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 com.trustweave.did:ethr Ethereum DID Guide Ethereum DID method with blockchain anchoring support. Integrates with Ethereum mainnet and testnets (Sepolia)
did:ion com.trustweave.did:ion ION DID Guide Microsoft ION DID method using Sidetree protocol. Bitcoin-anchored DIDs with ION node integration
did:polygon com.trustweave.did:polygon Polygon DID Guide Polygon DID method reusing Ethereum registry pattern. Lower transaction costs than Ethereum mainnet
did:sol com.trustweave.did:sol Solana DID Guide Solana DID method with program integration. Account-based storage on Solana blockchain
did:peer com.trustweave.did:peer Peer DID Guide Peer-to-peer DID method. No external registry required, 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. Standardized approach with JWK format
did:ens com.trustweave.did:ens ENS DID Guide Ethereum Name Service (ENS) resolver integration. Human-readable DID identifiers mapped to Ethereum addresses
did:plc com.trustweave.did:plc PLC DID Guide Personal Linked Container (PLC) DID method for AT Protocol. Distributed registry with HTTP-based resolution
did:cheqd com.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 com.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 com.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 com.trustweave.kms:google Google KMS Guide Algorithm support (secp256k1, P-256/P-384, RSA). Application Default Credentials and service account authentication
HashiCorp Vault com.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 com.trustweave.kms:ibm Documentation coming soon IBM Cloud Key Protect integration with full REST API support
Thales CipherTrust com.trustweave.kms:thales Documentation coming soon Thales CipherTrust Manager integration with OAuth2 authentication
CyberArk Conjur com.trustweave.kms:cyberark Documentation coming soon CyberArk Conjur integration with secrets management
Fortanix DSM com.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 com.trustweave.core:jwt-proof Documentation coming soon JWT-based proofs using nimbus-jose-jwt. Supports Ed25519, ECDSA, and RSA algorithms
BBS+ Proof Generator com.trustweave.core:bbs-proof Documentation coming soon BBS+ signature proofs for selective disclosure. Uses JSON-LD canonicalization
LD-Proof Generator com.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 com.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 com.trustweave.core:file-wallet Documentation coming soon File-based wallet with local filesystem storage. Optional AES encryption support
Cloud Wallet com.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 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

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-trust and optionally wrap themselves using TrustRegistryServiceAdapter.
  • Future work will introduce a shared TrustWeave-anchor-integrations module to reduce duplicate registration logic across blockchain clients.

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)