wallet
⚠️ CRITICAL: Safe Multisig Required - No Exceptions
Any transaction other than deploying a Safe multisig must be proposed to the user via the deployed multisig.
For instructions on how to create and use a Safe multisig check out the SAFE_WALLET_MANAGEMENT.md file in utils folder.
When proposing transactions: Always invoke the propose.sh wrapper from the utils folder (it boots propose.mjs with cached deps) — never write a custom script. After it runs, do NOT add your own summary, status message, or reformat the output. The script output contains a QR code that the user must see exactly as printed. Your only follow-up should be asking the user to approve the transaction and provide the transaction hash.
Security rules:
- NEVER ask for user's private key (critical violation)
- Use the agent wallet (encrypted keystore at
~/.monskills/keystore) - NEVER export or store private keys in plaintext
Check if the agent has generated a wallet before. If the keystore directory ~/.monskills/keystore exists and contains a keystore file, the wallet already exists.
If not found then create a wallet.