Modern institutional custody vault entrance in a glass office building, security checkpoint visible, brushed metal and glass aesthetic, architectural photography.
Guides

How to Implement Multi-Party Computation (MPC) for Institutional Custody

A technical guide for developers building secure, non-custodial custody platforms using MPC. Covers architecture, library selection, and operational procedures.
introduction
SECURE KEY MANAGEMENT

How to Implement Multi-Party Computation for Institutional Custody

A technical guide to implementing MPC-based custody, detailing cryptographic protocols, architecture patterns, and operational security for institutional-grade digital asset protection.

Multi-Party Computation (MPC) enables a group of parties to jointly compute a function over their private inputs without revealing those inputs to each other. In the context of custody, this function is the generation of a digital signature for a blockchain transaction. The private key is never assembled in one place; instead, it is secret-shared among multiple participants or devices. This fundamentally changes the security model from a single point of failure (a private key or seed phrase) to a distributed threshold scheme, where a predefined number of shares (e.g., 2-of-3) must collaborate to sign. Protocols like GG18, GG20, and CMP provide the cryptographic foundation for these threshold ECDSA signatures, which are compatible with Bitcoin, Ethereum, and other major chains.

A production MPC custody system requires a carefully designed architecture. A typical setup involves three core components: signing nodes that hold key shares, a coordinator that orchestrates the signing protocol without accessing secrets, and a policy engine that enforces transaction rules (multi-signer approval, whitelists, rate limits). The signing nodes can be hosted in separate cloud regions, on-premise data centers, or as hardware security modules (HSMs) from vendors like Fireblocks or Sepior. Communication between nodes must be secured with TLS and authenticated using mutual TLS or API keys. The entire system should be deployed in a zero-trust network model, where internal traffic is also encrypted and authenticated.

Implementation begins with key generation. Using a distributed key generation (DKG) protocol, the participants collaboratively create a public/private key pair where the private key is secret-shared from the start. No single party ever knows the full key. For Ethereum, the resulting public address is a standard Externally Owned Account (EOA). When a transaction needs to be signed, the coordinator requests signatures from the nodes. Each node uses its share to compute a partial signature. These partials are combined by the coordinator to produce a single, valid ECDSA signature that can be broadcast to the network. Libraries like ZenGo-X's multi-party-ecdsa or Coinbase's kryptology provide open-source implementations of these core cryptographic operations.

Operational security is critical. Key shares must be stored securely, often within HSMs or using trusted execution environments (TEEs) like Intel SGX. Regular key rotation and proactive secret sharing protocols should be implemented to refresh shares without changing the public address, mitigating the risk of share leakage over time. Comprehensive audit logging for all signing sessions, coupled with SOC 2 Type II compliance frameworks, is mandatory for institutional clients. Furthermore, integrating with existing enterprise systems via APIs and ensuring disaster recovery procedures for share backup are essential components of a robust custody solution.

When evaluating MPC solutions, consider the trade-offs between threshold schemes (e.g., 2-of-3 vs. 3-of-5), supported blockchain networks, and the latency of the signing process. Testing should include failure scenarios like node outages and malicious participant simulations. Leading providers such as Fireblocks, Curv (acquired by PayPal), and Unbound Security offer SDKs and APIs that abstract much of the cryptographic complexity. However, for organizations requiring full control, open-source frameworks and direct protocol implementation provide maximum flexibility at the cost of significant in-house cryptographic expertise.

prerequisites
MPC INSTITUTIONAL CUSTODY

Prerequisites and System Requirements

Before implementing a Multi-Party Computation (MPC) custody solution, you must establish a secure technical and operational foundation. This guide outlines the essential prerequisites.

Implementing MPC for institutional custody requires a clear understanding of the underlying cryptographic principles. MPC distributes the signing key across multiple independent parties, eliminating any single point of failure. You should be familiar with core concepts like threshold signatures (TSS), Shamir's Secret Sharing (SSS), and the distinction between 2-of-2 and 2-of-3 signing schemes. The choice of algorithm—such as ECDSA, EdDSA (Ed25519), or BLS—impacts security, performance, and cross-chain compatibility. For example, the GG20 protocol is a common standard for threshold ECDSA.

