Skip to content

Aplicações de Staking

Pré-requisitos de acesso

  • Permissão (módulo): manageToken
  • Licença/Feature: STAKING_TOKENS
  • Contêiner do menu: GERAL → grupo Investimentos / Distribuições Financeiras

O que é / quando usar

O staking é um investimento de renda passiva: o cliente bloqueia uma quantidade de tokens por um período pré-definido e recebe rendimento sobre o valor aplicado, desde que cumpra o mínimo de dias do contrato. Esta tela é o painel administrativo de todas as aplicações de staking — ativas e finalizadas — dos usuários da plataforma.

Use-a para acompanhar as aplicações em andamento, editar um contrato em curso (nova porcentagem, nova data de término ou reaporte), cancelar uma aplicação devolvendo o valor aplicado e vincular comissão de agente a uma aplicação. A configuração dos produtos de staking (planos, taxas, prazos) é feita em outra tela — esta opera sobre as aplicações já feitas pelos clientes.

Pré-condições

  • Permissão: manageToken cadastrado para a role do operador. A permissão é dupla — enum CPM no backend (decorator) + módulo dinâmico no DB (controla a exibição no menu). Ambos precisam existir.
  • Licença/Feature: STAKING_TOKENS habilitada na licença do tenant (Vault). Se desabilitada, o item nem aparece no menu.
  • Dependências: já devem existir aplicações feitas pelos usuários. A vinculação de comissão exige que o agente exista (o backend retorna agent not found caso contrário).

Passo a passo

  1. Acesse o menu Investimentos → Aplicações de Staking (rota /manage-applications).
  2. Use a busca (por identificador do usuário) e o filtro de Status para localizar as aplicações.
  3. Em cada linha, use os ícones de ação para vincular comissão de agente, editar, cancelar ou ver detalhes do usuário.

Filtros e colunas

Filtro / ColunaO que mostraOrigem do dado
Busca (texto)Filtra pelo customerId / identificador do usuárioParâmetro customerId enviado a getAllStakesForAdmin
StatusTodos, Cancelado, Rendendo (income), Iniciado (started)Parâmetro status (enum StakingStatuses)
NomeexternalSourceId do usuário ou e-mailCruzamento da aplicação com a lista de usuários
Início / FimData de início e término previsto do contratostartDate / endDate da aplicação
Valor aplicadoMontante bloqueado pelo clienteamountStaked (BigNumber, exibido com até 8 casas)
RecebeValor que a aplicação está configurada para renderamountToApply (BigNumber)
Status (coluna)Finalizado quando applied ou earlyLeave são verdadeiros; senão AtivoFlags applied/earlyLeave da aplicação

Ações e modais

Cada linha oferece quatro ícones:

  • Comissão de agente (manage_accounts): abre o modal de comissão de agente, que lista os agentes já vinculados àquela aplicação e permite adicionar ou remover vínculos — ver Adicionar ou excluir comissão.
  • Editar (edit): abre o diálogo Atualizar staking — ver Atualizar staking.
  • Cancelar (delete): só aparece quando a aplicação ainda está ativa (!applied && !earlyLeave). Abre uma confirmação (bottom-sheet) e, ao confirmar, chama cancelUserStakeAdmin — ver Cancelar aplicação.
  • Detalhes do usuário (visibility): navega para a tela de detalhes do usuário titular da aplicação.

Regras de negócio / cuidados

Atenção

  • O cancelamento só fica disponível enquanto a aplicação está ativa. Depois de finalizada (applied) ou de saída antecipada (earlyLeave), o ícone de cancelar desaparece.
  • A comissão de agente exige que o agente exista; o sistema diferencia as falhas agent not found e stake not found.
  • O status exibido na coluna (Ativo/Finalizado) é derivado das flags da aplicação, não do filtro de status do topo — eles podem divergir.
  • Valores financeiros: amountStaked e amountToApply são tratados como BigNumber, sem arredondamento. Confira as casas decimais do token (até 8 na exibição).
  • Status APPROVED: operações financeiras sobre o titular pressupõem usuário aprovado; o cancelamento devolve o valor para a carteira do cliente.

Exemplos

Cenário 1 — Vincular um agente a uma aplicação existente

Um cliente investiu por indicação de um parceiro comercial. Localize a aplicação pela busca, clique no ícone Comissão de agente, vá para a aba de adicionar, informe o ID do agente e o percentual (ex.: 5 para 5%) e confirme. O vínculo passa a aparecer na lista do modal e o agente entra no fluxo de comissões daquela aplicação.

Cenário 2 — Estender o prazo e reajustar a taxa de um contrato em curso

O cliente pediu para manter o valor rendendo por mais tempo a uma nova taxa. Clique em Editar, informe a nova porcentagem e a nova data final (e, se houver reaporte, o total aplicado) e salve. Basta um dos três campos para habilitar o botão. Detalhes em Atualizar staking.

Cenário 3 — Cancelar uma aplicação ativa e devolver o capital

O cliente quer encerrar antes do fim do contrato. Confirme que a aplicação ainda está Ativa (o ícone de cancelar está visível), clique em Cancelar e confirme no bottom-sheet. O backend executa cancelUserStakeAdmin, devolvendo o valor aplicado (com ou sem multa, conforme o contrato). Após o cancelamento, a aplicação passa a Finalizado e o ícone some. Detalhes em Cancelar aplicação.

Telas relacionadas