Skip to content

Cestas (Baskets)

Pré-requisitos de acesso

  • Permissão (módulo): viewBaskets para listar/ver; manageBaskets para criar, editar, alocar e mudar status.
  • Licença/Feature: BASKETS habilitada na licença do tenant (Vault).
  • Contêiner do menu: GERAL → grupo Produtos → Cestas

O que é / quando usar

Uma Cesta (basket) é um produto de investimento que agrega várias ofertas-mãe (crowdfundings) em um único veículo. O investidor aporta na cesta e o capital é distribuído entre as ofertas componentes conforme pesos definidos; os rendimentos das ofertas retornam proporcionalmente aos cotistas da cesta. É o produto que permite "diversificar em um clique".

O operador usa esta área para compor a cesta (quais ofertas, com que peso), definir o modo de alocação, os parâmetros financeiros e acompanhar a captação. A cesta emite uma NFT para os investidores (rede + emissora configuráveis).

Pré-condições

  • Permissão: viewBaskets (consulta) ou manageBaskets (escrita). Permissão dupla: enum CPM + módulo dinâmico no DB. A própria listagem checa manageBaskets para liberar as ações de gestão.
  • Licença/Feature: BASKETS habilitada.
  • Dependências: as ofertas-mãe (crowdfundings) que compõem a cesta precisam existir; rede e emissora da NFT precisam estar disponíveis.

Passo a passo

  1. Acesse Produtos → Cestas.
  2. Filtre por canal, status e busca por nome.
  3. Use Criar cesta para abrir o formulário em seções.
  4. Preencha Identidade, Editorial, Distribuição, Financeiro e — conforme o modo — Composição (JIT) ou Alocações (Upfront).
  5. Salve. Em cada linha use Editar, Dashboard ou Cancelar.

Campos (formulário)

Identidade e Editorial

CampoO que éObrigatório?Efeito no sistema/backend
Nome (name)Nome da cestaSimMáx. 255 caracteres.
Tagline / Descrição / Descrição longaTextos comerciaisNãoConteúdo editorial exibido ao investidor.
Resumo de risco / garantiasSumáriosNãoriskSummary, warrantiesSummary.
Imagem de capaURL da capaNãocoverImageUrl.

Distribuição

CampoO que éObrigatório?Efeito no sistema/backend
Canal (partnerChannel)INTERNAL ou CHAINLESSSimDefault INTERNAL. Mudar o canal sugere o modo de alocação: CHAINLESS → Upfront; INTERNAL → Just‑in‑time (a menos que já alterado manualmente).
Modo de alocação (allocationMode)JUST_IN_TIME (JIT) ou UPFRONTSimJIT aloca conforme a captação entra (usa Composição com pesos); UPFRONT pré-aloca valores fixos por oferta (usa Alocações).
Rede da NFT (nftNetworkId)Rede da NFT da cestaSimDetermina a rede de emissão da NFT entregue aos investidores.
Emissora da NFT (nftCreatorInstitution)Instituição emissoraSimDetermina a emissora da NFT.
Limiar de lote JIT (jitBatchThreshold)Valor que dispara um lote de alocação no modo JITNãoAcumula aportes até o limiar e então aloca o lote nas ofertas.

Financeiro

CampoO que éObrigatório?Efeito no sistema/backend
Moeda aceita (acceptedCurrency)BRL, BRZ ou USDCSimDefault BRL.
Captação alvo (targetCapture)Meta de captaçãoSimString/BigNumber (nunca number); valida formato numérico.
Captação mínima (minimumCapture)Mínimo para a cesta ser válidaSimBigNumber.
Aporte mínimo (minimumContribution)Menor aporte por investidorSimBigNumber.
Rendimento esperado a.a. (expectedYieldPctAnnual)Rentabilidade anual esperadaNãoIndicador editorial.
Prazo médio (meses) (termMonthsAverage)Prazo médio das ofertasNãoIndicador editorial.
Datas início/fimJanela de captaçãoNãostartDate/finalDate (ISO).

Composição (modo JIT) / Alocações (modo Upfront)

CampoO que éObrigatório?Efeito no sistema/backend
Composição (compositionTarget)Lista de {ofertaOrigem, peso}Sim no JITA soma dos pesos deve ser 1 (validação: `
Alocações (upfrontAllocations)Lista de {ofertaOrigem, valorAlocado}Sim no UpfrontPré-aloca valores fixos por oferta; enviado em bulk após criar a cesta.

Ações e modais

  • Salvar: valida o formulário (Angular Reactive Forms). No JIT, exige composição com soma de pesos = 1. Cria a cesta (create) ou atualiza (update); no Upfront com alocações, dispara createAllocationsBulk em seguida. Redireciona ao dashboard da cesta.
  • Status: na edição, é possível alterar o status (onStatusChange); a mudança só é enviada (updateStatus) se diferir do atual.
  • Cancelar (na listagem): confirma e chama cancel — encerra a captação da cesta.
  • Dashboard: acompanha alocações, ordens, posições e distribuições da cesta.

Regras de negócio / cuidados

Atenção

  • JIT exige composição com soma de pesos = 1 (100%). Fora disso, a seção fica inválida e o salvar é bloqueado.
  • O canal sugere o modo de alocação, mas o operador pode sobrescrever — confira o modo antes de salvar (define quais seções aparecem).
  • Rede e emissora da NFT são obrigatórias (ficam na seção Distribuição porque determinam a NFT entregue aos investidores).
  • Repasse proporcional: rendimentos e amortizações das ofertas-mãe voltam aos cotistas da cesta proporcionalmente à participação — a posição (IBasketPosition) acompanha principal e juros recebidos.
  • Valores financeiros: todos os montantes chegam como string (BigNumber serializado) — nunca number. Sem arredondamento.
  • Status da cesta: inactive → active → minimum_reached → funded → distributing → closed (ou cancelled). O ciclo reflete a captação e a fase de distribuição.

Exemplos

Cenário 1 — Cesta interna JIT com 3 ofertas
  1. Canal INTERNAL → modo sugerido JIT.
  2. Financeiro: moeda BRL, alvo R$ 2.000.000, mínima R$ 500.000, aporte mínimo R$ 500.
  3. Composição: Oferta A peso 0,5, Oferta B peso 0,3, Oferta C peso 0,2 (soma 1,0).
  4. Limiar de lote R$ 50.000: a cada R$ 50 mil captados, o lote é alocado 50/30/20 nas ofertas.
Cenário 2 — Cesta com alocação Upfront
  1. Modo UPFRONT.
  2. Em Alocações, pré-aloque R$ 800.000 na Oferta A e R$ 1.200.000 na Oferta B.
  3. Ao salvar, a cesta é criada e as alocações são enviadas em bulk; o capital fica reservado nessas ofertas.
Cenário 3 — Encerrar uma cesta
  1. Na listagem, clique Cancelar na cesta desejada e confirme.
  2. A captação é encerrada (cancelled); aportes deixam de ser aceitos.

Telas relacionadas