Trading modes
During mm init, you are prompted to choose a trading mode.
Each wallet has its own trading mode.
If the account already has a wallet, mm init loads that wallet's trading mode instead of
prompting.
For bring your own wallet, the CLI labels policy-based 2FA as coming soon.
Guard Mode vs Beast Mode
Guard Mode enforces all of your policies and asks for approval on anything outside them.
Beast Mode is for power users who want fewer interruptions. It still blocks and surfaces dangerous transactions.
We recommend Guard Mode for most users.
Comparison
Guardrails
Policies enforced automatically before a transaction can proceed.
| Guardrail | Guard Mode | Beast Mode |
|---|---|---|
| Threat scanning | ✓ | ✓ |
| Network allowlist | ✓ | No |
| Address allowlist | ✓ | No |
| Token recipient allowlist | ✓ | No |
| Rolling 24-hour outflow limit* | ✓ | No |
In Guard Mode, untrusted contracts, networks, and recipients are caught by your allowlists. In Beast Mode there are no allowlists.
Requires 2FA approval
Transactions that pause the job until you approve or reject them.
| Condition | Guard Mode | Beast Mode |
|---|---|---|
| Malicious transactions | ✓ | ✓ |
| Risky contracts | ✓ | ✓ |
| Anything outside your allowlists | ✓ | No |
| Raising your outflow limit | ✓ | No |
In Beast Mode, only malicious and risky transactions trigger approval.
See Outflow policy for how outflows are tracked.
Set your trading mode
Set the mode with the --mode flag during mm init, or pick it at the interactive prompt:
mm init --mode guard # or --mode beast
In a non-interactive session, mm init sets Guard Mode when --mode is omitted.
Agents must ask the user and pass --mode explicitly.
How 2FA approval works
When a transaction needs approval, the CLI pauses the job and prints AWAITING_MFA until you
approve or reject it.
The agent cannot proceed on a flagged or policy-violating transaction without your response.
Your sign-in method determines where the approval request is sent: an email link for browser sign-in, or the MetaMask Mobile notifications menu for QR sign-in. See Approve requests for details and recovery steps.
Switch modes
Change the active wallet's trading mode without re-running mm init:
mm wallet trading-mode set guard
mm wallet trading-mode set beast
mm wallet trading-mode set beast --no-wait
Switching to Beast Mode needs your 2FA approval. Switching to Guard Mode applies immediately. View the current mode with:
mm wallet trading-mode get
See Switch modes and wallets for return values and errors.
Wallet policy
Guard Mode allowlists and outflow limits are stored as policy YAML on the server wallet. View, update, or inspect the template with:
mm wallet policy get
mm wallet policy set --policy "<yaml>"
mm wallet policy set --policy "<yaml>" --no-wait
mm wallet policy template
Outflow policy
Guard Mode enforces a rolling 24-hour outflow limit on server-wallet outgoing transfers. You're prompted to set the limit on your first transaction, or when a transaction would exceed your current limit. If a transaction would exceed the limit, or you request a higher limit, the CLI requires 2-factor authentication approval before the transaction proceeds.
See Outflow policy for how outflows are calculated, what counts toward the limit, and known limitations.