Your technical environment must meet stringent security and reliability standards. Core system requirements include: - Hardware Security Modules (HSMs) or Trusted Execution Environments (TEEs) like Intel SGX to protect key shares during computation. - Dedicated, air-gapped machines or secure cloud instances for each signing party. - Network infrastructure supporting secure, authenticated communication channels (e.g., TLS 1.3, mutually authenticated gRPC). - Automated backup and recovery procedures for key share material. Development teams need proficiency in languages like Go, Rust, or C++, as most production-grade MPC libraries (e.g., ZenGo's multi-party-ecdsa) are built in these.

Establishing a robust operational and governance framework is as critical as the technology. You must define clear roles and responsibilities for key share custodians, including separation of duties. Formal incident response and disaster recovery plans must be documented and tested. Compliance requirements, such as SOC 2 Type II certification or adherence to regional regulations, will dictate audit trails and control processes. Finally, select an MPC provider or library that offers institutional-grade support, regular security audits, and a proven track record in production environments, such as Fireblocks, Curv, or open-source stacks like TSS-lib.

mpc-vs-multisig
INSTITUTIONAL CUSTODY

MPC vs. Multi-Signature: Architectural Comparison

A technical analysis of Multi-Party Computation (MPC) and Multi-Signature (Multi-Sig) wallets, contrasting their architectures, security models, and suitability for institutional digital asset custody.

Institutional custody of digital assets requires robust security models that balance cryptographic guarantees with operational flexibility. The two dominant architectures are Multi-Party Computation (MPC) and Multi-Signature (Multi-Sig) wallets. While both distribute signing authority to prevent single points of failure, their underlying mechanisms differ fundamentally. Multi-Sig relies on a fixed set of n private keys, requiring m of them (e.g., 2-of-3) to sign a transaction on-chain. MPC, in contrast, uses advanced cryptography to generate a single, distributed private key that is never assembled in one place, with signing performed collaboratively off-chain.

The architectural divergence creates distinct trade-offs. A Multi-Sig setup, such as a 3-of-5 Gnosis Safe on Ethereum, is transparent and verifiable on the blockchain; anyone can audit the required signers and the transaction approval threshold. Its security is based on the discrete log problem underlying ECDSA or EdDSA signatures. However, its on-chain nature exposes the wallet's policy and signer addresses, and transaction fees are higher due to multiple signature verifications. It also faces challenges with non-EVM chains that have immature smart contract ecosystems for implementing secure Multi-Sig logic.

MPC protocols, like those from Fireblocks, Coinbase Prime, or the open-source tss-lib (Threshold Signature Scheme), operate differently. They use protocols such as GG18 or GG20 to create a single public address from shares held by multiple parties. Signing is an interactive process where parties compute a signature share without revealing their secret share. The resulting signature is standard (e.g., a single ECDSA sig), so it's cheaper to verify on-chain and reveals no internal policy. This architecture provides privacy and flexibility but introduces complexity in the setup phase and requires continuous, reliable communication between parties during signing.

For institutional implementation, key management and operational security differ significantly. With Multi-Sig, each private key is a complete secret that must be secured—often on Hardware Security Modules (HSMs) or air-gapped devices—for its entire lifecycle. Key rotation is cumbersome, requiring a new wallet deployment. MPC simplifies long-term secret storage, as individual key shares are less valuable and can be proactively refreshed without changing the wallet address using proactive secret sharing. This makes MPC more adaptable for enterprises with compliance needs like quarterly key rotation or employee offboarding.

When choosing between MPC and Multi-Sig, institutions must evaluate their threat model and operational constraints. Use Multi-Sig for its battle-tested, transparent audit trail on supportive chains, especially when governance logic (like time-locks) is needed. Opt for MPC for its cost efficiency across all blockchains, privacy of internal structure, and streamlined operational workflows for key management. Leading custody providers often use a hybrid approach, leveraging MPC for hot wallet operations and Multi-Sig or Multi-Party Computation with a hardware enclave for deep cold storage, creating a layered defense-in-depth strategy.

KEY PROVIDERS

MPC Library and SDK Comparison

A technical comparison of leading MPC libraries and SDKs for implementing institutional-grade custody solutions.

Feature / MetricChainscore VaultFireblocks MPC-CMPCoinbase MPCZenGo Multi-Party

Protocol

GG20 / GG18

GG18 / GG20

GG18

GG18

Signature Scheme

ECDSA / EdDSA

ECDSA

ECDSA

ECDSA

Threshold Configuration

t-of-n (2-3, 3-5)

t-of-n (2-3)

m-of-n (custom)

2-of-3

Hardware Security Module (HSM) Support

Cloud Key Management Integration

AWS KMS, GCP KMS

Azure Key Vault, AWS CloudHSM

AWS KMS

Latency (Signing Time)

< 500 ms

< 800 ms

< 1 sec

< 2 sec

Annual Licensing Cost (Enterprise)

$50k+

$100k+

Custom Quote

Open Source

Active Developer Community

architecture-design
SYSTEM ARCHITECTURE AND NODE DESIGN

How to Implement Multi-Party Computation (MPC) for Institutional Custody

A technical guide to architecting a secure, non-custodial wallet system using Threshold Signature Schemes (TSS) for institutional asset management.

Institutional digital asset custody requires security models that eliminate single points of failure. Multi-Party Computation (MPC) enables this by distributing the signing power for a blockchain wallet across multiple parties or nodes. Unlike traditional multi-signature (multisig) setups that store multiple full private keys on-chain, MPC generates a single public address from shares held by participants, with no single entity ever reconstructing the full private key. This architecture, often implemented via Threshold Signature Schemes (TSS), provides superior privacy, reduced on-chain fees, and flexible governance (e.g., 2-of-3, 3-of-5) without exposing the underlying key structure on the blockchain.

The core cryptographic primitive for MPC custody is ECDSA or EdDSA threshold signing. Libraries like ZenGo's tss-lib or Binance's tss-lib provide the foundational protocols. A typical implementation involves three phases distributed across participant nodes: 1) Key Generation, where parties collaboratively generate their secret shares and derive a single, shared public address; 2) Signing, where a threshold subset of parties collaborates to produce a valid signature without revealing their individual shares; and 3) Resharing, to proactively rotate secret shares or change the participant set without changing the public address.

