Wallet operations
MPC wallets
BroSettlement wallets use multi-party computation (MPC) so the normal signing path does not depend on one complete private key held in one place.
The target model is DKG-generated, 2-of-3 MPC:
- Client key share belongs to the client and is used by the client-run Co-Signer.
- BroSettlement key share is operated by BroSettlement for coordinated signing.
- Recovery key share C is created during DKG and is not needed for normal A+B signing after activation. Co-Signer
v2.2.0initially writes C to a separate directory on the same host as B. Once DKG has completed and a separate encrypted C copy is verified, remove the live C file. Keep the recovery directory and configuration for future DKG; never remove C while DKG is unfinished. Preserve matching B and C recovery copies and the original encryption key under separate control.
Why MPC
MPC lets your platform sign transactions without reconstructing a complete private key in one place. Each participant contributes a key share to produce a valid signature.
This keeps the wallet noncustodial by design while still supporting programmable API workflows for deposits, withdrawals, transfers, events, and reconciliation.
Wallet lifecycle
- Create wallet request
Your backend requests a wallet for an organization, chain, and use case.
- Generate key shares
DKG creates distributed key shares without reconstructing a full private key in one location.
- Activate address
BroSettlement returns the wallet address and marks the wallet ready for deposits.
- Sign transactions
Withdrawal signing requires the threshold signing flow and the client-run Co-Signer.
Signing policy
With CO_SIGNER_APPROVAL_MODE=external, your approval service can apply rules before signing. The Co-Signer defaults to auto_approve when the mode is omitted; do not rely on the examples below without configuring the external service. Common rules in your service include:
- Amount limits
- Destination allowlists
- Organization role checks
- Time-based restrictions
- Manual approval requirements