> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockradar.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Earn

> Genere rendimiento sobre saldos inactivos de stablecoins mediante proveedores regulados y protocolos DeFi

<Note>
  En resumen<br />
  Blockradar Earn le permite poner a trabajar las stablecoins inactivas y hacerlas crecer con el tiempo, de forma similar a una cuenta de ahorro de alto rendimiento, pero **no custodial**: los fondos se mueven desde su propia wallet, Blockradar nunca los agrupa ni los retiene, y usted puede retirar cualquier porción en cualquier momento.
</Note>

## Cómo funciona

Las stablecoins inactivas normalmente solo permanecen en su wallet. Earn mueve un monto elegido a una estrategia de rendimiento donde genera intereses de forma continua, y lo devuelve a su wallet cada vez que retira. Conserva la totalidad de su depósito original: Earn simplemente lo hace crecer.

<CardGroup cols={3}>
  <Card title="Usted mantiene el control" icon="lock-open">
    Los fondos se mueven desde su propia wallet. Blockradar nunca toma la custodia ni mezcla su dinero con el de nadie más.
  </Card>

  <Card title="Genera rendimiento automáticamente" icon="clock">
    Los intereses se acumulan de forma continua, las 24 horas: no hay nada que gestionar.
  </Card>

  <Card title="Retire en cualquier momento" icon="rotate-left">
    Retire una parte o el total cuando lo desee. No hay período de bloqueo.
  </Card>
</CardGroup>

### Tres pasos

<Steps>
  <Step title="Depositar">
    Elija un activo, un monto y un estilo de rendimiento (Regulado o DeFi). Sus fondos se mueven a la estrategia. **Depositar es gratis.**
  </Step>

  <Step title="Generar rendimiento">
    Su saldo crece por sí solo a medida que se acumulan los intereses. El valor en vivo se refleja en su posición.
  </Step>

  <Step title="Retirar">
    Retire una parte o el total, en cualquier momento. Usted recibe **exactamente el monto que solicite**: la comisión se toma de las ganancias, nunca de su capital.
  </Step>
</Steps>

## Los dos estilos de rendimiento

Cuando deposita, elige uno de dos estilos. Cada uno enruta sus fondos hacia diferentes venues confiables que generan intereses. Los estilos disponibles dependen de la red en la que se encuentre su wallet.

<CardGroup cols={2}>
  <Card title="Regulado" icon="building-columns">
    Rendimiento a través de un proveedor regulado y más conservador (**Fija**). Una buena opción si prefiere la vía regulada.

    **Disponible en:** Ethereum
  </Card>

  <Card title="DeFi" icon="cubes">
    Rendimiento a través de **Aave**, uno de los protocolos de préstamo más grandes, consolidados y probados del cripto.

    **Disponible en:** Ethereum, Base, Arbitrum, Optimism, Polygon
  </Card>
</CardGroup>

|                  | Regulado                        | DeFi                                        |
| ---------------- | ------------------------------- | ------------------------------------------- |
| **Proveedor**    | Fija                            | Aave                                        |
| **Perfil**       | Vía más conservadora y regulada | Protocolo de préstamo on-chain consolidado  |
| **Rendimientos** | Variable                        | Variable (según el mercado)                 |
| **Redes**        | Ethereum                        | Ethereum, Base, Arbitrum, Optimism, Polygon |

<Info>
  Ambos estilos son no custodiales y generan rendimiento: la elección depende de qué vía prefiere. El dashboard solo muestra los estilos que son válidos para la red de su wallet.
</Info>

## Requisitos previos

