Why
Everything else in this catalogue is a single wallet acting for itself. Institutional custody is the opposite shape: keys split across an MPC quorum, transactions gated by an approval workflow, and a compliance surface that is legal rather than technical. The useful output is a separation — which parts are engineering (MPC, approval state machines, AA policies) and which parts are a licence you either have or do not.
How it works
Reading study, not a deployment: MPC signing (threshold schemes vs. the key-splitting DVT already studied elsewhere here), approval workflows as state machines, where account abstraction's policy layer overlaps custody policy, and AML/travel-rule obligations. The PoC candidates are the ones that need no VASP registration — an approval-flow simulator, an AA policy contract with quorum caveats — and those are exactly the ones this card would become.
Related code
"""Institutional custody study PoC -- M-of-N threshold approval gate.
Illustrates the core mechanism behind MPC custody and approval workflows: a transaction
only executes once a quorum of independent signers has approved it.
"""
from dataclasses import dataclass, field
@dataclass
class Transaction:
id: str
description: str
approvals: set[str] = field(default_factory=set)
class ApprovalQuorum:
def __init__(self, signers: list[str], threshold: int):
self.signers = set(signers)
self.threshold = threshold # "M" of "N"
def approve(self, tx: Transaction, signer: str) -> str:
if signer not in self.signers:
return f"REJECTED: {signer} is not a registered quorum member"
if signer in tx.approvals:
return f"NOOP: {signer} already approved {tx.id}"
tx.approvals.add(signer)
return f"recorded approval from {signer} ({len(tx.approvals)}/{self.threshold})"
def can_execute(self, tx: Transaction) -> bool:
return len(tx.approvals) >= self.threshold
def execute(self, tx: Transaction) -> str:
if not self.can_execute(tx):
return f"BLOCKED: {tx.id} has {len(tx.approvals)}/{self.threshold} approvals"
return f"EXECUTED: {tx.id} ({tx.description}) -- quorum of {self.threshold} met"
if __name__ == "__main__":
quorum = ApprovalQuorum(signers=["alice", "bob", "carol", "dave"], threshold=3)
tx = Transaction(id="withdraw-001", description="withdraw 100 ETH to cold wallet")
for signer in ["alice", "eve", "bob", "alice", "carol"]:
print(" ", quorum.approve(tx, signer))
print(" execute?", quorum.execute(tx))