> For the complete documentation index, see [llms.txt](https://docs.dexkit.com/productos-defi-y-soluciones-es/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dexkit.com/productos-defi-y-soluciones-es/dexcontracts/contratos-thirdweb/airdrop-erc20-reclamable.md).

# Airdrop ERC20 Reclamable

## Características clave

* **Mecanismo de Auto-Reclamo**: Los usuarios pueden reclamar sus tokens directamente desde la interfaz del contrato.
* **Lista de Permitidos basada en Merkle (Opcional)**: Usa una raíz Merkle para permitir que solo direcciones específicas reclamen.
* **Soporte de Reclamo Público**: Si no se define una lista de permitidos, cualquier cartera puede reclamar tokens.
* **Límites de Reclamo**: Limita cuántos tokens puede reclamar cada cartera.
* **Marca de Tiempo de Expiración**: Define un momento después del cual los tokens ya no pueden ser reclamados.

## Parámetros de Despliegue Explicados

<figure><img src="/files/0ce8ca3557c38d9322637d2043c53c75ab182fdb" alt=""><figcaption></figcaption></figure>

Antes de desplegar el contrato, debes completar los siguientes campos:

| Campo                             | Descripción                                                                                                                                                                                                                                 |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nombre**                        | Un nombre legible para el contrato (por ejemplo, “Spring Token Drop”).                                                                                                                                                                      |
| **Símbolo**                       | Un nombre corto y simbólico (por ejemplo, `SPRING`) para el etiquetado en la interfaz.                                                                                                                                                      |
| **Imagen**                        | Sube una imagen o logotipo para tu airdrop. Aparece en la interfaz de usuario.                                                                                                                                                              |
| **Propietario del Token**         | La dirección que posee los tokens y aprobará la transferencia de los tokens del airdrop. Debe llamar a `approve()` si no es el desplegador.                                                                                                 |
| **Token del Airdrop**             | Dirección del contrato del token ERC20 que se distribuirá.                                                                                                                                                                                  |
| **Cantidad del Airdrop**          | Número total de tokens disponibles para reclamar entre todos los usuarios.                                                                                                                                                                  |
| **Marca de Tiempo de Expiración** | Marca de tiempo UNIX (en segundos) después de la cual no se pueden reclamar tokens. Usa un convertidor (por ejemplo, `https://www.unixtimestamp.com/`) para obtener el valor correcto.                                                      |
| **Límite de Reclamo por Cartera** | <p>Número máximo de tokens que cada cartera puede reclamar.<br>- Usa <code>0</code> para depender únicamente de la lista de permitidos Merkle.<br>- Establece cualquier número para imponer un tope rígido por cartera en modo público.</p> |
| **Raíz Merkle**                   | <p>(Opcional) Raíz Merkle generada a partir de una lista de permitidos.<br>- Si no se necesita, ingresa <code>0x</code> (estilo dirección cero).<br>- Usada para validar reclamos fuera de la cadena y probarlos en la cadena.</p>          |
| **Agregar Lista de Airdrop**      | Herramienta opcional para subir tu lista de permitidos y generar la raíz Merkle directamente dentro de la interfaz.                                                                                                                         |

Una vez que todos los campos requeridos estén completos, haz clic **Desplegar Contrato**.

### Uso de CSV para listas grandes de direcciones

Al igual que con otros contratos, también se permite el uso de listas CSV para un gran número de carteras.

<figure><img src="/files/e37120614f30fdcbedd3df5cd537987782edcb99" alt=""><figcaption></figcaption></figure>

## Cómo Funcionan los Reclamos

Después del despliegue:

* Si se proporciona una **raíz Merkle** los usuarios deben **probar** que están en la lista de permitidos presentando una prueba válida al momento del reclamo.
* Si no se establece una raíz Merkle (`0x`), **cualquier usuario** puede reclamar hasta el valor establecido por `Límite de Reclamo por Cartera`.
* Todos los reclamos respetan el **Marca de Tiempo de Expiración**.

## Configuración de Ejemplo (Testnet)

| Campo                         | Valor de Ejemplo                            |
| ----------------------------- | ------------------------------------------- |
| Nombre                        | Contrato de prueba Airdrop ERC20 Reclamable |
| Símbolo                       | CAERC20                                     |
| Propietario del Token         | `0xAf16774D...BC0fB`                        |
| Token del Airdrop             | `0xf3ba6c45...0bfa8edd`                     |
| Cantidad del Airdrop          | 10                                          |
| Marca de Tiempo de Expiración | `1715385600` (11 de mayo de 2024)           |
| Límite de Reclamo por Cartera | 1                                           |
| Raíz Merkle                   | `0x` (sin lista de permitidos)              |

### Notas

* Si el token **no es propiedad del contrato**, el **el propietario del token** debe aprobar que el contrato gaste el total `Cantidad del Airdrop`.
* Puedes reutilizar la `Agregar Lista de Airdrop` opción para **generar raíces Merkle** con listas de permitidos actualizadas antes del despliegue.
* Ideal para proyectos que necesiten **airdrops públicos**, **campañas de lista blanca**, o **incentivos limitados en el tiempo**.

## Incrustando el Contrato Airdrop ERC20 Reclamable en Tu DApp (DexAppBuilder)

Después de desplegar y aprobar tu contrato de airdrop de tokens, puedes ponerlo a disposición para que los usuarios interactúen directamente desde tu DApp. DexAppBuilder proporciona una forma visual de incrustar una interfaz de reclamo ya lista.

#### Paso a Paso: Agregar Sección de Reclamo a Tu App

**1. Crear una Nueva Página**

<figure><img src="/files/424c2bc09c56a98d115cf17a72271c021a2e1cce" alt=""><figcaption></figcaption></figure>

* Ve a **Admin > Gestionar Apps > Editar App**
* Bajo `Páginas`, haz clic **+ NUEVA PÁGINA**
* Introduce un nombre (por ejemplo, `Reclamar Tokens`) y haz clic **CREAR**

**2. Agregar una Sección**

<figure><img src="/files/a448d61b8e16628f5f26ba482a4c605af73a94ca" alt="" width="563"><figcaption></figcaption></figure>

* Dentro de la nueva página, haz clic **+ AÑADIR SECCIÓN**

<figure><img src="/files/f95181379909b62a85bbd3300d6c1a1b9f2ea63d" alt="" width="375"><figcaption></figcaption></figure>

* En el modal, desplázate o busca **Contrato DexGenerator** (bajo la categoría Web3)
* Haz clic para seleccionarlo

**3. Seleccionar el Contrato de Airdrop Desplegado**

<figure><img src="/files/f614d3ad5d5686d7952d8ea1faf22b96c554e65d" alt="" width="563"><figcaption></figcaption></figure>

* Ahora verás una lista de tus contratos desplegados
* Elige el que tenga el tipo **AIRDROPERC20CLAIMABLE**

<figure><img src="/files/0aefdcc0e3d4dbb4bb60e9b5767251507b293c71" alt=""><figcaption></figcaption></figure>

* Haz clic en él y previsualiza la interfaz de reclamo

**4. Guardar y Desplegar**

* Haz clic **GUARDAR** para añadir la sección a tu página

<figure><img src="/files/4e1fd0e68524fcd9d4e25aecd699f749a99fd738" alt=""><figcaption></figcaption></figure>

* De vuelta en el diseño de la página, presiona **GUARDAR** de nuevo para publicar los cambios

## La Experiencia de Usuario: Reclamar Tokens

Una vez publicado, los usuarios que visiten esta página verán:

* **Información del Token del Airdrop**: Dirección, símbolo y cantidad a reclamar
* **Cantidad Disponible**: Cuánto pueden reclamar
* **Información de Expiración**: Fecha/hora de expiración si está establecida
* **Botón RECLAMAR AIRDROP**: Ejecuta la función de reclamo

{% hint style="warning" %}
Si el contrato usa un árbol Merkle (lista de permitidos), el usuario debe estar incluido y proporcionar una prueba válida (manejado automáticamente si está integrado correctamente).
{% endhint %}

#### Paso Final Opcional: Publicar Página Pública

* Activa el **VER PÁGINA PÚBLICA** interruptor para hacer la página del contrato accesible a usuarios externos.
* Esto facilita compartir páginas públicas de reclamo de airdrops sin incrustar.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.dexkit.com/productos-defi-y-soluciones-es/dexcontracts/contratos-thirdweb/airdrop-erc20-reclamable.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
