safe-multisig-skill
⚠Review·Scanned 2/18/2026
This skill provides CLI scripts to manage Safe multisig wallets using the Safe SDK and Safe Transaction Service (create/predict, propose, approve, execute). It requires SAFE_SIGNER_PRIVATE_KEY, runs local scripts (./scripts/*.sh, npx tsx scripts/...) and performs network calls to https://api.safe.global and configured RPC endpoints.
from clawhub.ai·v295fdf8·122.3 KB·0 installs
Scanned from 2.1.0 at 295fdf8 · Transparency log ↗
$ vett add clawhub.ai/openclaw-consensus-bot/safe-multisig-skillReview findings below
safe-multisig-skill
Operate a Safe multisig smart account from the CLI (TypeScript strict):
- create-safe — predict address + optionally deploy a new Safe
- safe-info — read Safe state (owners/threshold/nonce)
- list-pending — list pending (queued) multisig transactions
- propose-tx — propose transactions (off-chain signatures via Transaction Service)
- approve-tx — add confirmations
- execute-tx — execute transactions onchain
Requirements
- Node.js 18+
- Internet access to the Safe Transaction Service for your chain
- For propose/approve/execute/deploy: a signer private key for a Safe owner
Install
./scripts/bootstrap.sh
Tests
npm test # vitest unit + CLI tests (70+ tests)
npm run test:smoke # live integration smoke tests
TypeScript
npm run typecheck # tsc --noEmit --strict
Usage
Check tx service connectivity
./scripts/safe_about.sh --chain base
Create / predict a new Safe
npx tsx scripts/create-safe.ts \
--chain base \
--owners 0xOwner1,0xOwner2 \
--threshold 2
# With on-chain deployment:
export SAFE_SIGNER_PRIVATE_KEY="..."
npx tsx scripts/create-safe.ts \
--chain base --deploy \
--owners 0xOwner1,0xOwner2 \
--threshold 2
Get Safe info
npx tsx scripts/safe-info.ts --chain base --safe 0xYourSafe
List pending transactions
npx tsx scripts/list-pending.ts --chain base --safe 0xYourSafe
Propose tx
export SAFE_SIGNER_PRIVATE_KEY="..."
npx tsx scripts/propose-tx.ts \
--chain base \
--rpc-url "$BASE_RPC_URL" \
--tx-file references/example.tx.json
Approve (confirm) tx
export SAFE_SIGNER_PRIVATE_KEY="..."
npx tsx scripts/approve-tx.ts \
--chain base \
--safe 0xYourSafe \
--safe-tx-hash 0x...
Execute tx
export SAFE_SIGNER_PRIVATE_KEY="..."
npx tsx scripts/execute-tx.ts \
--chain base \
--rpc-url "$BASE_RPC_URL" \
--safe 0xYourSafe \
--safe-tx-hash 0x...
Supported Chains
Base, Ethereum, Optimism, Arbitrum, Polygon, BSC, Gnosis, Avalanche, and their testnets.
See references/tx_service_slugs.md for the full list.
Security rules
- Never paste private keys into chat. Use env vars or files.
- Prefer low-privilege signers and spending limits.
- Always verify Safe address, chainId, and nonce before signing.