<Steps>
  <Step title="Clave API">
    Obtenga su clave API desde el [Dashboard de Blockradar](https://dashboard.blockradar.co). Vaya a **Developers** para generar una.
  </Step>

  <Step title="Master wallet creada">
    Cree una master wallet mediante la [API Create Wallet](/en/api-reference/wallets/create-wallet) o el dashboard. Las posiciones de Earn se financian con los saldos de su wallet.
  </Step>

  <Step title="Función Earn habilitada">
    Asegúrese de que la función Earn esté habilitada en su cuenta. Contacte a [support@blockradar.co](mailto:support@blockradar.co) si necesita activarla.
  </Step>

  <Step title="Saldo suficiente">
    Financie la wallet con la stablecoin que pretende depositar, además de tokens nativos para cubrir las comisiones de red on-chain.
  </Step>
</Steps>

## Retiros

Cuando retira, especifica el monto que desea **recibir**, y esa cantidad exacta llega a su wallet. Elegir **retirar todo** cierra la posición y le envía todo lo que queda (depósito + todos los intereses acumulados).

## Qué puede monitorear

<CardGroup cols={3}>
  <Card title="Saldo" icon="wallet">
    Cuánto vale su posición en este momento: depósito más intereses, ya neto de la comisión.
  </Card>

  <Card title="Intereses ganados" icon="seedling">
    Cuánto ha ganado: hoy, esta semana y durante toda la vida de la posición.
  </Card>

  <Card title="Tasa (APY)" icon="bolt">
    La tasa anual que está ganando, mostrada como su tasa neta después de la comisión.
  </Card>
</CardGroup>

## Seguridad y fiabilidad

<CardGroup cols={3}>
  <Card title="No custodial" icon="lock">
    Los fondos se mueven desde su propia wallet directamente a la estrategia. Blockradar nunca toma la custodia.
  </Card>

  <Card title="Protocolos consolidados" icon="building-columns">
    Los fondos van a fuentes de rendimiento confiables: un proveedor regulado (Fija) o Aave, un protocolo DeFi líder.
  </Card>

  <Card title="Sin bloqueo" icon="door-open">
    Sin período de espera. Retire una parte o el total en cualquier momento.
  </Card>
</CardGroup>

Varias salvaguardas se ejecutan en segundo plano para mantener correctos los saldos y las comisiones:

* **Tasa de respaldo (fallback)**: si una fuente de tasas falla brevemente, se usa una tasa reciente conocida para que las comisiones y los saldos nunca sean incorrectos.
* **Reintentos seguros**: las transacciones interrumpidas se reintentan de forma idempotente; los fondos nunca se pierden ni se gastan dos veces.
* **Reconciliación on-chain**: el saldo que se muestra se reconcilia con el saldo real on-chain.

<Warning>
  Los rendimientos son variables (las tasas pueden subir o bajar con el tiempo) y DeFi conlleva los riesgos habituales de smart contracts propios de cualquier protocolo on-chain. Su **depósito** nunca tiene comisión, pero, como en cualquier inversión, los rendimientos no están garantizados.
</Warning>

## Uso de la API

La función se expone bajo el recurso `rewards`. Todas las solicitudes se autentican con su clave API mediante el encabezado `x-api-key`. La estrategia se selecciona con un campo `type`:

* **`regulated`**: Fija (un vault ERC-4626)
* **`defi`**: Aave

Los montos siempre se pasan como **cadenas**. Los depósitos y retiros son **asíncronos**: cada uno devuelve una transacción `PENDING`, y la finalización se entrega mediante webhook.

<Info>
  La mayoría de los endpoints aceptan un `addressId` opcional para acotar la operación a una sub-dirección. Omítalo para actuar sobre la master wallet.
</Info>

### 1. Descubra qué está disponible

Antes de depositar, verifique qué estrategias admite una cadena y cuáles de los activos de una wallet son elegibles para recompensas (junto con el APY actual de cada estrategia).

<CodeGroup>
  ```bash Supported chains theme={null}
  curl --request GET \
    --url https://api.blockradar.co/v1/rewards/supported-chains \
    --header 'x-api-key: <api-key>'
  ```

  ```bash Wallet reward assets theme={null}
  curl --request GET \
    --url 'https://api.blockradar.co/v1/wallets/{walletId}/rewards/assets?type=defi' \
    --header 'x-api-key: <api-key>'
  ```
</CodeGroup>

```json Supported chains response theme={null}
{
  "message": "Supported reward chains retrieved successfully",
  "statusCode": 200,
  "data": {
    "all": ["ethereum", "base", "arbitrum", "optimism", "polygon"],
    "byType": {
      "regulated": ["ethereum"],
      "defi": ["ethereum", "base", "arbitrum", "optimism", "polygon"]
    }
  }
}
```

### 2. Previsualice la comisión de red (opcional)

Estime la comisión de red on-chain y verifique el saldo nativo de la wallet antes de comprometerse. Esto **no** mueve fondos.

<CodeGroup>
  ```bash Curl theme={null}
  curl --request POST \
    --url https://api.blockradar.co/v1/wallets/{walletId}/rewards/deposit/network-fee \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '{
      "assetId": "b1deda8d-7609-4895-b584-e8ef1f13e354",
      "amount": "1000",
      "type": "defi"
    }'
  ```
</CodeGroup>

```json Response theme={null}
{
  "message": "Network fee fetched successfully",
  "statusCode": 200,
  "data": {
    "networkFee": "0.00006779052",
    "networkFeeInUSD": "0.14371725",
    "nativeBalance": "0.000929309612767174",
    "nativeBalanceInUSD": "1.97015496",
    "estimatedArrivalTime": 30,
    "transactionFee": "0"
  }
}
```

<Note>
  La misma previsualización está disponible para retiros en `POST /v1/wallets/{walletId}/rewards/withdraw/network-fee`.
</Note>

### 3. Depositar

Mueva un activo a una estrategia de rendimiento. Depositar es gratis: la comisión solo se aplica a los intereses ganados.

<CodeGroup>
  ```bash Curl theme={null}
  curl --request POST \
    --url https://api.blockradar.co/v1/wallets/{walletId}/rewards/deposit \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '{
      "assetId": "b1deda8d-7609-4895-b584-e8ef1f13e354",
      "amount": "1000",
      "type": "defi",
      "reference": "order_12345",
      "metadata": {}
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    `https://api.blockradar.co/v1/wallets/${walletId}/rewards/deposit`,
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'x-api-key': apiKey
      },
      body: JSON.stringify({
        assetId: 'b1deda8d-7609-4895-b584-e8ef1f13e354',
        amount: '1000',
        type: 'defi',
        reference: 'order_12345'
      })
    }
  ).then(r => r.json());

  console.log('Deposit initiated:', response.data);
  ```
</CodeGroup>

#### Parámetros del cuerpo

| Parámetro   | Tipo          | Requerido | Descripción                                                              |
| ----------- | ------------- | --------- | ------------------------------------------------------------------------ |
| `assetId`   | string (UUID) | Sí        | El activo a depositar. Debe ser compatible con recompensas (ver paso 1). |
| `amount`    | string        | Sí        | Monto a depositar. Debe ser mayor que 0.                                 |
| `type`      | string        | Sí        | Clase de estrategia: `regulated` (Fija) o `defi` (Aave).                 |
| `reference` | string        | No        | Referencia del cliente, validada para asegurar su unicidad.              |
| `metadata`  | object        | No        | Metadatos personalizados que se devuelven en la transacción.             |
| `addressId` | string (UUID) | No        | Acota a una sub-dirección. Omita para usar la master wallet.             |

```json Response theme={null}
{
  "message": "Rewards Deposit initiated successfully",
  "statusCode": 200,
  "data": {
    "id": "47ae3a92-4d36-4807-af9e-b83a4eb08d69",
    "reference": null,
    "amount": "1000",
    "amountPaid": "1000",
    "status": "PENDING",
    "type": "REWARD_DEPOSIT",
    "createdAt": "2026-06-03T13:58:33.222Z",
    "asset": {
      "symbol": "USDC",
      "decimals": 6,
      "blockchain": { "slug": "base", "name": "base" }
    }
  }
}
```

### 4. Monitoree posiciones y ganancias

Las posiciones se agregan por estrategia e incluyen saldo en vivo, APY, capital depositado y ganancias (hoy / esta semana / total histórico), todo ya neto de la comisión.

<CodeGroup>
  ```bash Wallet positions theme={null}
  curl --request GET \
    --url https://api.blockradar.co/v1/wallets/{walletId}/rewards \
    --header 'x-api-key: <api-key>'
  ```

  ```bash Single asset position theme={null}
  curl --request GET \
    --url 'https://api.blockradar.co/v1/wallets/{walletId}/rewards?assetId={assetId}' \
    --header 'x-api-key: <api-key>'
  ```

  ```bash Business-wide positions theme={null}
  curl --request GET \
    --url https://api.blockradar.co/v1/rewards \
    --header 'x-api-key: <api-key>'
  ```

  ```bash Recent transactions theme={null}
  curl --request GET \
    --url 'https://api.blockradar.co/v1/rewards/transactions?limit=10' \
    --header 'x-api-key: <api-key>'
  ```
</CodeGroup>

```json Position response theme={null}
{
  "message": "Wallet rewards retrieved successfully",
  "statusCode": 200,
  "data": [
    {
      "type": "defi",
      "apy": "2.41",
      "balance": "4.365017",
      "balanceInUSD": "4.365017",
      "totalDeposited": "4.360000",
      "totalDepositedInUSD": "4.360000",
      "earnings": "0.005017",
      "earningsInUSD": "0.005017",
      "todayEarnings": "0.000187",
      "weeklyEarnings": "0.001312",
      "lifetimeEarnings": "0.026492",
      "lifetimeEarningsInUSD": "0.026492",
      "asset": {
        "id": "2f6298ec-81ca-44f4-a8f2-cc045a46d28c",
        "isActive": true,
        "asset": {
          "id": "b1deda8d-7609-4895-b584-e8ef1f13e354",
          "name": "USD Coin",
          "symbol": "USDC",
          "decimals": 6,
          "currency": "USD",
          "network": "mainnet",
          "blockchain": { "name": "base", "slug": "base", "symbol": "eth" }
        }
      }
    }
  ]
}
```

#### Campos de la posición

| Campo              | Descripción                                                                                   |
| ------------------ | --------------------------------------------------------------------------------------------- |
| `type`             | Clase de estrategia a la que pertenece la posición (`regulated` o `defi`).                    |
| `apy`              | Rendimiento porcentual anual neto actual, después de la comisión.                             |
| `balance`          | Valor en vivo de la posición (capital + intereses acumulados), neto de la comisión.           |
| `totalDeposited`   | Capital depositado en la posición.                                                            |
| `earnings`         | Intereses acumulados en la posición hasta el momento.                                         |
| `todayEarnings`    | Intereses acumulados hoy.                                                                     |
| `weeklyEarnings`   | Intereses acumulados esta semana.                                                             |
| `lifetimeEarnings` | Intereses acumulados durante toda la vida de la posición (incluidos los montos ya retirados). |
| `*InUSD`           | El valor convertido a USD del campo correspondiente.                                          |
| `asset`            | El activo de la wallet en el que se mantiene la posición, con su blockchain y red.            |

<Note>
  `/v1/rewards` devuelve la misma estructura agregada en **todas** las wallets de su negocio, mientras que `/v1/wallets/{walletId}/rewards` se acota a una sola wallet. Pase `assetId` a cualquiera de los endpoints de wallet para devolver un único objeto de posición en lugar de un arreglo.
</Note>

### 5. Retirar

El `amount` es el monto **neto** que recibe: Blockradar incrementa el rescate de modo que la comisión se tome únicamente del rendimiento realizado. Pase `"max"` para salir completamente y cerrar la posición.

<CodeGroup>
  ```bash Curl theme={null}
  curl --request POST \
    --url https://api.blockradar.co/v1/wallets/{walletId}/rewards/withdraw \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '{
      "assetId": "b1deda8d-7609-4895-b584-e8ef1f13e354",
      "amount": "500",
      "type": "defi"
    }'
  ```

  ```bash Full exit theme={null}
  curl --request POST \
    --url https://api.blockradar.co/v1/wallets/{walletId}/rewards/withdraw \
    --header 'Content-Type: application/json' \
    --header 'x-api-key: <api-key>' \
    --data '{
      "assetId": "b1deda8d-7609-4895-b584-e8ef1f13e354",
      "amount": "max",
      "type": "defi"
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    `https://api.blockradar.co/v1/wallets/${walletId}/rewards/withdraw`,
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'x-api-key': apiKey
      },
      body: JSON.stringify({
        assetId: 'b1deda8d-7609-4895-b584-e8ef1f13e354',
        amount: '500',
        type: 'defi'
      })
    }
  ).then(r => r.json());

  console.log('Withdrawal initiated:', response.data);
  ```
</CodeGroup>

#### Parámetros del cuerpo

| Parámetro   | Tipo          | Requerido | Descripción                                                                                     |
| ----------- | ------------- | --------- | ----------------------------------------------------------------------------------------------- |
| `assetId`   | string (UUID) | Sí        | El activo a retirar.                                                                            |
| `amount`    | string        | Sí        | Monto neto a recibir, o `"max"` para una salida completa.                                       |
| `type`      | string        | No        | Clase de estrategia: `regulated` o `defi`.                                                      |
| `address`   | string        | No        | Dirección de destino externa. Omita para acreditar al firmante (master wallet o sub-dirección). |
| `reference` | string        | No        | Referencia del cliente.                                                                         |
| `metadata`  | object        | No        | Metadatos personalizados.                                                                       |
| `addressId` | string (UUID) | No        | Acota a una sub-dirección. Omita para usar la master wallet.                                    |

### Ciclo de vida de la transacción

Tanto el depósito como el retiro son **asíncronos**. La llamada inicial devuelve una transacción en estado `PENDING`: la liquidación on-chain ocurre después, y el resultado final se entrega mediante webhook.

| Campo    | Valores                             | Descripción                                                                      |
| -------- | ----------------------------------- | -------------------------------------------------------------------------------- |
| `type`   | `REWARD_DEPOSIT`, `REWARD_WITHDRAW` | El tipo de transacción de Earn.                                                  |
| `status` | `PENDING` → liquidada               | Comienza como `PENDING`; cambia una vez que la transacción se confirma on-chain. |

Use **Business Reward Transactions** (`GET /v1/rewards/transactions`) para listar los depósitos y retiros recientes de todo su negocio, del más reciente al más antiguo.

```json Transaction shape theme={null}
{
  "id": "47ae3a92-4d36-4807-af9e-b83a4eb08d69",
  "reference": null,
  "amount": "0.2",
  "amountPaid": "0.2",
  "status": "PENDING",
  "type": "REWARD_WITHDRAW",
  "createdAt": "2026-06-03T13:58:33.222Z",
  "asset": {
    "symbol": "USDC",
    "decimals": 6,
    "blockchain": { "slug": "base", "name": "base" }
  }
}
```

## Referencia de la API

| Método | Endpoint                                                                                                | Descripción                                                                            |
| ------ | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| `GET`  | [`/v1/rewards`](/en/api-reference/rewards/business-rewards)                                             | Posiciones de todo el negocio agregadas en todas las wallets, agrupadas por estrategia |
| `GET`  | [`/v1/rewards/supported-chains`](/en/api-reference/rewards/supported-chains)                            | Cadenas compatibles como unión plana y agrupadas por tipo de estrategia                |
| `GET`  | [`/v1/rewards/transactions`](/en/api-reference/rewards/business-transactions)                           | Depósitos y retiros de recompensas más recientes (del más reciente al más antiguo)     |
| `GET`  | [`/v1/wallets/{walletId}/rewards`](/en/api-reference/rewards/wallet-rewards)                            | Posiciones de una wallet; pase `assetId` para un solo activo                           |
| `GET`  | [`/v1/wallets/{walletId}/rewards/assets`](/en/api-reference/rewards/wallet-reward-assets)               | Los activos elegibles para recompensas de una wallet y el APY de cada estrategia       |
| `POST` | [`/v1/wallets/{walletId}/rewards/deposit`](/en/api-reference/rewards/deposit)                           | Deposite un activo en una estrategia de Earn                                           |
| `POST` | [`/v1/wallets/{walletId}/rewards/deposit/network-fee`](/en/api-reference/rewards/deposit-network-fee)   | Previsualice la comisión de red de un depósito                                         |
| `POST` | [`/v1/wallets/{walletId}/rewards/withdraw`](/en/api-reference/rewards/withdraw)                         | Retire un monto neto (o `"max"`) de una posición                                       |
| `POST` | [`/v1/wallets/{walletId}/rewards/withdraw/network-fee`](/en/api-reference/rewards/withdraw-network-fee) | Previsualice la comisión de red de un retiro                                           |

## FAQ

<AccordionGroup>
  <Accordion title="¿Cuesta algo depositar?">
    No. Depositar es gratis. La única comisión es una pequeña parte de los intereses que gana, nunca de su depósito.
  </Accordion>

  <Accordion title="¿Cuándo empiezo a generar rendimiento?">
    Tan pronto como su depósito se liquida on-chain, comienza a generar rendimiento de forma continua, las 24 horas.
  </Accordion>

  <Accordion title="¿Qué tan rápido es un retiro?">
    Comienza de inmediato y se liquida on-chain poco después. Se le notifica en el momento en que se completa.
  </Accordion>

  <Accordion title="¿Cuál es la diferencia entre Regulado y DeFi?">
    Regulado enruta sus fondos a través de un proveedor regulado y más conservador (Fija, en Ethereum). DeFi usa Aave, un protocolo de préstamo importante y consolidado, disponible en más redes. Ambos generan rendimiento: se trata de qué vía prefiere.
  </Accordion>

  <Accordion title="¿Recibiré menos de lo que aporté?">
    Su depósito nunca tiene comisión, y usted conserva los intereses menos la pequeña parte de Blockradar. Las tasas son variables y los protocolos on-chain conllevan riesgos, por lo que los rendimientos no están garantizados; pero la comisión de la plataforma nunca toca su capital.
  </Accordion>

  <Accordion title="¿Qué hace 'retirar todo'?">
    Retira todo lo que hay en esa posición —su depósito más todos los intereses ganados— y la cierra. Puede iniciar un nuevo depósito en cualquier momento.
  </Accordion>

  <Accordion title="¿Por qué un depósito nuevo de $0.20 a veces aparece como $0.199999?">
    Es una diminuta peculiaridad de redondeo del protocolo subyacente (una fracción de centavo), no una comisión. Se compensa, y su saldo sube por encima de su depósito tan pronto como se acumulan los intereses.
  </Accordion>
</AccordionGroup>

## Soporte

* **Correo electrónico**: [support@blockradar.co](mailto:support@blockradar.co)
