Signer Rotation Runbook
🔑 Key Takeaway: Rotate signers without dropping below policy towards threshold; verify membership on-chain after the change settles.
This is an example runbook. Review and customize it for your protocol before use. Add your specific multisig addresses, signer requirements, and communication channels.
Quick Reference
| Field | Value |
|---|---|
| Typical Severity | Routine |
| Required Threshold | Standard |
| Owner | Multisig Admin |
| Last Updated | Date |
When to Use
- Adding a new signer
- Removing a departing signer
- Replacing a signer (key rotation, lost access)
Prerequisites
- Reason for change documented
- New signer has completed Joining a Multisig (if new)
- New signer's address verified via signed message
- Change maintains minimum signer count and threshold requirements
- If reducing signers or threshold: justification documented and approved
Adding a Signer
EVM (Safe)
Proposer:
- Go to Safe
- Settings > Setup > Owners
- Click "Add new owner"
- Enter new signer's address (checksummed)
- Set threshold (typically maintain same ratio)
- Create transaction
Verification checklist:
[ ] New signer address is correct (verified via signed message)
[ ] Threshold is appropriate after addition
[ ] Not accidentally removing anyone
[ ] Message hash matches hardware walletSolana (Squads)
Proposer:
- Go to Squads Multisig
- Configuration > Add Member
- Enter new signer's address
- Set permissions
- Create proposal
Removing a Signer
EVM (Safe)
Proposer:
- Settings > Setup > Owners
- Click remove (trash icon) next to signer
- Adjust threshold if needed (cannot exceed new signer count)
- Create transaction
Verification checklist:
[ ] Correct signer being removed
[ ] Threshold still appropriate (>=50%)
[ ] Maintains minimum signer count (3+)
[ ] Message hash matches hardware walletSolana (Squads)
Proposer:
- Configuration > Remove Member
- Select member to remove
- Adjust threshold if needed
- Create proposal
Replacing a Signer (Swap)
When a signer needs to change their address.
If Original Key is Accessible
-
New signer proves ownership by signing message with existing address:
[Handle] is rotating to new address [0xNEW...] for [Multisig Name] -
New signer completes Joining a Multisig with the new address
-
Create transaction to add new address
-
After execution, create transaction to remove old address
If Original Key is Lost
- Signer verifies identity through alternative methods:
- Video call with other signers
- Authentication via verified social media
- Other pre-established verification
- Document verification in transaction notes
- New signer completes onboarding
- Create transaction to add new and remove old (can be batch)
Batch Add + Remove
Can combine add and remove in a single transaction:
EVM (Safe):
- Use Transaction Builder or batch transaction
- Add
addOwnerWithThresholdcall - Add
removeOwnercall - Execute as a single transaction
Benefits: Atomic operation, no intermediate state with wrong threshold.
Post-Transaction
After execution:
- Update registration or internal documentation with the new signer list
- Update communication channel membership
- Removed signer leaves communication channels
- Test that the new signer can successfully sign a test transaction
Offboarding Checklist
When removing a signer:
- Signer removed from multisig on-chain
- Signer removed from communication channels
- Documentation updated
- Signer deleted local sensitive information
- Any shared credentials rotated (if applicable)
Timeline requirements:
- Emergency-class multisigs: 48-72 hours
- Critical-class: 7 days
- Others: 14 days
Further Reading
- Operational Runbooks: how the runbooks in this section fit together
- Joining a Multisig: verification steps for the incoming signer
- Offboarding: revoking the outgoing signer's wider access
- Threshold Change Runbook: the companion procedure when the threshold moves too