MPC Cosigner Overview
The MPC Cosigner is the component that holds your key share and participates in the distributed signing protocol. It is the core of the self-custody guarantee — without your cosigner's participation, no transaction can be signed.
What the Cosigner Does
- Holds one share of the MPC private key (never the full key)
- Participates in multi-round signing protocols with other cosigners
- Independently verifies quorum approval signatures before signing
- Independently verifies the final assembled signature
- Derives addresses from the master key using BIP-32/BIP-44
Architecture
In production, the cosigner runs as two processes:
Enclave Boundary
| Inside Enclave (never exits) | Crosses VSOCK Boundary |
|---|---|
| BIP39 mnemonic & seed | Encrypted mnemonic shares (opaque ciphertext) |
| Master private keys | Derived public keys and chaincodes |
| MPC key shares (plaintext) | Encrypted MPC key files |
| Cosigner RSA-4096 private key | Signed JWTs, public key + id |
| Storage encryption KEK | Final assembled signatures |
Signing Flow
- The platform sends a signing request via WebSocket to the Parent process
- Parent relays the request to the Enclave over VSOCK
- Enclave verifies quorum approval signatures independently
- Enclave participates in multi-round MPC protocol (CMP for ECDSA, asymmetric for EdDSA)
- Enclave verifies the assembled signature against the derived public key
- Final signature is returned through the Parent to the platform
- The platform broadcasts the signed transaction to the blockchain
Supported Algorithms
| Algorithm | Curve | Protocol | Use Case |
|---|---|---|---|
| ECDSA | secp256k1 | CMP | Bitcoin, Ethereum, and compatible chains |
| ECDSA | secp256r1 (P-256) | CMP | Blockchains using the NIST P-256 curve |
| EdDSA | Ed25519 | Asymmetric | Solana, Cardano, and compatible chains |