Skip to content

How to trade perps with MetaMask Agent Wallet: 9 critical tips

Your agent can open a leveraged position from one sentence. Understand how it fills: quotes, limit prices, slippage caps, and stop levels.

12 min
How to trade perps with MetaMask Agent Wallet: 9 critical tips

MetaMask Agent Wallet trades perpetual futures on Hyperliquid through the mm perps command set. A trader asks their agent for a position in plain language, and the agent routes that request to the commands that deposit collateral, fetch a quote, open the position, attach take profit and stop loss levels, and close or resize it later. The wallet keeps custody; deposits are policy-checked, and the agent only proposes.

That handoff is where agent-driven perps trading differs from tapping through an interface. A single sentence can carry a lot of unstated assumptions about order type, slippage, and size. This piece covers the details worth making explicit, including which parts of that workflow MetaMask's wallet-level controls actually reach and which parts they don't.

This is a trading-mechanics guide, not a perps primer. For what perpetual futures are and how they price, see perps trading for beginners and essential perpetual futures concepts. For the math behind position sizing, see leverage and margin in perpetual futures trading. For the wallet category itself, see what is an agentic wallet and how agentic wallets work.

The perps surface, in one table

These are the commands a perps workflow leans on. Knowing the surface makes it easier to phrase a request that lands the way it's intended.

What you ask your agent

What runs

What it does

"What perps markets are available"

mm perps markets

Lists tradable symbols on the venue

"Fund my perps account with 500 USDC"

mm perps deposit

Deposits USDC into the venue

"What would a 5x long on BTC cost"

mm perps quote

Prices the position without submitting it

"Open a 5x long on BTC with $100"

mm perps open

Submits the order

"Set a stop at 58,000"

mm perps modify

Attaches take profit, stop loss, or new leverage

"Show my open positions"

mm perps positions

Reads current exposure

"Close my BTC position"

mm perps close

Closes fully or partially

"Cancel that resting order"

mm perps cancel

Cancels by order ID

"Move 200 USDC back to spot"

mm perps transfer

Moves collateral between spot and perp balances

Source: MetaMask Agent Wallet commands reference.

With that basic understanding, here's 9 critical tips for using MetaMask Agent Wallet to trade perps.

1. Fund the perps account before the first ask

The Hyperliquid sub-account is empty on first use. Asking an agent to open a position before any collateral has arrived can fail with HYPERLIQUID_ERROR or ORDER_REJECTED, and the agent has nothing useful to retry.

mm perps deposit sources USDC from Arbitrum by default, so USDC needs to be sitting on Arbitrum, or --source-chain-id needs to point somewhere it is. Collateral that's already in the wallet's spot balance on the venue can be moved across with mm perps transfer --direction spot-to-perp instead of a fresh deposit.

One number worth committing to memory: orders below $10 notional are rejected under INVALID_AMOUNT, with a hint to increase position size or leverage. Small test trades need to clear that floor.

2. Quote before opening, or preview with a dry run

mm perps quote prices a position without submitting it. mm perps open --dry-run goes further and validates the whole order without signing or submitting anything.

Both matter more with an agent than with a manual interface, because the confirmation step a trader would normally read on screen is something the agent can be told to skip. A quote or a dry run puts the numbers back in front of a human before anything is signed.

3. Say "limit" if a limit order is what's wanted

mm perps open takes --type market or --type limit, and a limit order requires --limit-px. An ask phrased as "open a 5x long on ETH with $200" carries no price instruction, so it resolves as a market order.

Market orders cross the spread and can experience slippage, which is the difference between the expected execution price and the price actually received. In thin markets that gap widens. Traders who care about the entry price generally state it, and traders who care more about certainty of fill generally don't.

4. Cap slippage on the way in and the way out

Both mm perps open and mm perps close accept --max-slippage-bps, a ceiling expressed in basis points. The documentation doesn't publish a default, so an order submitted without the flag is running on whatever the CLI applies rather than on a stated number.

Setting the cap explicitly is one of the few instructions that constrains an autonomous open in a way the agent can't reinterpret. It's also easy to forget on the exit, which is the leg where slippage tends to hurt most, because exits cluster around the moments when everyone else is exiting too.

5. Attach take profit and stop loss as a deliberate second step

mm perps open doesn't take take profit or stop loss levels. Those go on with mm perps modify --tp and --sl , which requires at least one of --leverage, --tp, or --sl to be present.

The practical consequence: a position opened by an agent has no exit orders attached until someone asks for them. A prompt that says "open a 5x long on BTC with $100, then set a stop at 4% below entry and take profit at 8% above" describes two commands and gets both. A prompt that stops after the first clause gets a naked position. Setting exit levels in the same breath as the entry is what keeps the gap between those two states from mattering.

6. Know that the deposit, not the order, is what MetaMask checks

