Pular para conteúdo principal

How to use limit orders in MetaMask

A limit order lets you set the price you want to buy or sell a token at. Unlike a market swap, which executes right away at the current rate, a limit order only fills when your price condition is met. Your tokens stay in your wallet until the order fills.

MetaMask is the first wallet to offer limit orders self-custodially. Limit orders are currently available in the Swap interface on MetaMask Mobile v8.18.0 and above.

Available networks for limit orders

Ethereum • Base • BNB Smart Chain • Robinhood Chain

Types of limit orders​

There are four limit order types that you can set:

  • Sell above market (Take Profit): Sells your source token when its price rises to, or above, your limit price.
  • Sell below market (Stop Loss): Sells your source token when its price falls to, or below, your limit price.
  • Buy below market (Buy the dip): Buys your destination token when its price falls to, or below, your limit price.
  • Buy above market (Buy the pump): Buys your destination token when its price rises to, or above, your limit price.

Your order type is determined by the token you’re setting the limit price on.

dica

Setting a limit price on the from token means you’re in sell mode; setting a limit price on the to token means you’re in buy mode.

Within each mode (sell or buy), your exact order type is determined by the limit price you set, relative to the current market price. For example, in sell mode, setting a limit price above market puts you in Take Profit mode, and setting a limit price below market puts you in Stop Loss mode.

More tangibly—when selling ETH for mUSD—if the current price of 1 ETH is equal to 2200 mUSD, you can set your ETH limit price at 2300 mUSD (take profit) and the price condition box will read Sell when 1 ETH is at or above 2300 mUSD. Again, assuming the current market price of 1 ETH is equal to 2200 mUSD, you can set your ETH limit price at 2100 mUSD (stop loss) and the price condition box will read Sell when 1 ETH is at or below 2100 mUSD.

You can adjust both the token where your limit price is set, and the limit price itself. See Setting up a buy or sell for examples.

How to create a limit order​

  1. Open MetaMask Mobile and tap ‘Swap’.

  2. At the top of the Swap screen, tap the ‘Limit’ tab. The ‘Market’ tab lets you execute your swap at the current rate.

    MetaMask Mobile Swap screen with the Limit tab highlighted

  3. Choose the token you want to sell (from token) and the token you want to buy (to token). Both tokens must be on the same network.

    MetaMask Mobile Limit tab with the from and to token selectors highlighted

  4. Enter the amount you want to sell. Tap the arrows under the amount to switch between entering it as a token amount or in fiat.

    MetaMask Mobile Limit tab with the token amount and fiat toggle arrows highlighted

    Minimum order size

    There is a minimum order size that varies per network. Ethereum is $100; Base, Robinhood Chain and BNB Chain are $10.

  5. Set your limit price in the price box below the token fields.

    1. You can type a price directly, use the quick-select buttons to set your price target relative to the current rate, or tap ‘Custom’ to enter your own percentage deviation from the current market price. Tap ‘Market’ to reset to the current market rate.

      Animation of tapping the quick-select buttons to change the limit price

    2. The price box shows your condition in plain words, for example Buy when 1 ETH is at or below 2,100 USDC, and it updates as you adjust the price of the token where you’re setting your limit price. The amount in the To field updates as well, showing an estimate of what you’d get if the order fills at that price.

  6. In the ‘Expires after’ row, choose how long the order stays open (E.g.: 10 minutes, 1 hour, 1 week, 1 month)

  7. Check or adjust your ‘Price tolerance.’ This is how far from your price target the order is allowed to fill. See Price tolerance below.

  8. Tap ‘Create Order’

    1. If your account isn’t already a smart account, it will be auto-upgraded upon the creation of your first order. The network fees (gas) associated with this upgrade will be shown in the order confirmation modal.
  9. Review details and confirm

    MetaMask Mobile limit order confirmation screen

Your order will appear under ‘Open orders’ at the bottom of this tab and in the token details page for either token. So long as your order is open, and is not actively being executed, you can cancel it at any time, without incurring any additional fee.

Setting up a buy or sell​

Your From or source token is the one you’re selling or paying with; your To or destination token is the one you’re buying or receiving.

Tap the token name in the price condition box (for example 1 ETH ⇅) to view the same price from the other token’s side.

Animation of tapping the token chip to switch the price condition between buy and sell

Example: Selling, or taking profit

Let’s say you hold ETH and want to sell some of it for mUSD if ETH climbs 25%.

  1. Choose ETH as the token to sell and mUSD to receive
  2. Enter the amount of ETH you want to sell
  3. In the price condition box, tap ‘Custom’ and enter 25.

The condition is Sell when 1 ETH is at or above [price], where the price is 25% above the current market rate. The To amount updates to show an estimate of how much mUSD you’d get for your ETH at that price.

Example: Buying, or buying the dip

Let’s say you hold mUSD and want to buy ETH if it drops 10%.

  1. Choose mUSD as the token to sell and ETH to receive
  2. Enter the amount of mUSD you want to spend
  3. In the price condition box, tap -10%

The condition is Buy when 1 ETH is at or below [price], where the price is 10% below the current market rate. The To amount shows how much ETH your mUSD would buy at that price.

Setting the price in fiat​

You can also set the limit as a dollar price rather than a token-to-token rate by tapping the fiat value under the price.

MetaMask Mobile limit price box with the fiat value under the price highlighted

