Today, Coinbase announced it is open-sourcing its Multi-Party Computation (MPC) cryptography library—enabling security researchers, developers, and institutional partners to leverage its cryptographic expertise while strengthening industry-wide security standards.
Multi-Party Computation (MPC) is a powerful cryptographic protocol that allows multiple parties to collectively perform computations on private data without ever exposing the underlying data itself.
One of its most critical applications is threshold signing, where digital signatures can be generated without any single party having access to the full private key. This strengthens security by:
- Protecting private keys from single points of failure—an attacker would need to breach multiple independent parties to gain access.
- Enabling decentralized policy enforcement—all signing parties can apply security controls such as rate limiting and blocklists to prevent unauthorized use.
Coinbase’s MPC engine includes code for two-party and multiparty signing for ECDSA and EdDSA, as well as many tools for securing cryptocurrency asset keys. These tools include secure backup procedures, multiparty key generation, code for hierarchical key derivation in MPC, and more.
The open source repository includes the following:
- Codebase: The MPC engine’s full source code, allowing developers to see the exact cryptographic protocols used.
- Documentation: In-depth theoretical foundations and detailed specifications to help understand and utilize the code effectively.
- Examples and Benchmarks: Practical examples and performance benchmarks to demonstrate how the code can be applied in real-world scenarios.
The code in this open source library is derived from the MPC engine used at Coinbase to protect asset keys, with significant changes in order to make it a general-purpose library. In particular, Coinbase applies the MPC protocols in the library with very specific flows as needed in its relevant applications, whereas the open source library is designed to enable general-purpose use and therefore supports arbitrary flows.
You can find the repository at the Coinbase GitHub page.