MetaMask Agent Wallet faz swap de tokens na mesma chain e os transfere entre chains por meio do conjunto de comandos mm swap. Um trader pede ao seu agente para negociar ou mover tokens em linguagem natural, e o agente direciona essa solicitação para os comandos que buscam uma cotação, comparam rotas e executam. Ao contrário do trading de futuros perpétuos no Agent Wallet, onde apenas o depósito de colateral é uma transação EVM verificada pela MetaMask, um swap ou bridge é em si a transação — o que muda o que um trader precisa especificar antecipadamente e o que os controles no nível da carteira da MetaMask realmente monitoram.
Essa transferência é onde o trading orientado por agente difere de navegar por uma interface. Uma única frase pode carregar muitas suposições implícitas sobre tolerância a slippage, roteamento e chain de destino. Este artigo aborda os detalhes que vale a pena tornar explícitos.
Este é um guia de mecânica de trading, não uma introdução a swaps. Para entender como o slippage funciona e como definir uma tolerância, veja o que é slippage. Para comparar ordens de mercado e ordens limitadas, incluindo como uma tolerância a slippage é o equivalente mais próximo de uma ordem limitada em AMMs, veja tipos de ordens em cripto. Para entender as diferenças entre DEXs, agregadores e swaps nativos de carteira, veja melhores plataformas de swap de cripto em 2026. Para entender a categoria de carteira em si, veja o que é uma carteira agêntica e como carteiras agênticas funcionam. Para dimensionar depósitos de colateral e saber qual etapa de uma negociação a MetaMask realmente verifica em uma classe de ativos diferente, veja como negociar perps com MetaMask Agent Wallet.
A superfície de swap, detalhada
Estes são os comandos em que um fluxo de swap ou bridge se apoia. Conhecer a superfície facilita formular uma solicitação que funcione como pretendido.
O que você pede ao seu agente | O que é executado | O que faz |
"Swap 0.1 ETH para USDC" | mm swap quote
| Precifica um swap na mesma chain sem enviá-lo |
"Bridge 10 USDC da Base para Arbitrum" | mm swap quote --to-chain-id
| Precifica uma rota cross-chain sem enviá-la |
"Mostre todas as rotas, classificadas por custo" | mm swap quote --all-quotes
| Retorna todas as rotas candidatas classificadas |
"Prossiga com essa cotação" | mm swap execute --quote-id
| Envia a negociação previamente cotada |
"Faça o swap sem pedir confirmação" | mm swap quote --yes
| Cota e executa imediatamente, ignorando a confirmação |
"O que está acontecendo com esse swap" | mm swap status --quote-id
| Verifica o status de execução |
Fonte: Referência de comandos do MetaMask Agent Wallet
Com esse entendimento básico, aqui estão 9 dicas para usar o MetaMask Agent Wallet para fazer swap e bridge de tokens, incluindo ações tokenizadas e outros ativos (frequentemente chamados de ativos do mundo real ou RWAs).
1. Cote primeiro e trate "indisponível" como uma resposta normal
mm swap quote precifica uma negociação sem enviá-la. mm swap execute também pode receber os mesmos parâmetros de swap diretamente e cotar-e-executar em uma única chamada, mas executar a cotação separadamente primeiro é o padrão mais seguro: é a única forma de ver o preço, a rota e as taxas antes de qualquer assinatura. Quando o agregador de bridge ou DEX subjacente não consegue encontrar uma rota, a CLI não retorna um erro grave — ela retorna um resultado suave kind: "unavailable" com um reason (como AMOUNT_TOO_LOW, SLIPPAGE_TOO_HIGH ou NO_QUOTES), uma message e um hint.
Essa distinção importa para um agente que age com base em um prompt. Uma cotação indisponível é uma resposta com a qual trabalhar — o agente pode ampliar o slippage, ajustar o valor ou tentar um token diferente — não uma falha a ser reportada literalmente. A única exceção é o sinal transitório QUOTE_RETRY, que é um erro grave genuíno que vale a pena tentar novamente como está. De qualquer forma, um agente nunca deve fabricar ou reutilizar um quoteId para chamar execute após uma cotação retornar como indisponível ou expirada; a etapa de execução falha de forma limpa, mas nenhuma transação é enviada com base em uma suposição.
2. Defina uma tolerância a slippage em vez de confiar no padrão
mm swap quote aceita --slippage como uma porcentagem de 0 a 100 e usa 0,5% como padrão quando omitido. Esse padrão é um meio-termo razoável, mas ainda é um padrão aplicado a todas as negociações independentemente da liquidez do token.
Como abordado em o que é slippage, uma tolerância restrita protege contra execuções desfavoráveis, mas faz com que mais cotações falhem completamente em condições voláteis, enquanto uma tolerância mais ampla executa com mais confiabilidade a um preço pior. Um prompt negociando um par de alta liquidez como ETH para USDC pode razoavelmente usar o padrão de 0,5%; um prompt negociando um token de baixa liquidez é melhor especificando uma tolerância explicitamente, em qualquer direção, em vez de herdar um número que nunca foi escolhido pensando naquele token.
3. Bridges cross-chain precisam de uma chain de destino, e o refuel tem um modo de falha específico
Adicionar --to-chain-id é o que transforma um swap na mesma chain em um bridge cross-chain; quando omitido, o destino usa como padrão a chain de origem. --to-address permite que o resultado chegue a um endereço diferente da própria carteira do signatário, mas apenas em rotas cross-chain — não tem efeito quando a chain de origem e destino são a mesma.
--refuel inclui uma pequena quantidade de gas nativo da chain de destino em uma cotação cross-chain, o que é útil quando o trader ainda não possui o token de gas na chain de destino. É opt-in e exclusivo para cross-chain, e tem uma forma específica de falhar: usá-lo quando o token de destino já é o ativo de gas nativo da chain de destino (por exemplo, fazer bridge de ETH para ETH na Arbitrum) retorna NO_QUOTES. Um prompt como "faça bridge de USDC da Base para Arbitrum e garanta que eu tenha algum ETH lá para usar" descreve exatamente essa flag; um prompt fazendo bridge diretamente para o token nativo de uma chain não precisa dela e falhará se for adicionada mesmo assim.
4. Compare rotas deliberadamente e execute uma específica
--all-quotes retorna todas as rotas candidatas classificadas com a recomendada marcada, ordenadas por --strategy (separadas por vírgula: cost, speed, impact, output; o padrão é cost,speed). Comparar rotas e executar um --quote-id específico depois é um processo de duas etapas, e é deliberado: --all-quotes não pode ser combinado com --yes, então um prompt pedindo para ver todas as rotas e também pular a confirmação está pedindo duas coisas que a CLI não fará na mesma chamada.
Os artefatos de cotação são removidos automaticamente após 24 horas, então uma rota que vale a pena comparar hoje não é uma rota que ainda é válida para executar na semana que vem.
5. Execução sem gas e aprovações em lote acontecem automaticamente, não por solicitação
Quando o saldo nativo da carteira não consegue cobrir o gas, mm swap execute automaticamente roteia cotações elegíveis com gas incluído por meio de um relay sem gas usando EIP-7702, deduzindo a taxa do relay do próprio token trocado. Não há flag para isso; é um fallback que a CLI aplica por conta própria às cotações que se qualificam, não uma garantia em todo swap com pouco gas.
Separadamente, em chains e contas elegíveis, a CLI combina a aprovação ERC-20 e a negociação em uma única chamada atômica usando execução em lote ERC-7821, que a resposta reporta como route: "erc7821" quando acontece. Quando o batching não está disponível, a CLI volta a enviar sequencialmente. Nenhum dos comportamentos precisa ser solicitado em um prompt, mas ambos valem a pena conhecer ao verificar o que realmente foi executado — um swap em lote sem gas e um swap em duas etapas com pagamento de gas podem satisfazer a mesma solicitação, e os campos de resposta são a forma de identificar qual ocorreu.
NOTA: A execução sem gas pode resultar em taxas mais altas.
6. Saiba que o próprio swap, não uma etapa separada, é o que o Guard Mode verifica
Este é o padrão oposto ao trading de futuros perpétuos no Agent Wallet, onde abrir ou fechar uma posição na Hyperliquid acontece off-chain e apenas o depósito de colateral é uma transação EVM que a MetaMask avalia. Um swap ou bridge não tem essa divisão: mm swap execute envia a negociação diretamente como uma transação EVM, então é a transação que o limite de saída de 24 horas contínuas do Guard Mode mede, e é o que a varredura de ameaças da MetaMask e as listas de permissões de rede, endereço e token avaliam diretamente.
Um swap de $2.000 conta como uma saída de $2.000 contra o limite contínuo no momento em que é confirmado, seja uma negociação na mesma chain ou um bridge cross-chain. Se exceder o limite, ou se a varredura de ameaças o sinalizar, o job pausa em AWAITING_MFA para aprovação de autenticação de 2 fatores — uma notificação push no MetaMask Mobile para logins via QR, ou um link por e-mail para logins via navegador — e o agente não pode prosseguir até que alguém responda. Isso se aplica ao modo server-wallet; os modos de trading não se aplicam a configurações bring-your-own-wallet. A conclusão prática: a disciplina de dimensionamento em um prompt de swap não é um hábito separado do que a carteira já aplica, como é com um depósito de perps — o próprio valor do swap é o número que o Guard Mode está monitorando.
7. Não reexecute execute cegamente após um timeout
Um swap pode pausar para autenticação de 2 fatores antes de existir um hash de transação, entrando em um estado AWAITING_MFA com um ID de polling associado. Se o poll de MFA expirar em uma etapa de relay sem gas ou em uma etapa sequencial de server-wallet, isso aparece como RELAY_TIMEOUT ou JOB_TIMEOUT, ambos carregando a mesma dica de recuperação: execute mm wallet requests watch para recuperar o hash, e não chame execute novamente enquanto o job original ainda pode ser concluído.
Reexecutar execute nessa janela arrisca um segundo envio redundante em vez de resolver qualquer coisa. Aprovar a solicitação pendente e monitorar o job é o caminho correto de recuperação.
8. Não há dry run para swaps — comparar cotações é o equivalente mais próximo
Ao contrário de mm perps open, que aceita --dry-run para validar uma ordem sem assiná-la, mm swap execute não tem modo de visualização equivalente. O mais próximo de ensaiar um swap é solicitar uma cotação e, para qualquer coisa não rotineira, usar --all-quotes para ver o conjunto completo de rotas candidatas antes de se comprometer com uma. Nenhum substitui um dry run no sentido estrito — uma cotação ainda pode ficar desatualizada, e as condições de mercado podem mudar entre a cotação e a execução — mas é a ferramenta disponível para identificar uma solicitação mal especificada antes de assinar qualquer coisa.
9. Verifique o suporte à chain e ao gasless antes de cotar
mm chains list retorna um campo features por chain, que inclui se swap é suportado lá, e uma flag relaySupported indicando se o relay sem gas está disponível. Verificar isso antes de cotar economiza uma ida e volta: uma solicitação de cotação contra uma chain sem suporte a swap, ou a suposição de que a execução sem gas será ativada em uma chain onde o relay não é suportado, aparece como erro apenas depois do fato, em vez de algo que poderia ter sido descartado antecipadamente.
Isso se combina com dois códigos de erro específicos de swap que vale a pena reconhecer: GASLESS_UNSUPPORTED significa que o relay não está disponível naquela chain, e INSUFFICIENT_GAS significa que o saldo nativo da carteira não consegue cobrir o gas e nenhum fallback sem gas foi aplicado. Ambos remetem à mesma questão de suporte à chain que mm chains list responde antecipadamente.
O que o Agent Wallet não faz para swaps
Ser claro sobre o limite é mais útil do que sugerir um mais amplo.
Não há swap recorrente ou agendado integrado — nenhum recurso nativo de dollar-cost averaging, nenhum rebalanceamento automático de portfólio e nenhum livro de ordens limitadas permanente como uma exchange centralizada poderia oferecer. Cada chamada mm swap é um único ciclo de cotar-e-executar; qualquer coisa recorrente é um script ou loop de agente chamando esse ciclo em um agendamento, não um recurso da carteira. Traders que desejam esse tipo de lógica permanente podem construí-la como um plugin, um recurso beta que permite que um pacote npm instalado adicione novos comandos à CLI sob capacidades com consentimento, mas esse é um caminho de construção própria em vez de algo integrado.
Não há garantia de melhor execução entre DEXs além do que a etapa de cotação reporta. --all-quotes e --strategy apresentam candidatos classificados, mas a classificação reflete as rotas disponíveis no momento da cotação, não uma garantia de que um preço melhor não aparecerá momentos depois.
A proteção contra slippage é um teto para o movimento de preço aceitável, não proteção contra a negociação subjacente ser uma má ideia. Um swap que respeita sua tolerância a slippage ainda pode ser executado a um preço que o trader não teria escolhido em retrospecto; a tolerância apenas limita o quanto a execução pode se desviar da cotação.
mm chains list retorna o conjunto oficial e atualizado para uma determinada versão da CLI, junto com um campo features que indica se o swap é compatível por chain e um sinalizador relaySupported para elegibilidade gasless.
Não, e vale a pena entender a diferença. Nas perps, apenas o depósito na Hyperliquid é uma transação EVM verificada pela MetaMask; abrir ou fechar a posição em si não é. Um swap ou bridge não tem essa divisão — o mm swap execute é em si a transação EVM, portanto é verificado diretamente em relação ao limite de saída, à varredura de ameaças e às allowlists.
Essa é a resposta normal da CLI quando uma bridge ou DEX não consegue gerar uma rota por um motivo acionável — a resposta inclui kind: "unavailable", um motivo como AMOUNT_TOO_LOW ou SLIPPAGE_TOO_HIGH, e uma dica sobre o que ajustar. Apenas o sinal transitório QUOTE_RETRY é um erro grave de verdade.
Não. É opcional e funciona apenas entre redes diferentes, e falha com NO_QUOTES quando o token de destino já é o ativo de gas nativo da rede de destino, pois não há nada a reabastecer nesse caso.
Não diretamente. O comando mm swap execute não possui uma flag de simulação (dry-run), e pode até receber parâmetros de swap diretamente e executar sem uma cotação prévia. Solicitar uma cotação primeiro e comparar rotas com --all-quotes para qualquer operação fora do comum é a verificação mais próxima disponível antes de confirmar.
Ele entra em um estado AWAITING_MFA com um ID de polling associado. Se o tempo de espera expirar em um relay sem gas ou em uma etapa de server-wallet sequencial, isso será exibido como RELAY_TIMEOUT ou JOB_TIMEOUT. De qualquer forma, aprove a solicitação pendente e execute mm wallet requests watch para recuperar o hash da transação. Executar novamente enquanto o job original ainda pode ser concluído corre o risco de uma submissão duplicada, em vez de resolver qualquer coisa.
Não. Quando o saldo nativo da carteira não é suficiente para cobrir o gas, o mm swap execute roteia automaticamente cotações elegíveis com gas incluído por meio de um relay sem gas e deduz a taxa do token trocado; isso não é garantido em todas as trocas com gas baixo, apenas nas cotações que se qualificam. A resposta reporta route: "erc7821" quando o CLI também agrupou a aprovação e a negociação em uma única chamada. Nenhum dos dois comportamentos é controlado por flags.