Un token Honeypot es una criptomoneda maliciosa creada por desarrolladores que intencionalmente insertan restricciones o puertas traseras en el contrato inteligente. Esto permite a los usuarios comunes comprar el token, pero les impide venderlo (o hace que la venta esté sujeta a tarifas extremadamente altas/mecanismos de lista negra), atrapando efectivamente sus fondos en sus billeteras. A primera vista, dichos tokens pueden parecer legítimos (pueden tener pares de liquidez, logotipos de tokens y promoción comunitaria activa), pero una vez que un usuario compra el token en un intercambio descentralizado, pronto descubre que la venta es rechazada o que las tarifas de transacción son tan altas que resulta imposible recuperar su inversión.
Cómo evitar pérdidas y cómo comprobarlo
Puede ingresar la dirección del contrato del token en un explorador de blockchain como OKLINK (como se muestra en el ejemplo a continuación). Si el token es un Honeypot, generalmente se marcará en consecuencia.
2. Dado que todos los días se lanzan nuevos tokens en la cadena de bloques y es posible que los exploradores no se actualicen a tiempo, puede realizar una autoverificación manual utilizando los siguientes métodos.
Consulte la pestaña Leer contrato:
owner(): si devuelve un valor distinto de 0x000..., significa que el propietario aún tiene el control.
totalSupply() y balanceOf(): verifican la distribución inicial del token.
Busque funciones o variables como isExcludedFromFee(dirección), isBlacklisted(dirección), maxTxAmount() y tradingEnabled() (diferentes contratos pueden usar nombres diferentes, pero tienen propósitos similares).
En la pestaña Escribir contrato (accesible solo si tiene permiso):
Compruebe si hay funciones de escritura sensibles como setFeePercent, setBlacklist, renounceOwnership o setTradingEnabled. Si existen y solo el propietario puede llamarlos, el token conlleva un alto riesgo.
Busque en el código fuente las siguientes palabras clave (sin distinguir entre mayúsculas y minúsculas o con guiones bajos): blacklist, isBot, onlyOwner, setFee, maxTx, excludedFromFee, trading, swapAndLiquify, transferFrom, approve, mint, burn, renounceOwnership, liquidity.
Preste especial atención a la implementación de transfer, _transfer y transferFrom; verifique si manejan to == par o desde == par de manera diferente (para distinguir entre operaciones de compra y venta).
Si encuentra un código como
require(!_isBlacklisted[de]); if (a == par) { tarifa = 99; }
Esta es una clara señal de alerta.
Compruebe si el contrato llama a un enrutador (por ejemplo, Pancake/Uniswap Router) y si el proceso de swap incluye una lógica compleja como lockTheSwap o _tax, que podría impedir el intercambio normal.

