Skip to content

Balances (Dashboard)

Access prerequisites

  • Permission (module): manageCorporateAccount
  • License/Feature: None for the main panel; the Crowdfunding tab only loads if the CROWDFUNDING feature is enabled in the tenant's license.
  • Menu container: GENERAL → Dashboard group

What it is / when to use

Analytical panel (read-only, route /dashboard-balances) that consolidates the custodied balances on the platform, split into five tabs: General, Crypto, Tokenization, Investments and Crowdfunding. This is the "how much the house holds" view per asset class — number of holders, total in assets and monthly movement. Use it for executive reconciliation and asset tracking.

Prerequisites

  • Permission: manageCorporateAccount on the role (dual permission — CPM enum + module in the DB).
  • License/Feature: the Crowdfunding tab depends on the CROWDFUNDING feature (checked at runtime via FeaturesStatusService). If disabled, crowdfunding data is not fetched.
  • Dependencies on other screens: data comes from three different services (TokensService.getGeneralCryptoBalances, OrderService.getAllQuotations, StoreService.getCrowdfundingBalances) — i.e., BSM/OBS + Crowdfunding.

How the panel is assembled

A single screen with local tabs (categoryList = ['general','crypto','tokenization','investment','crowdfunding']). On open, the panel loads the general crypto/token/investment balances and quotations in parallel; then, if CROWDFUNDING is on, it fetches crowdfunding balances and recomputes the statistics. Switching tabs (setCurrentCategory) only toggles the displayed component — it does not re-fetch data.

TabContentDetail
GeneralConsolidated view of all asset classesCrypto/Tokenization/Investments/Crowdfunding cards and comparative charts
CryptoCrypto asset balancesHolders, total in token, total in fiat, monthly movement
TokenizationIssued token balancesHolders, total, fiat, movement
InvestmentsInvestment shares (staking)Holders, total, fiat, movement
CrowdfundingCrowdfunding sharesHolders (public/private/foreign), total, movement per investment

Business rules / considerations

Attention

  • Fiat conversion uses the USD quotation. The panel multiplies the token balance by the corresponding quotation (amountUsd) obtained from getAllQuotations. If no quotation exists for an asset, the multiplier falls back to 1 — the "total in fiat" for that asset equals the total in units, which may distort the consolidated figure. Always cross-check with current quotations.
  • Balance must never be read as zero by default. The panel shows a spinner while loading and an error page on failure; a missing value is a loading/error state, not an actual zero balance.
  • Crowdfunding only appears with the feature enabled. On tenants without CROWDFUNDING, the tab exists but returns no data.
  • Financial values: all summations are performed with BigNumber (multiplication by quotation and sum of movements) — no intermediate rounding. Check decimal places per asset.
  • Monthly movement considers the monthlyMovement/balanceByMonth returned by the backend; for crowdfunding, only the current month's total is counted.