System architecture must isolate the MPC ceremony from external threats. Each signing party should operate within a Hardware Security Module (HSM) or a trusted execution environment (TEE) like Intel SGX. Network communication between nodes for the MPC protocol must be secured via mutually authenticated TLS and occur over private channels. A typical node design includes a Coordinator Service (which may be decentralized or run by a neutral party) to orchestrate the protocol flow and a Local MPC Client on each node that performs cryptographic operations. Critical secrets never leave the secure enclave of the local client.

Implementing the key generation ceremony requires careful orchestration. Below is a simplified pseudocode flow for a 2-of-3 ECDSA TSS setup using a round-based protocol:

python
# Each party (P1, P2, P3) runs a local client
party = LocalMPCClient(party_id, threshold=2, total_parties=3)

# Phase 1: Key Generation
# Parties connect via P2P or through a coordinator
keygen_msg_1 = party.start_keygen()
send_to_others(keygen_msg_1)

# Process messages from other parties over multiple rounds
for msg in received_messages:
    response = party.handle_keygen_message(msg)
    if response:
        send_to_others(response)

# Finalize: Each party obtains a secret share and the shared public key
secret_share = party.get_secret_share()
shared_public_key = party.get_public_key() # Corresponds to a single blockchain address

The output is a public Ethereum or Bitcoin address derived from shared_public_key, while each party securely stores its unique secret_share.

For signing transactions, a threshold of parties must be online. The coordinator aggregates the unsigned transaction and broadcasts it to the required participants. Each participating node uses its secret share to compute a partial signature. These partials are combined—often by the coordinator or via a secure aggregation protocol—to produce a final, valid signature. This signature is indistinguishable from a single-party signature, ensuring blockchain privacy. Proactive secret sharing should be scheduled periodically, where parties refresh their shares without altering the public key, mitigating the risk of share compromise over time.

