MetaMask Agent Wallet intercambia tokens en la misma cadena y los transfiere entre cadenas a través del conjunto de comandos mm swap. Un trader le pide a su agente que opere o mueva tokens en lenguaje natural, y el agente dirige esa solicitud a los comandos que obtienen una cotización, comparan rutas y ejecutan la operación. A diferencia del trading de futuros perpetuos en Agent Wallet, donde solo el depósito de garantía es una transacción EVM que MetaMask verifica, un swap o bridge es en sí mismo la transacción, lo que cambia lo que un trader necesita especificar de antemano y lo que los controles a nivel de wallet de MetaMask realmente supervisan.
Ahí es donde el trading impulsado por agentes difiere de navegar por una interfaz. Una sola frase puede contener muchos supuestos implícitos sobre la tolerancia al deslizamiento, el enrutamiento y la cadena de destino. Este artículo cubre los detalles que vale la pena hacer explícitos.
Esta es una guía de mecánicas de trading, no una introducción a los swaps. Para entender cómo funciona el slippage y cómo dimensionar una tolerancia, consulta qué es el slippage. Para comparar órdenes de mercado y órdenes limitadas, incluyendo cómo una tolerancia al slippage es el equivalente más cercano a una orden limitada en un AMM, consulta tipos de órdenes en cripto. Para conocer las diferencias entre DEXs, agregadores y swaps nativos de wallet, consulta las mejores plataformas de swaps cripto en 2026. Para entender la categoría de wallet en sí, consulta qué es una agentic wallet y cómo funcionan las agentic wallets. Para dimensionar depósitos de garantía y saber qué paso de una operación verifica realmente MetaMask en una clase de activo diferente, consulta cómo operar perps con MetaMask Agent Wallet.
La superficie de swap, desglosada
Estos son los comandos en los que se apoya un flujo de trabajo de swap o bridge. Conocer la superficie facilita formular una solicitud que funcione como se espera.
Lo que le pides a tu agente | Lo que se ejecuta | Lo que hace |
"Swap 0.1 ETH a USDC" | mm swap quote
| Cotiza un swap en la misma cadena sin enviarlo |
"Bridge 10 USDC de Base a Arbitrum" | mm swap quote --to-chain-id
| Cotiza una ruta entre cadenas sin enviarla |
"Muéstrame todas las rutas, ordenadas por costo" | mm swap quote --all-quotes
| Devuelve todas las rutas candidatas ordenadas |
"Procede con esa cotización" | mm swap execute --quote-id
| Envía la operación previamente cotizada |
"Haz el swap sin pedirme confirmación" | mm swap quote --yes
| Cotiza y ejecuta de inmediato, omitiendo la confirmación |
"¿Qué está pasando con ese swap?" | mm swap status --quote-id
| Verifica el estado de ejecución |
Fuente: Referencia de comandos de MetaMask Agent Wallet
Con esa comprensión básica, aquí tienes 9 consejos para usar MetaMask Agent Wallet para hacer swaps y bridges de tokens, incluyendo acciones tokenizadas y otros activos (a menudo llamados activos del mundo real o RWAs).
1. Cotiza primero y trata "no disponible" como una respuesta normal
mm swap quote cotiza una operación sin enviarla. mm swap execute también puede recibir los mismos parámetros de swap directamente y cotizar-y-ejecutar en una sola llamada, pero ejecutar la cotización por separado primero es la opción más segura por defecto: es la única forma de ver el precio, la ruta y las comisiones antes de que se firme nada. Cuando el bridge o el agregador DEX subyacente no puede encontrar una ruta, la CLI no lanza un error grave, sino que devuelve un resultado suave kind: "unavailable" con un reason (como AMOUNT_TOO_LOW, SLIPPAGE_TOO_HIGH o NO_QUOTES), un message y un hint.
Esa distinción importa para un agente que actúa sobre un prompt. Una cotización no disponible es una respuesta con la que trabajar —el agente puede ampliar el slippage, ajustar el monto o probar un token diferente—, no un fallo que reportar textualmente. La única excepción es la señal transitoria QUOTE_RETRY, que es un error grave genuino que vale la pena reintentar tal cual. En cualquier caso, un agente nunca debe fabricar ni reutilizar un quoteId para llamar a execute después de que una cotización vuelva como no disponible o expirada; el paso de ejecución falla limpiamente, pero no se envía ninguna transacción basada en una suposición.
2. Establece una tolerancia al slippage en lugar de confiar en el valor predeterminado
mm swap quote acepta --slippage como un porcentaje de 0 a 100, y por defecto es 0,5% cuando se omite. Ese valor predeterminado es un punto medio razonable, pero sigue siendo un valor aplicado a cada operación independientemente de la liquidez del token.
Como explica qué es el slippage, una tolerancia ajustada protege contra ejecuciones desfavorables pero provoca que más cotizaciones fallen por completo en condiciones volátiles, mientras que una tolerancia amplia se ejecuta con más fiabilidad a un precio peor. Un prompt que opera un par de alta liquidez como ETH a USDC puede razonablemente apoyarse en el valor predeterminado del 0,5%; un prompt que opera un token de baja liquidez es mejor que especifique una tolerancia explícitamente, en cualquier dirección, en lugar de heredar un número que nunca fue elegido pensando en ese token.
3. Los bridges entre cadenas necesitan una cadena de destino, y refuel tiene un modo de fallo específico
Añadir --to-chain-id es lo que convierte un swap en la misma cadena en un bridge entre cadenas; cuando se omite, el destino toma por defecto la cadena de origen. --to-address permite que el resultado llegue a un lugar distinto de la propia wallet del firmante, pero solo en rutas entre cadenas: no tiene efecto cuando la cadena de origen y destino son la misma.
--refuel incluye una pequeña cantidad de gas nativo de la cadena de destino en una cotización entre cadenas, lo cual es útil cuando el trader aún no tiene el token de gas en la cadena de destino. Es opcional y exclusivo para operaciones entre cadenas, y tiene una forma específica de fallar: usarlo cuando el token de destino ya es el activo de gas nativo de la cadena de destino (por ejemplo, hacer bridge de ETH a Arbitrum ETH) devuelve NO_QUOTES. Un prompt como "haz bridge de USDC de Base a Arbitrum y asegúrate de que tenga algo de ETH allí para operar" describe exactamente este flag; un prompt que hace bridge directamente al token nativo de una cadena no lo necesita y fallará si se añade de todas formas.
4. Compara rutas deliberadamente y luego ejecuta una específica
--all-quotes devuelve todas las rutas candidatas ordenadas con la recomendada marcada, clasificadas por --strategy (valores separados por comas: cost, speed, impact, output; el valor predeterminado es cost,speed). Comparar rutas y ejecutar un --quote-id específico después es un proceso de dos pasos, y es deliberado: --all-quotes no puede combinarse con --yes, por lo que un prompt que pide ver todas las rutas y también omitir la confirmación está pidiendo dos cosas que la CLI no hará en la misma llamada.
Los artefactos de cotización se eliminan automáticamente después de 24 horas, por lo que una ruta que vale la pena comparar hoy no es una ruta que siga siendo válida para ejecutar la semana que viene.
5. La ejecución sin gas y las aprobaciones en lote ocurren automáticamente, no por solicitud
Cuando el saldo nativo de la wallet no puede cubrir el gas, mm swap execute enruta automáticamente las cotizaciones elegibles con gas incluido a través de un relay sin gas usando EIP-7702, deduciendo la comisión del relay del propio token intercambiado. No hay ningún flag para esto; es un mecanismo de respaldo que la CLI aplica por su cuenta a las cotizaciones que califican, no una garantía en cada swap con poco gas.
Por separado, en cadenas y cuentas elegibles, la CLI combina la aprobación ERC-20 y la operación en una sola llamada atómica usando la ejecución en lote ERC-7821, que la respuesta reporta como route: "erc7821" cuando ocurre. Cuando el procesamiento en lote no está disponible, la CLI recurre al envío secuencial. Ninguno de los dos comportamientos necesita solicitarse en un prompt, pero ambos vale la pena conocerlos al revisar lo que realmente se ejecutó: un swap en lote sin gas y un swap de dos pasos con pago de gas pueden satisfacer la misma solicitud, y los campos de respuesta son la forma de saber cuál ocurrió.
NOTA: La ejecución sin gas puede resultar en comisiones más altas.
6. Ten en cuenta que el swap en sí, no un paso separado, es lo que Guard Mode verifica
Este es el patrón opuesto al trading de futuros perpetuos en Agent Wallet, donde abrir o cerrar una posición en Hyperliquid ocurre fuera de la cadena y solo el depósito de garantía es una transacción EVM que MetaMask evalúa. Un swap o bridge no tiene esa división: mm swap execute envía la operación directamente como una transacción EVM, por lo que es la transacción que el límite de salida de 24 horas continuas de Guard Mode contabiliza, y es lo que el escaneo de amenazas y las listas de permitidos de redes, direcciones y tokens de MetaMask evalúan directamente.
Un swap de $2,000 cuenta como una salida de $2,000 contra el límite continuo en el momento en que se confirma, ya sea una operación en la misma cadena o un bridge entre cadenas. Si supera el límite, o el escaneo de amenazas lo marca, el trabajo se pausa en AWAITING_MFA para aprobación de autenticación de dos factores —una notificación push de MetaMask Mobile para inicios de sesión con QR, o un enlace por correo electrónico para inicios de sesión en navegador— y el agente no puede continuar hasta que alguien responda. Esto aplica al modo server-wallet; los modos de trading no aplican a configuraciones de bring-your-own-wallet. La conclusión práctica: la disciplina en el dimensionamiento de un prompt de swap no es un hábito separado de lo que la wallet ya aplica, como sí lo es con un depósito de perps: el monto del swap en sí es el número que Guard Mode está vigilando.
7. No vuelvas a ejecutar execute ciegamente después de un timeout
Un swap puede pausarse para autenticación de dos factores antes de que exista un hash de transacción, entrando en un estado AWAITING_MFA con un ID de polling adjunto. Si el poll de MFA expira en un tramo de relay sin gas o en un tramo secuencial de server-wallet, esto se manifiesta como RELAY_TIMEOUT o JOB_TIMEOUT, ambos con el mismo consejo de recuperación: ejecuta mm wallet requests watch para recuperar el hash, y no llames a execute de nuevo mientras el trabajo original pueda completarse todavía.
Volver a ejecutar execute en esa ventana arriesga un segundo envío redundante en lugar de solucionar algo. Aprobar la solicitud pendiente y monitorear el trabajo es el camino de recuperación correcto.
8. No hay modo de prueba para swaps: comparar cotizaciones es el equivalente más cercano
A diferencia de mm perps open, que acepta --dry-run para validar una orden sin firmarla, mm swap execute no tiene un modo de vista previa equivalente. Lo más parecido a ensayar un swap es solicitar una cotización y, para cualquier cosa fuera de lo rutinario, obtener --all-quotes para ver el conjunto completo de rutas candidatas antes de comprometerse con una. Ninguna de las dos opciones sustituye a un dry run en sentido estricto —una cotización puede quedar obsoleta y las condiciones del mercado pueden cambiar entre la cotización y la ejecución—, pero es la herramienta disponible para detectar una solicitud mal especificada antes de que firme algo.
9. Verifica el soporte de cadena y sin gas antes de cotizar
mm chains list devuelve un campo features por cadena, que incluye si swap está soportado allí, y un flag relaySupported que indica si el relay sin gas está disponible. Verificar esto antes de cotizar ahorra un viaje de ida y vuelta: una solicitud de cotización contra una cadena sin soporte de swap, o la suposición de que la ejecución sin gas se activará en una cadena donde el relay no está soportado, se manifiesta como un error solo después del hecho, en lugar de algo que podría haberse descartado de antemano.
Esto se complementa con dos códigos de error específicos de swap que vale la pena reconocer: GASLESS_UNSUPPORTED significa que el relay no está disponible en esa cadena, e INSUFFICIENT_GAS significa que el saldo nativo de la wallet no puede cubrir el gas y no se aplicó ningún mecanismo de respaldo sin gas. Ambos remiten a la misma pregunta sobre soporte de cadena que mm chains list responde de antemano.
Lo que Agent Wallet no hace para los swaps
Ser claro sobre los límites es más útil que sugerir uno más amplio.
No hay ningún swap recurrente o programado integrado: no hay función nativa de promedio de costo en dólares, no hay rebalanceo automático de un portafolio y no hay libro de órdenes limitadas permanente como podría ofrecer un exchange centralizado. Cada llamada a mm swap es un ciclo único de cotización y ejecución; cualquier cosa recurrente es un script o bucle de agente que llama a ese ciclo según un horario, no una función de la wallet. Los traders que quieran ese tipo de lógica permanente pueden construirla como un plugin, una función en beta que permite que un paquete npm instalado añada nuevos comandos a la CLI bajo capacidades con consentimiento explícito, pero eso es un camino de construcción propia en lugar de algo integrado.
No hay garantía de mejor ejecución entre DEXs más allá de lo que reporta el paso de cotización. --all-quotes y --strategy muestran candidatos ordenados, pero la clasificación refleja las rutas disponibles en el momento de la cotización, no una garantía de que no aparezca un precio mejor momentos después.
La protección contra el slippage es un límite máximo en el movimiento de precio aceptable, no una protección contra que la operación subyacente sea una mala idea. Un swap que supera su tolerancia al slippage puede ejecutarse igualmente a un precio que el trader no habría elegido en retrospectiva; la tolerancia solo acota cuánto puede desviarse la ejecución respecto a la cotización.
mm chains list devuelve el conjunto autorizado y actualizado para una versión de CLI determinada, junto con un campo features que indica si swap es compatible por cadena y un indicador relaySupported para la elegibilidad de transacciones sin gas.
No, y vale la pena conocer la diferencia. En los perps, solo el depósito en Hyperliquid es una transacción EVM que MetaMask verifica; abrir o cerrar la posición en sí no lo es. Un swap o bridge no tiene esa división: mm swap execute es en sí mismo la transacción EVM, por lo que se verifica directamente contra el límite de salida, el análisis de amenazas y las listas de permitidos.
Esta es la respuesta normal de la CLI cuando un bridge o DEX no puede generar una ruta por un motivo accionable: la respuesta incluye kind: "unavailable", un motivo como AMOUNT_TOO_LOW o SLIPPAGE_TOO_HIGH, y una sugerencia sobre qué ajustar. Solo la señal transitoria QUOTE_RETRY es un error grave real.
No. Es opcional y solo funciona entre cadenas, y falla con NO_QUOTES cuando el token de destino ya es el activo de gas nativo de la cadena de destino, ya que en ese caso no hay nada que recargar.
No directamente. mm swap execute no tiene un indicador de simulación en seco (dry-run), e incluso puede tomar parámetros de swap directamente y ejecutarse sin una cotización previa. Solicitar primero una cotización y comparar rutas con --all-quotes para cualquier operación no rutinaria es la verificación más cercana disponible antes de confirmar.
Entra en un estado AWAITING_MFA con un ID de sondeo asociado. Si la espera agota el tiempo en un relay sin gas o en un tramo de servidor-wallet secuencial, esto se muestra como RELAY_TIMEOUT o JOB_TIMEOUT. En cualquier caso, aprueba la solicitud pendiente y luego ejecuta mm wallet requests watch para recuperar el hash de la transacción. Volver a ejecutar execute mientras el trabajo original aún puede completarse arriesga un envío duplicado en lugar de resolver el problema.
No. Cuando el saldo nativo de la wallet no puede cubrir el gas, mm swap execute enruta automáticamente las cotizaciones elegibles con gas incluido a través de un relay sin gas y deduce la tarifa del token intercambiado; no está garantizado en cada swap con poco gas, solo en aquellos para los que la cotización califica. La respuesta reporta route: "erc7821" cuando el CLI también agrupa la aprobación y la operación en una sola llamada. Ninguno de estos comportamientos está controlado por flags.