Skip to content

Distribución (Dividendos)

Requisitos previos de acceso

  • Permiso (módulo): manageDividends (para crear, aprobar y eliminar distribuciones). La visualización del listado se habilita con acceso al grupo Inversiones.
  • Licencia/Feature: Ninguna específica.
  • Contenedor del menú: GENERAL → grupo Inversiones / Distribuciones Financieras

Qué es / cuándo usar

La Distribución es el mecanismo de pago de ganancias (dividendos/rendimientos) a los tenedores de un token o de un NFT. El operador elige el activo cuyos tenedores recibirán el pago (un token o un NFT), define el token a distribuir, el monto total y los porcentajes, y el sistema genera la lista de pagos proporcional a la posición de cada holder.

La distribución se crea en estado AWAITING_APPROVAL y solo se ejecuta tras una aprobación explícita. Use esta pantalla para crear nuevas distribuciones, revisar el prorrateo generado, aprobar (liberar el pago) o eliminar (descartar antes de aprobar).

Requisitos previos

  • Permiso: manageDividends para crear/aprobar/eliminar (doble — enum CPM en el backend + módulo en la BD). Sin él, las acciones de aprobar/eliminar no aparecen en el menú contextual de la fila.
  • Dependencias: el activo (token o NFT) ya debe existir y tener tenedores; el token usado como medio de pago debe estar registrado.

Paso a paso

  1. Acceda a Inversiones → Distribución (ruta /manage-distributions).
  2. Haga clic en Crear para abrir el modal de distribución.
  3. Elija la pestaña Por tokens o Por NFTs, seleccione el activo considerado (tenedores), el token a distribuir, ingrese el monto total y los porcentajes.
  4. Haga clic en Generar para previsualizar el prorrateo por usuario; ajuste valores individuales si es necesario.
  5. Confirme para guardar la distribución en AWAITING_APPROVAL.
  6. De vuelta en el listado, en el menú de acciones () de la distribución, use Aprobar para liberar el pago.

Campos (modal de creación)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
Pestaña (Por tokens / Por NFTs)Define si los destinatarios son tenedores de un token o de un NFTEstablece token_id (tokens) o nft_id (NFTs) en el payload
Activo consideradoEl token/NFT cuyos tenedores recibirán el pagotoken_id/nft_id; debe ser validado (seleccionado de la lista) — un campo libre no validado bloquea el envío
Token a distribuirEl token usado como medio de pago de las gananciastoken_to_distribute
Monto total a distribuirMonto total de las gananciastotal_to_distribute; debe ser > 0
Porcentaje a distribuirPorcentaje aplicado sobre la baseNopercentage_to_distribute; si se completa, debe ser ≥ 0
Porcentaje para la redPorción destinada a la red (solo pestaña tokens)Nopercentage_to_network; solo existe en la pestaña Por tokens

En el paso de previsualización, cada destinatario aparece con nombre, correo electrónico y el monto individual, editable. La suma de los montos individuales no puede superar el total (exceedsTotal bloquea la confirmación).

Filtros y columnas (listado)

Filtro / ColumnaQué muestraOrigen del dato
Búsqueda por nombre del activoFiltra por assetNameParámetro assetName
OrdenMás nuevos / más antiguosorder (newest/oldest)
TokenFiltra por el token consideradotoken
EstadoAWAITING_APPROVAL, PROCESSED, APPROVED, CANCELLEDstatus
TipoTodos / Token / NFTtype
FechaFecha de la solicitudrequest_date
Token a distribuirMedio de pagotoken_to_distribute
CantidadTotal a distribuirtotal_to_distribute
Activo consideradoNombre del activoassetName
Estado (columna)Estado actual; PROCESSED en verde, CANCELED en rojostatus

Acciones y modales

  • Crear: abre el modal de distribución (generación + previsualización). Guarda mediante createDistributionRequest en AWAITING_APPROVAL.
  • Ver (⋮ → Ver): abre el detalle de la distribución con la lista de pagos y cuántos ya fueron aplicados (applied).
  • Aprobar (⋮ → Aprobar): disponible solo cuando status === AWAITING_APPROVAL y con permiso manageDividends. Confirma en un bottom-sheet y llama a confirmDistributionRequest — libera la ejecución de los pagos.
  • Eliminar (⋮ → Eliminar): disponible solo en AWAITING_APPROVAL y con manageDividends. Descarta la distribución mediante deleteDistributionRequest.

Reglas de negocio / consideraciones

Atención

  • La suma de los montos individuales en el prorrateo no puede superar el total a distribuir; la confirmación queda bloqueada (exceedsTotal).
  • Aprobar y Eliminar solo existen mientras la distribución está en AWAITING_APPROVAL. Una vez aprobada/procesada, esas acciones ya no aparecen en la fila.
  • El porcentaje para la red solo se aplica a la distribución por tokens — no aparece para NFTs.

Irreversible

  • La aprobación libera el pago de las ganancias a los holders. Una vez aprobada, la distribución no puede deshacerse desde la pantalla — revise el prorrateo antes de confirmar.
  • Valores financieros: total_to_distribute, montos individuales y porcentajes se tratan como BigNumber (hasta 8 decimales, ROUND_DOWN) — sin redondeo indebido.
  • Idempotencia: la ejecución financiera en FIN es idempotente por externalId. Si un pago devuelve E00021 ("already processed"), significa éxito (ya acreditado), no un error — reprocesar es seguro.
  • NFTs de crowdfunding: la distribución paga ganancias, no emite ni quema NFTs. Para activos originados en crowdfunding, la emisión/quema de cuotas es exclusiva del job de crowdfunding — la distribución solo acredita el token de pago a los tenedores.

Ejemplos

Escenario 1 — Distribuir utilidades a tenedores de un token de participación

La empresa registró utilidades y quiere pagar ganancias a quienes poseen el token EMPX. Haga clic en Crear, pestaña Por tokens, establezca EMPX como activo considerado, elija el token de pago (ej.: tBRL), ingrese el monto total y el porcentaje deseado. Genere el prorrateo, revise los valores por holder y guarde en AWAITING_APPROVAL. Luego apruebe desde el listado para liberar los pagos.

Escenario 2 — Ganancias para tenedores de una colección de NFT

Un NFT de participación distribuye rendimiento periódico. Haga clic en Crear, pestaña Por NFTs, seleccione el NFT, el token de pago y el monto total. Note que el porcentaje para la red no aparece en esta pestaña. Genere, revise y guarde; luego apruebe. La distribución acredita el token a los propietarios — no modifica la cantidad de NFTs.

Escenario 3 — Ajuste manual de un destinatario en el prorrateo

Tras generar el prorrateo, un holder específico necesita recibir un monto diferente al proporcional (ej.: acuerdo puntual). En el paso de previsualización, edite el valor de esa fila. El sistema recalcula el restante y bloquea la confirmación si la suma supera el total. Ajuste hasta que la suma quepa en el total y confirme.

Pantallas relacionadas