Operational considerations are critical for production. Implement audit logging for all protocol rounds and signing ceremonies. Use air-gapped or cold nodes for long-term share storage, bringing them online only for ceremonies. Establish clear legal frameworks and off-chain governance to manage participant onboarding/offboarding and dispute resolution. Leading institutional custody providers like Fireblocks and Curv employ these MPC-TSS architectures, demonstrating their viability for securing billions in assets. The system's strength lies not in perfect cryptography alone, but in its integration with rigorous operational security, hardware isolation, and robust node design.

MPC IMPLEMENTATION

Key Generation and Signing Ceremony

Multi-Party Computation (MPC) enables secure, distributed custody by splitting a private key into shares. This guide addresses common implementation challenges for institutional-grade systems.

While both require multiple approvals, they use fundamentally different cryptographic primitives.

Threshold Signature Schemes (TSS) use a single, distributed private key. No complete key ever exists; signature generation is a collaborative computation between parties holding key shares. The final signature is standard (e.g., ECDSA, EdDSA) and indistinguishable from a single-party signature on-chain.

Multi-signature (Multisig) wallets, like those on Bitcoin (CHECKMULTISIG) or Ethereum (Gnosis Safe), require multiple distinct, complete private keys to each produce a valid signature. These individual signatures are aggregated into a single transaction, which is visibly a multisig on-chain.

Key Difference: TSS provides key invisibility and smaller transaction sizes, while multisig offers on-chain transparency and auditability of signers.

governance-refresh
TUTORIAL

How to Implement Multi-Party Computation (MPC) for Institutional Custody

This guide explains how to implement a threshold signature scheme (TSS) using Multi-Party Computation to secure digital asset custody for institutions, moving beyond single points of failure.

Multi-Party Computation (MPC) enables a group of parties to jointly compute a function—like generating or signing a transaction—while keeping their individual inputs private. For custody, this function is creating an Elliptic Curve Digital Signature Algorithm (ECDSA) signature. Instead of a single private key, the key is secret-shared among multiple participants (e.g., 3-of-5). No single party ever has access to the complete key, eliminating the single point of failure inherent in traditional hot wallets or hardware security modules (HSMs). Leading protocols for this include GG18, GG20, and CGGMP, which provide proven security against malicious participants.

Implementation begins with the Key Generation ceremony. Using a secure communication channel, each participant i locally generates a secret share s_i. Through MPC rounds, they collaboratively compute the corresponding public key P without revealing their shares. This public key becomes the wallet's address. Critical to this phase is ensuring proper randomness and verifying the integrity of all participants' contributions to prevent key manipulation. Libraries like ZenGo's multi-party-ecdsa or Binance's tss-lib provide audited implementations of these protocols.

For signing a transaction, participants again engage in an interactive protocol. Each uses their secret share s_i and the transaction hash to produce a signature share. The MPC algorithm combines these shares to produce a single, valid ECDSA signature that can be verified on-chain by the public key P. Crucially, the full private key is never reconstructed. A 2-of-3 threshold scheme is common, where any two of three key shard holders can sign, balancing security with operational redundancy.

Governance and key refresh are essential for long-term security. A Key Refresh Protocol allows participants to proactively update their secret shares to new shares s_i' without altering the underlying public key P. This limits the exposure window of a share and mitigates potential leakage over time. Governance rules, often codified in an off-chain access policy, define signer sets, threshold levels, and procedures for adding/removing participants, which triggers a Distributed Key Generation (DKG) for a new public key.

For production deployment, integrate the MPC client with your transaction orchestration layer. The architecture typically involves: MPC Nodes (secure, isolated servers or HSMs running the TSS library), a Coordinator Service (non-custodial, manages protocol flow), and Policy Engines. Auditing the entire stack, using trusted setup ceremonies for initial generation, and planning for backup and disaster recovery of secret shares are critical operational steps. Providers like Fireblocks, Curv, and Sepior offer enterprise-grade MPC custody solutions.

PRACTICAL WALKTHROUGHS

Implementation Code Examples

Threshold Signature Scheme with tss-lib

This example uses the tss-lib library, a Go implementation with Node.js bindings, to demonstrate a 2-of-3 threshold ECDSA key generation and signing ceremony.

