Collected sources and patterns will appear here. Add from search, explore, or the patterns library.
A human-readable, formally-verifiable smart contract language designed for safety and clarity on the Kadena blockchain.
Utility
stars
608
forks
116
Pact is a highly specialized smart contract language that carves out a niche in 'high-assurance' DeFi. Its primary moat is the integration of the Z3 SMT solver directly into the language, allowing for formal verification (proving code correctness) as a first-class citizen—a feature still lacking or bolted-on in competitors like Solidity. With 608 stars and 116 forks over nearly a decade, it is a mature, infrastructure-grade project. While its adoption is primarily tethered to the Kadena ecosystem, the switching costs for developers and the 'data gravity' of deployed financial contracts provide strong defensibility. It faces competition from Move (Aptos/Sui), which also prioritizes safety, but Pact's Lisp-style interpreted nature makes it uniquely audit-friendly compared to bytecode-heavy alternatives. Frontier labs pose almost zero risk as they focus on general-purpose LLMs rather than domain-specific blockchain languages. The main risk is the broader consolidation of the L1 market; if Kadena loses relevance, Pact's utility as a target language diminishes, despite its technical superiority in formal logic.
TECH STACK
INTEGRATION
cli_tool
READINESS
The reusable building blocks distilled from this project — each a mechanism you could lift into your own.
ContractAST -> VerificationResult
Compile smart contract execution paths and invariant annotations into SMT-LIB constraints to run automated proofs via an SMT solver.
TransactionContext & KeysetName -> Boolean
Restrict code block execution paths to only proceed when a registered cryptographic keyset signature or scoped capability is active in the transaction context.