For AI agents: a documentation index is available at /llms.txt. A markdown version of this page is available at the same URL with .md appended (or via Accept: text/markdown).
Skip to main content

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.

info

We recommend Guard Mode for most users.

Comparison​

Guardrails​

Policies enforced automatically before a transaction can proceed.

GuardrailGuard ModeBeast 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.

ConditionGuard ModeBeast 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.

note

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.