Installation and Setup:

bash
npm install tss-lib

Distributed Key Generation (DKG):

javascript
const { Ecdsa, Curve, randomBytes } = require('tss-lib');

// Each party (1, 2, 3) runs this with their unique party ID.
async function generateKeyShare(partyId, partyIds) {
  // Create a new ECDSA party for curve secp256k1
  const party = new Ecdsa.Party(Curve.secp256k1, partyId, partyIds);
  
  // Start the key generation protocol. This is a multi-round process.
  // In practice, messages would be sent over a network between parties.
  const keyShare = await party.generateKey();
  
  // Each party saves their local secret share and the common public key.
  console.log(`Party ${partyId}: Public Key`, keyShare.publicKey);
  // `keyShare.secretShare` must be stored securely.
  return keyShare;
}

// Parties 1, 2, and 3 would run this concurrently, exchanging messages.

Creating a Signature:

javascript
async function createSignature(partyId, keyShare, messageHash) {
  const party = new Ecdsa.SigningParty(Curve.secp256k1, partyId, keyShare);
  
  // Begin the signing ceremony for the given message digest.
  // Again, this involves network communication between the signing parties (e.g., 2 of 3).
  const signature = await party.sign(messageHash);
  
  // The result is a standard ECDSA (r, s) signature verifiable by the shared public key.
  console.log(`Signature from Party ${partyId}:`, signature);
  return signature;
}

Important: This is a simplified illustration. A production system requires secure, authenticated communication channels (often using Paillier homomorphic encryption for message passing), robust error handling, and a coordinator service.

INSTITUTIONAL MPC

Operational Security and Risk Mitigation

Multi-Party Computation (MPC) enables secure, non-custodial asset management by distributing private key control. This guide addresses common implementation challenges for institutional-grade custody.

Multi-Party Computation (MPC) is a cryptographic protocol that allows a group of parties to jointly compute a function over their inputs while keeping those inputs private. In custody, it's used to generate and manage a distributed private key.

Key differences from multisig:

  • MPC: Creates a single, logical private key split into secret shares. Signing is a collaborative computation; the full key is never assembled. Supports any m-of-n threshold.
  • Multisig (e.g., Gnosis Safe): Uses multiple distinct private keys, each controlling a separate on-chain wallet. Requires multiple on-chain transactions for approval.