Only one step in a perps workflow is an EVM transaction that MetaMask's wallet-level controls actually evaluate: the deposit. It passes through threat scanning in both trading modes. In Guard Mode specifically, it's also metered against the rolling 24-hour outflow limit, which MetaMask's documentation names deposits to Hyperliquid as an included category alongside token transfers and swaps. If the deposit exceeds that limit, or threat scanning flags it in either mode, the job pauses in AWAITING_MFA for 2-factor authentication approval, delivered as a MetaMask Mobile push notification for QR sign-ins or an email link for browser sign-ins, and the agent cannot proceed until someone responds. This applies to server-wallet mode; trading modes don't apply to bring-your-own-wallet setups.

Opening, modifying, and closing a position happen on Hyperliquid itself, not as MetaMask-simulated EVM transactions. Those actions aren't threat-scanned, don't consume the outflow budget, don't get checked against allowlists, and don't trigger 2-factor authentication, regardless of position size. A $2,000 deposit that clears the outflow limit gets scrutinized on the way in; a $50,000 position opened on that same collateral with 25x leverage does not get a second look from the wallet. The outflow limit is a funding-time control, not a position-size control, and sizing discipline for the order itself rests entirely on what the prompt says and what the agent does with it.

The practical habit: fund the account in a deliberate, separate step sized to what's actually intended to be at risk, since that's the one moment MetaMask's guardrails apply. Everything downstream of that deposit is on the trader and the agent.

7. Sign in the same way every time

Google, email passwordless, and MetaMask Mobile QR each resolve to a different server-wallet address, even when the same email address is used for more than one of them. Since the Hyperliquid account is funded from a specific wallet, signing in a different way surfaces a different address with none of that collateral.

The habit that avoids this: pick one sign-in method, use it every time, and run mm wallet address after signing in to confirm the expected address before asking for anything. Funds stay where they were; they just aren't visible from the wrong session.

8. Scope HIP-3 DEXs deliberately

Balance, positions, and orders default to the main Hyperliquid DEX. --dex scopes a query to a specific HIP-3 DEX, and --all-dexes aggregates across them for balance and positions reads.

An agent asked "what are my positions" without qualification reports on the main DEX only. For a portfolio spread across multiple DEXs, that answer is incomplete in a way that isn't obvious from reading it, which makes --all-dexes worth naming in any prompt that's meant to produce a full picture. mm perps dexs lists the available identifiers.

The scoping flags are documented on the read commands rather than on order placement, so --dex is best understood as a visibility control here.

9. Use quotes and dry runs to rehearse, not testnet

mm perps open --dry-run validates a fully specified order, including symbol, side, size, and leverage, without signing or submitting it. Paired with mm perps quote, a strategy prompt can be run end to end against live pricing to confirm what the agent would actually submit, before any collateral is at risk.

--network testnet exists on the read and trading commands, but rehearsing a live strategy there currently isn't practical: Hyperliquid's testnet uses a separate faucet-only USDC variant that isn't available through Agent Wallet's funding path, so a testnet perps account can't be funded the way a mainnet one can. Dry runs and quotes are the more reliable rehearsal tools until that's resolved.

For the live version, --yes skips the interactive confirmation prompt on open, close, modify, and cancel, which is what makes scheduled or scripted flows possible. What --yes doesn't do is switch off the wallet's own controls on the deposit leg described in tip 6. Skipping the confirmation prompt removes the human read of the order; it doesn't change what MetaMask checks.

What Agent Wallet doesn't do for perps

Being clear about the boundary is more useful than implying a wider one.

There is no built-in strategy engine. Agent Wallet exposes the trading surface; the decision logic lives in the agent and whatever the trader tells it. There's no dedicated copy-trading skill, signal feed, or automated rebalancing shipped for perps positions. Traders wanting that kind of custom logic can build it as a plugin, a beta feature that lets an installed npm package add new commands to the CLI under consent-gated read or transaction-submission capabilities, but that's a build-it-yourself path rather than a built-in one.

Funding accrues on a schedule set by the venue, and nothing in the wallet monitors it on a trader's behalf. Holding a leveraged position across multiple funding intervals carries a cost that compounds, as covered in perpetual futures funding mechanics and timing. An agent asked to check funding will check it. An agent not asked will not.

Margin behavior is set by the venue rather than by the wallet. For the difference between the two models and what each implies for liquidation, see cross vs isolated margin in perpetual trading.

Frequently asked questions about trading perps with MetaMask Agent Wallet

This Article is written by:

  • MetaMask

    MetaMask, formerly Consensys Software Inc, is the world's largest self-custodial financial platform, giving people a single place to hold, spend, save and grow their money across both crypto and traditional assets. The company is building the consumer platform where that happens, bringing payments, savings, investing and digital assets together in one seamless experience. Having grown from the world's most widely used self-custodial wallet, MetaMask gives users direct control over their money and assets, with reach across approximately 190 countries. MetaMask has played a foundational role in Ethereum's growth since 2016. Today, MetaMask sits at the center of the blockchain economy, building the operating system for Open Money and putting people in full control of their financial lives.

    Read all articles