Detección de Honeypot: Análisis Educativo

Comprende cómo funcionan los honeypots y aprende a identificar tokens que permiten compra pero impiden venta, atrapando fondos de inversores permanentemente.

Contenido Educativo

Este análisis se basa en datos blockchain públicos y casos documentados. Solo para fines educativos.

Qué Pierde el Comprador

La compra se ejecuta con normalidad. Lo que falla es la venta, así que la pérdida es el importe completo de la posición, no una caída de precio.

Métodos Comunes

Modificadores de transferencia y blacklists dinámicas

Tipos de Honeypots

Honeypot de Venta Bloqueada

El más común: permite compras normales pero bloquea todas las ventas con errores o reversiones de transacción

Honeypot de Fees Extremos

Permite ventas pero cobra fees del 90-100%, dejando prácticamente nada al vendedor

Honeypot de Liquidez Bloqueada

Retira la liquidez después de las compras, imposibilitando cualquier intercambio

Patrones Maliciosos Comunes

Modificador onlyOwner en Transfer

Función de transferencia que solo permite al owner realizar ventas

Código típico: modifier que revierte si msg.sender != owner

Blacklist Dinámica

Lista negra que se actualiza automáticamente para bloquear vendedores

Riesgo: Cualquier comprador puede ser añadido a la blacklist

Fee Variable Extremo

Tarifa de venta que puede cambiar dinámicamente hasta 100%

Método: Función setSellFee que puede ser 0-100%

Cómo Identificar Honeypots

🚨 Señales de Alerta

  • • Solo el creador puede vender
  • • Fees de venta superiores al 50%
  • • Función transfer con restricciones
  • • Blacklist modificable por owner
  • • Sin liquidez en DEX

⚠️ Pruebas Recomendadas

  • • Simular venta antes de comprar
  • • Verificar liquidez real
  • • Revisar historial de ventas
  • • Analizar código del contrato
  • • Usar herramientas de detección

Ejemplos de Código Malicioso

Honeypot Clásico:

function transfer(address to, uint256 amount) public returns (bool) {
    require(msg.sender == owner, "Only owner can sell");
    // Transfer logic
    return true;
}

Fee Extremo:

function _transfer(address from, address to) internal {
    uint256 sellFee = (to == uniswapPair) ? 99 : 0; // 99% fee al vender
    uint256 feeAmount = amount * sellFee / 100;
    // Transfer logic
}

Cómo Comprobar un Token Paso a Paso

Seis comprobaciones que puedes hacer tú mismo antes de comprar, sin conectar la cartera y sin firmar nada. Ninguna necesita saber programar. El orden importa: las dos primeras descartan la mayoría de los casos en menos de un minuto.

1. Simula la venta antes que nada

Un simulador ejecuta una compra y una venta contra el estado actual de la cadena y te dice si la venta se revierte. Es la única comprobación que reproduce lo que a ti te va a pasar. Si la venta falla en la simulación, para aquí: el resto de señales ya no cambian la decisión.

2. Lee el impuesto de venta, no solo el de compra

La simulación devuelve dos porcentajes. El de compra suele ser razonable porque el contrato quiere que entres. Un impuesto de venta muy por encima del de compra deja la posición atrapada por economía, sin necesidad de bloquear nada en el código. Compara siempre los dos números entre sí, no contra un umbral fijo.

3. Comprueba si el código está verificado

En el explorador de la red, la pestaña de contrato indica si el código fuente está publicado y coincide con el que se ejecuta. Un contrato sin verificar no significa que sea un honeypot, significa que nadie puede revisarlo, ni tú ni las herramientas que leen el código.

4. Mira el pool de liquidez, no la capitalización

La liquidez del par es el dinero que realmente hay al otro lado cuando vendes. Un token puede mostrar una capitalización enorme y tener un pool de unos pocos miles, y en ese caso tu venta mueve el precio en tu contra antes de completarse. Mira el par concreto donde vas a operar y su profundidad.

5. Revisa quién controla el contrato

Busca la dirección del propietario y si la propiedad está renunciada, que se ve como la dirección cero. Un propietario activo no es una acusación: muchos proyectos legítimos la conservan para operar. Lo que cambia el riesgo es qué puede hacer con ella, y eso se lee en las funciones del contrato: acuñar suministro nuevo, pausar transferencias, o mantener una lista de direcciones bloqueadas.

6. Busca ventas reales de otras personas

En el historial del par, filtra por operaciones de venta y mira si hay direcciones distintas del creador que hayan salido con éxito hoy. Muchas compras y ninguna venta ajena es el patrón más elocuente de esta lista, porque describe el resultado en lugar de la intención.

Qué No Demuestra una Comprobación Limpia

Las seis comprobaciones describen el contrato tal como está ahora. Ninguna predice lo que hará después, y conviene tenerlo claro antes de apoyarse en un resultado favorable:

  • El estado cambia. Un impuesto de venta puede modificarse después de tu compra si el contrato tiene una función para ello. Una simulación es una foto con fecha, no una garantía.
  • La liquidez puede retirarse. Un pool profundo hoy puede vaciarse en una sola transacción si no está bloqueado, y eso deja el token invendible sin que una sola línea del código sea maliciosa.
  • Un contrato actualizable se reescribe. Si la lógica vive detrás de un proxy, el código que revisaste puede sustituirse por otro.
  • Vender no es lo mismo que ganar. Ninguna de estas comprobaciones dice nada sobre el equipo, el proyecto ni el precio futuro. Solo responden a una pregunta mecánica: hoy, esta venta se ejecuta.

Herramientas Públicas

Herramientas que cualquiera puede usar sin cuenta para las comprobaciones de arriba. Las nombramos porque son las que resuelven cada paso, no porque tengamos relación con ellas:

Para simular la venta

Honeypot.is ejecuta la simulación de compra y venta y devuelve ambos impuestos. Cubre BNB Smart Chain, Ethereum y Base.

Para el pool y el historial

DexScreener muestra la liquidez del par, el volumen y las operaciones recientes, que es donde se ven las ventas ajenas.

Para el código y el propietario

El explorador de cada red, Etherscan o BscScan, indica si el código está verificado y permite leer las funciones del contrato.

Para una segunda lectura

GoPlus y TokenSniffer resumen varias señales a la vez. Úsalas para contrastar, no como veredicto único.

Regla práctica: si no encuentras ventas de otras direcciones en el historial del par, trata el token como no comprobado, sin importar lo limpio que se vea el resto.

Preguntas Frecuentes: Detección de Honeypot