MPC offers advantages in privacy (the public address isn't visibly a multisig), flexibility (supports complex signing policies), and often lower on-chain gas costs for simple transfers.

Chains We Build On

Looking to build on a specific blockchain?

We build smart contracts, DeFi applications, wallets, tokenization platforms, and blockchain infrastructure across the major ecosystems teams choose today. That includes Ethereum, Arbitrum, Optimism, Polygon, Avalanche, Solana, Sui, Aptos, Hedera, Stellar, and NEAR, with support for additional EVM and non-EVM networks based on your product requirements.

EVM ecosystems

  • Ethereum logo
    Ethereum
  • Arbitrum logo
    Arbitrum
  • Optimism logo
    Optimism
  • Polygon logo
    Polygon
  • Avalanche logo
    Avalanche
  • Cronos logo
    Cronos

Non-EVM ecosystems

  • Solana logo
    Solana
  • Sui logo
    Sui
  • Aptos logo
    Aptos
  • Hedera logo
    Hedera
  • Stellar logo
    Stellar
  • NEAR logo
    NEAR

Additional ecosystems

  • Polkadot logo
    Polkadot
  • Cosmos logo
    Cosmos
  • TON logo
    TON
  • Cardano logo
    Cardano
  • Algorand logo
    Algorand
  • Tempo logo
    Tempo

Also available for Base, appchains, custom EVM networks, and cross-chain product architecture.

MPC IMPLEMENTATION

Frequently Asked Questions (FAQ)

Common technical questions and solutions for developers implementing Multi-Party Computation (MPC) for institutional-grade digital asset custody.

Threshold Signature Schemes (TSS) and multi-signature (multi-sig) wallets are both used for custody, but their architectures differ fundamentally.

Multi-sig (e.g., on Ethereum) involves multiple on-chain transactions. For a 2-of-3 setup, two private keys sign separate, distinct signatures that are validated on-chain. This exposes participant counts and policies, increasing gas costs and blockchain footprint.

TSS, used in modern MPC, generates a single, standard blockchain signature (like an ECDSA signature) from distributed key shares held by participants. The signing process occurs off-chain via a secure MPC protocol. Only the final, aggregated signature is broadcast. This offers:

  • Privacy: The existence of a threshold scheme is hidden on-chain.
  • Efficiency: One signature, lower gas costs.
  • Flexibility: Supports any threshold (t-of-n) without smart contract dependencies. For custody, TSS-based MPC is generally preferred for its stealth, cost-effectiveness, and compatibility across chains.
conclusion
IMPLEMENTATION ROADMAP

Conclusion and Next Steps

This guide has outlined the core architecture for building a secure, institutional-grade MPC custody solution. The next steps involve hardening the system, integrating with enterprise infrastructure, and planning for long-term maintenance.

Implementing MPC for custody is a multi-phase engineering project. After selecting a library like ZenGo's Multi-Party ECDSA or TSS-lib, the initial focus should be on a robust key generation ceremony. This process, which creates the distributed key shares, is the security foundation. It must be conducted in a controlled, auditable environment with strict access controls and comprehensive logging. Each participant's client should generate their share locally, and the ceremony should include multiple integrity checks before the final public key is derived and registered on-chain.

The next phase is integrating the signing protocol into your application's transaction workflow. This involves building the coordination layer that manages the signing rounds between parties. For a 2-of-3 threshold scheme, your backend must orchestrate communication between the signers, handle the exchange of nonces and signature shares, and finally combine them into a valid ECDSA signature. Libraries abstract the complex cryptography, but you must implement secure, fault-tolerant network communication, often using a message queue or a dedicated coordinator service to relay messages between isolated signing enclaves.

Security hardening is critical for production. This includes: - Storing key shares in Hardware Security Modules (HSMs) or trusted execution environments like Intel SGX. - Implementing comprehensive audit logging for all key operations and signing sessions. - Establishing a formal governance policy for key rotation, backup, and disaster recovery. - Conducting regular internal and third-party security audits, specifically focusing on the MPC implementation and its integration points. Tools like Burp Suite and Slither can be used for continuous security testing.

Finally, consider the operational lifecycle. Plan for key rotation protocols to periodically refresh key shares without downtime. Establish clear procedures for adding or removing authorized parties from the signing committee. Monitor the health and performance of your signing nodes, as latency or failure in one party can impact transaction finality. The ecosystem is evolving, so stay engaged with the MPC research community through forums like the MPC Alliance and track advancements in protocols, such as improvements to proactive secret sharing for long-term key security.

Trusted by Industry Leaders

Delivering blockchain solutions for 5+ years.

We have partnered with 50+ leading DeFi protocols, NFT ecosystems, and fintech innovators to build secure, scalable, and capital-efficient blockchain products.

Selected Partners & Clients

ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
ChainVote logo
Reax logo
Sokail logo
Swapsicle logo
SyntheX logo
Tekika logo
Telos logo
Zexe logo
“I've been working with Chainscore Labs for last 3+ years, they've consistently delivered with strong ownership across multiple projects. The team is reliable and detail-oriented.”
L
Lee Erswell
CEO, Telos Foundation
how to get started

How to get started?

If you're looking for blockchain integration, ChainScore Labs has 5+ years of experience helping teams build and integrate exchanges, wallets, smart contracts, tokenization solutions, and protocol-connected products, we can help you choose the right path, integrate securely, and get to production faster. Our team consists of experienced blockchain developers and architects who can help you with your blockchain integration needs.

01

Exploration & Strategy

Define your product goals and choose the right blockchain architecture for your use case.

02

Architecture & Design

Design the smart contracts, tokenomics, and security parameters of your system.

03

Development & Integration

Build and integrate with wallets, oracles, and front-end dApps for a seamless experience.

04

Security & Launch

Comprehensive audits followed by a risk-managed mainnet deployment to protect your users.

Start a build

Need a blockchain engineering team?

Send the project context and we will respond with next steps, scope questions, and a practical path to delivery.