Cómo quitar permisos de contratos en MetaMask
Introducción
Uno de los problemas más típicos de moverse en el entorno DeFi es la aceptación de smart contracts de manera ilimitada en diferentes redes. En este post se explica cómo quitar permisos de contratos en MetaMask para evitar problemas futuros de vaciado de wallets.
Es una realidad que para intercambiar tokens, proporcionar liquidez a los liquidity pools, stakear o interactuar con las farming, los usuarios deben permitir que los smart contracts utilicen sus tokens que tienen depositados en MetaMask.
Cuando utilizas la wallet MetaMask, dicha solicitud de permiso desde una dApp tiene el siguiente aspecto:
Una vez aprobado, el smart contract tendrá permiso para utilizar la cantidad especificada de LP-tokens según su estrategia.
Utilizando algunas plataformas, los usuarios pueden cambiar rápidamente sus tokens, digamos USDC, a ETH y BTCB, y desplegarlos directamente en un fondo de liquidez, todo en un solo paso.
La plataforma pedirá permiso para gastar la cantidad de tokens dada o una cantidad ilimitada de tokens, lo que significa que el usuario sólo tiene que aprobar el permiso una vez. Sin embargo, esto conlleva ciertos riesgos.
Cómo acceden los desarrolladores a tus tokens en MetaMask
Algunos usuarios han perdido sus tokens porque aceptaron smart contracts que estaban diseñados precisamente para eso, para robarles los tokens.
El funcionamiento es el siguiente: un smart contract te solicita permiso para gastar un número ilimitado de tokens. En el momento que el usuario intentan interactuar con los protocolos DeFi conocidos, confían en las auditorias que estas plataformas han pasado.
Sin embargo, por otra parte están los protocolos DeFi lanzados recientemente y que aún no han pasado auditorías. En este caso, los inversores deben saber que el nivel de riesgo es mas alto.
Una vez que una plataforma ha concedido permisos ilimitados para gastar los tokens de los usuarios, los desarrolladores que han diseñado el smart contract para robar los fondos de esas wallets son capaces de controlar los tokens de los usuarios utilizando puertas traseras en esos contratos (incluso si el usuario ya ha retirado sus tokens de la plataforma).
Lo habitual es que estos desarrolladores retiren los tokens de la wallets de los usuarios, dejando su MetaMask a 0.
Token allowance
Cada vez que haces una transacción desde tu wallet DeFi, tienes que hacer clic en “Confirmar” para proceder. Pero ¿sabes qué estas firmando?.
La mayoría de la gente nunca suele mirar, pero si abres los detalles del contrato puedes encontrar sorpresas negativas.
Cómo quitar contratos en MetaMask
Una vez entendido cómo acceden los desarrolladores a nuestros tokens, entenderás la importancia de quitar permisos de contratos en MetaMask.
Si sigues estos pasos, estarás protegiendo tu inversión, y por lo tanto, tus tokens.
Se ha incluido un ejemplo inicial con la herramienta de DeBank y su dashboard, la cuál ya hablamos de ella en cómo gestionar tu portfolio DeFi.
DeBank es compatible con la mayoría de blockchains compatibles con smart contracts como son: Ethereum, BSC, xDai, Polygon, Fantom, OKExChain y HECO.
Paso 1. Conectar tu cartera
Lo primero que tienes que hacer es entrar en DeBank y conectar tu wallet MetaMask.
Paso 2. Ir a Profile
Tienes que hacer click en el perfil en el menú de la izquierda. Se carga una nueva página que muestra todos tus tokens y dónde los has desplegado. Al hacer click en “All chains”, DeBank muestra todos tus tokens en todas las blockchains compatibles con los smart contracts.
Paso 3. Quitar permisos
Haz click en “Approval”. Se carga una nueva página que muestra varias cosas, como la exposición de tokens por blockchain y la cantidad aprobada de tokens por contrato. En la parte derecha del contrato hay un botón de “Decline”. Haga clic en ese boton para quitar los permisos que diste a ese smart contract.
Herramientas para revocar contratos en MetaMask
En el ejemplo hemos usado DeBank, pero hay muchas otras herramientas que puedes utilizar para quitar los permisos de los smart contracts y que funcionan perfectamente:
Unrekt
Un sitio web básico y gratuito permite a los titulares de wallets revocar los permisos en múltiples blockchains, como ETH, BSC, HECO, FTM y MATIC en versión web y móvil.
BSCScan y PolygonScan
La herramienta BSC Chain te ayuda a revisar y revocar las aprobaciones de tokens para todas tus dApps. Introduces una dirección pública y ves las dApps que tienen acceso a tus tokens.
Beefy
Además de proporcionar vaults para su el farming, Beefy Finance tiene una función de quitar permisos. Abre automáticamente el wallet de Metamask y pide que hagas click en la confirmación.
La herramienta muestra “Find & revoke all the addresses that can spend your tokens” (Encuentra y revoca todas las direcciones que pueden gastar tus tokens) y luego te da la opción de revocar los permisos no deseados. Es sencillo, gratuito y eficaz.
DeBank
Ver ejemplo en la sección de cómo quitar contratos en MetaMask más arriba.
Zapper
También hablamos de ella en el post de cómo gestionar un portfolio DeFi. Zapper.fi permite a los usuarios entrar y salir de los fondos de liquidez con un solo click.
Además de esto, cuenta con una herramienta muy interesante para revocar contratos entre diferentes redes como Arbitrum, Avalanche, BSC, Celo, Ethereum, Fantom. Harmony One, Moonriver, Optimism, Polygon y Gnosis Chain.
Conclusiones
La revocación de permisos de smart contracts es cada vez más importante en la operativa DeFi. Será una manera de garantizar que tus tokens están seguros en tu wallet.
Ya has visto que se tarda muy poco y sólo conlleva volver a conectar tu wallet MetaMask a este tipo de plataformas para hacerlo.
Y tú…¿cómo revocas permisos en MetaMask?…¿Conocías este tipo de herramientas? ¿Has sufrido alguna perdida de tokens en MetaMask alguna vez?.
Puedes compartir tu respuestas con nosotros, recuerda que estamos en nuestro grupo de Telegram, en Flipboard, en Substack y en Twitter.