Introduction to Compose
Compose is the smart contract development framework for building modular systems with the ERC-2535 Diamond standard. It brings together a reusable Solidity library, a project-scaffolding CLI, and design patterns for clear, composable, upgradeable code.
The Vision
Smart contract systems grow faster than a single contract can stay understandable. Compose breaks functionality into small, self-contained facets and gives you the modules, CLI, and conventions to assemble them into a system.
That's Compose: a framework for shipping your unique protocol logic on top of simple, reusable building blocks.
Why Choose Compose?
Reusable Solidity Building Blocks
Start with focused facets and modules for common smart contract functionality, then extend them with your own logic.
Composable Architecture
Mix and match on-chain components to build exactly what you need.
Readability First
Code designed to be understood. Compose prioritizes clarity over cleverness.
Upgradeable by Design
Full power of ERC-2535 Diamonds means your contracts can evolve without full redeployment.
Smart Contract Oriented Programming
Use conventions and intentional constraints designed for readable, maintainable smart contract code.
A Faster Starting Point
Scaffold a diamond project with the Compose CLI, then develop with Foundry or Hardhat.
Types of Smart Contract Systems
Compose is a general-purpose framework for building small or large smart contract systems, including upgradeable and immutable systems.
However Compose shines when building these types of systems:
- Smart contract systems that evolve over time through upgrades and improvements
- Large smart contract systems that benefit from being broken into modular, focused components
- Large immutable smart contract systems
- Large upgradeable smart contract systems
- Smart contract systems that require full transparency of upgrades
- Smart contract systems that are upgradeable for a time and then become immutable
Perfect For
Compose is a strong fit for:
- DeFi Protocols: Build financial products with composable, upgradeable components
- NFT Platforms: Create custom marketplaces and collections with flexible, reusable logic
- DAO Governance: Implement voting and proposal systems that can evolve over time
- Upgradeable Systems: Any project that needs to adapt and improve without full redeployment
- Quality-Focused Teams: Developers who value readable, maintainable, and auditable code
Next Steps
Compose Foundations
Learn the foundations of Compose and how it is unique.
Compose Design
Learn how Compose is designed.
Community & Support
Compose is built with 🩵 by a vibrant community of developers who care about their craft.