Manage Safe owners
Propose Safe owner and threshold changes and complete their approval lifecycle.
Review a governance change and complete its proposal. See Need Help for support.
Prerequisites: a deployed Safe, a configured owner and a shared coordinator. Changing owners or the threshold can remove access to funds. Verify the full resulting owner set and threshold before anyone signs.
Review a Governance Change
Use getMultisigInfo() to inspect the current configuration before creating a change:
import { account, requiredEnv } from './safe-account.mjs'
console.log(await account.getMultisigInfo())Use addOwner() to create an addition proposal:
const change = await account.addOwner(requiredEnv('NEW_OWNER_ADDRESS'), {
threshold: Number(requiredEnv('NEW_THRESHOLD'))
})
console.log(change.proposalId)removeOwner(), swapOwner(), changeThreshold() and updateOwners() create proposals too. Omitting a removal threshold can lower it to fit the remaining owner count; explicitly review the resulting threshold.
Complete Its Proposal
- Share the proposal identifier and full proposed configuration through the coordinator.
- Obtain owner approvals with
approveProposal(). - Submit with
executeProposal()and check a successful receipt. - Refresh the account and verify the resulting owners and threshold with
getMultisigInfo().
Follow Manage proposals for the submission and receipt steps. Read-only owners and threshold values are cached; recreate an account after externally executed changes to avoid relying on stale state.