When one of the tokens is a stablecoin, the token rate and the dollar price are roughly the same thing. When neither token is a stablecoin (for example, ETH to WBTC), keep in mind the condition is still set on just one token. The To amount shown assumes the other token’s price doesn’t change before the order fills, so the amount you actually receive may differ.

How to track and cancel orders​

You can see your open orders in the ‘Limit’ tab under ‘Open orders’, or on a token’s details page. Tap an open order to see its status, amount, trigger condition and expiration date.

MetaMask Mobile Limit tab with an open order highlighted under Open orders

MetaMask Mobile token details page with the Orders section highlighted

To cancel an order, tap ‘Cancel order’ and confirm. There’s no fee to cancel and the order moves to ‘History’.

Animation of tapping an open order, viewing its details and confirming the cancellation in MetaMask Mobile

observação

You can't edit an open order. To change the price, amount or expiry, cancel it and create a new one.

You'll get a push notification when your order fills, is cancelled, expires or fails.

How limit orders work​

MetaMask is the first wallet to enable limit orders self-custodially.

When you create an order, you sign a revocable ERC-7702 delegation: a permission that lets MetaMask execute this specific swap, for this amount, only when your price condition is met. Your tokens stay in your wallet the whole time, and the permission can’t be used for anything else. Cancelling the order tells MetaMask not to execute it.

Limit orders rely on smart accounts, since only a smart account can grant this kind of revocable, single-purpose permission. If yours isn’t “upgraded” already, you’ll be auto-upgraded when you create your first order. As with all onchain actions, there is a small gas cost associated with upgrading, which is shown in the order confirmation modal, when applicable.

MetaMask monitors the market price and executes the swap only when your price condition is met and a real quote is available within your price tolerance. If the price is met but no quote is within tolerance, the order stays open until it fills or expires. This means that your order may not execute the instant the price hits your limit, to protect you from a worse-than-expected fill: receiving noticeably less than your limit price implied.

Limit orders differ from regular swaps in a few ways:

  • They’re “gasless”. You don’t need the network’s native token to cover the transaction cost. The network fee is taken from the tokens you’re selling.
  • The MetaMask fee is calculated when the order fills, not when you create it. See Fees.
Auto-cancellation

If you move or spend the tokens you're selling before the order fills, it will auto-cancel due to insufficient source token funds at runtime.

Price tolerance​

Price tolerance is how far from your limit price the order is allowed to fill. It covers everything between your limit price and what you actually receive: slippage, price impact, and the network fee taken from your tokens. The default is 3%, and you can adjust it when creating the order.

This is why an order may not fill even if a chart shows the price briefly touching your limit. A short spike isn’t always tradable at your order size, and MetaMask only fills when a real quote is within your tolerance.

Fees​

Because limit orders execute later, MetaMask cannot determine your exact fee rate until order execution. Your fee will not be higher than the standard MetaMask fee, and if a discount or promotion applies at order execution, you’ll get it. See How MetaMask fees work for more information.

There’s no additional fee to create or cancel a limit order.

FAQ​

Does MetaMask hold my tokens while the order is open?

No. Your tokens stay in your wallet and are never locked up. MetaMask only executes your order if the price condition is met. If you have insufficient funds at execution time, it will auto-cancel.

Can I change an open order?

No. Cancel your open order and create a new one if you want to change anything.

Can I have more than one open order at a time?

Yes, you can have as many open orders as you want, including two orders placed “against” the same balance. The order that meets the limit price first will be executed first.

Which tokens can I use in a limit order?

Both tokens must be on the same network, and at least one of them must be a “fee token”: a token MetaMask can take the network fee from, since limit orders are gasless. Fee tokens vary by network and include most major assets and stablecoins.

If neither token in your pair is a fee token, you’ll see “Limit orders aren’t available for this token pair” along with the fee tokens for that network. Change one side of the pair to a token from that list to continue. Availability also depends on whether there’s enough liquidity for the pair.

Why did my order not fill when the price hit my limit?

MetaMask monitors the market price and executes the swap only when your price condition is met and a real quote is available within your price tolerance. If the price is met but no quote is within tolerance, the order stays open until it fills or expires. This is why an order may not fill even if a chart shows the price briefly touching your limit. A short spike isn’t always tradable at your order size, and MetaMask only fills when a real quote is within your tolerance.

How do I set a buy order instead of a sell?

Put the token you want to buy in the To field and the token you’re paying with in the From field. Then set your limit price below the current market to buy a dip, or above it to buy a breakout.

What happens when my order expires?

Nothing is swapped and your tokens stay where they are. The order moves to ‘History’ as ‘Expired’.

Why is the minimum order so much higher on Ethereum relative to other networks?

Because the network fee comes out of the tokens you’re selling, and it has to fit within your price tolerance.

Gas on Ethereum is much more expensive than on Base, BNB Smart Chain or Robinhood Chain, so very small orders could never fill.

For example, a $5 order with $3 in gas would lose 60% to fees alone, far outside a 3% price tolerance. Having a higher order minimum helps to account for gas costs.

What's the difference between a limit order and a price alert?

A price alert just notifies you when a token hits a price. A limit order swaps for you automatically based on the conditions you set.

Can I view my open order on Etherscan or another block explorer?

No, orders only have an onchain record when the swap is executed (fills or fails). You can view your open order within the Swaps interface or the token details page. Once the order fills, there will be a link out from the transaction to the appropriate block explorer.

Was this helpful?