Enterprise Modules Overview
Enterprise modules are production-ready extensions to the Cosmos SDK designed for permissioned networks, consortium chains, and enterprise deployments that require features beyond traditional public blockchain architectures.What Are Enterprise Modules?
Enterprise modules are located in theenterprise/ directory of the Cosmos SDK repository, separate from the core x/ modules. They provide specialized functionality for use cases such as:
- Proof of Authority (PoA) consensus
- Permissioned validator sets
- On-chain multisig governance
- Enterprise-grade access control
Key Differences from Core Modules
| Aspect | Core Modules (x/) | Enterprise Modules (enterprise/) |
|---|---|---|
| License | Apache-2.0 | Source Available Evaluation License |
| Maintenance | Cosmos Labs | Cosmos Labs |
| Production Ready | Yes | Yes |
| Commercial Use | Permitted | Requires separate license |
| Use Cases | Public blockchains | Permissioned/consortium chains |
Licensing
IMPORTANT: Enterprise modules use different licenses than the Apache-2.0 core Cosmos SDK modules. While the core Cosmos SDK is licensed under Apache-2.0, enterprise modules use the Source Available Evaluation License, which:- ✅ Allows non-commercial evaluation
- ✅ Allows testing and development
- ✅ Allows educational use
- ❌ Prohibits commercial use
- ❌ Prohibits production deployment
- ❌ Prohibits redistribution
License Files
Always review the LICENSE file in each enterprise module directory:Commercial Licensing
For commercial use, production deployment, or consortium chains, contact: Cosmos Labs Institutions TeamEmail: [email protected]
Available Enterprise Modules
Proof of Authority (x/poa)
License: Source Available Evaluation License A Cosmos SDK module that implements Proof of Authority consensus, allowing a designated admin to manage a permissioned validator set. Key Features:- Admin-controlled validator set management
- Fee distribution proportional to validator power
- Governance integration restricted to validators
- Custom vote tallying based on validator power
- Consortium blockchains
- Private enterprise networks
- Testing environments
- Regulated financial applications
Group (x/group)
License: Source Available Evaluation License A Cosmos SDK module for on-chain multisig accounts and group-based governance with configurable decision policies. Key Features:- Groups with weighted members
- Group policy accounts
- Threshold-based decision policies
- Percentage-based decision policies
- Proposal submission and voting
- On-chain multisig wallets
- Committee-based governance
- Treasury management
- Multi-party authorization
Integration with Core SDK
Enterprise modules follow the same architectural patterns as core modules and integrate seamlessly:Module Manager
Genesis Initialization
Begin/End Blockers
Adding Enterprise Modules to Your Chain
1. Review License
First, carefully review the module’s LICENSE file to ensure compliance with your use case:2. Add to go.mod
Enterprise modules are part of the main Cosmos SDK repository:3. Import Module
4. Initialize Keeper
5. Register Module
6. Configure Genesis
7. Test Thoroughly
Comparison: Public vs Permissioned
Public Blockchain (Core Modules)
- Permissionless validator entry
- Token-based governance
- Slashing for misbehavior
- Public participation
Permissioned Blockchain (Enterprise Modules)
- Admin-controlled validator set
- Committee-based governance
- No slashing (validators are trusted)
- Restricted participation
Use Case: Consortium Chain
A consortium of 5 companies wants to run a shared blockchain:Support and Resources
Technical Support
Licensing Questions
For commercial licensing, production deployment, or questions about the evaluation license: Cosmos Labs Institutions TeamEmail: [email protected]
Contributing
Contributions to enterprise modules follow the same process as core SDK:- Fork the repository
- Create a feature branch
- Submit a pull request
- Ensure tests pass
- Get code review approval
Best Practices
- Review licenses before using enterprise modules
- Test extensively in development environments
- Understand limitations of permissioned networks
- Plan governance structure carefully
- Document access control policies
- Monitor validator performance regularly
- Keep modules updated with SDK releases
Security Considerations
- Admin keys in PoA have significant power - use multisig
- Validator collusion is possible in small validator sets
- No slashing means misbehavior must be handled off-chain
- Access control is critical in permissioned networks
- Backup strategies for admin key recovery
Migration Path
Moving from public to permissioned (or vice versa) requires careful planning:Public → Permissioned
- Decide on initial validator set
- Create PoA genesis with selected validators
- Migrate state from public chain
- Disable staking/slashing modules
- Enable PoA module
Permissioned → Public
- Plan validator onboarding strategy
- Create staking genesis with initial delegations
- Migrate state from permissioned chain
- Disable PoA module
- Enable staking/slashing modules