Skip to content

Transaction Journals

The Journals are read and reconciliation screens in the BackOffice. Each journal exposes a ledger for a specific domain — general financial transactions, cross-network bridges, external deposits, token/NFT purchases, on-chain NFT transactions, internal and external blockchain synchronizations, and the OTC desk.

They do not create transactions: they reflect what the domain services (FMS, OrderBook, ExternalBlockchainProvider, BridgeService, PaymentManagementService) have already recorded. The goal is to give the operator full traceability for auditing, support, and investigation — who, how much, when, in which currency, and with what status.

Some screens have targeted operational actions (reprocess a stuck synchronization, force a refresh, cancel or settle an OTC order). These actions are the exception; the group's default behavior is read-only.

Group screens

JournalPurpose
General transactionsConsolidated ledger of users' financial transactions (credits/debits).
Bridge transactionsAsset bridges between networks (source → destination), with input/output amounts.
External depositsContributions via PIX/crypto that convert fiat/crypto into internal tokens.
Token and NFT purchasesBuy/sell trail for tokenized assets (buy track).
NFT Blockchain transactionsOn-chain NFT events (mint, transfer, burn) with seller/buyer.
Internal SynchronizationsSynchronization of internal financial transactions with the blockchain.
External SynchronizationsOn-chain withdrawals (external fund transfers) and their synchronization status.
OTC JournalOTC desk (USDT↔BRL): orders, spread, status, and administrative actions.
OTC DashboardExecutive view (charts) of OTC volume, spread, and settlements.

Common prerequisites

Group access

  • Menu container: GENERAL → group Transaction Journals.
  • Permission (module): each journal requires its own view* module (see each page). The group only appears in the menu if the operator has at least one of the sub-item modules.
  • License/Feature: no journal requires a license feature — visibility is purely permission-based.

Remember: the permission in the BackOffice is dual — the static enum in CPM (validated on the backend) and the dynamic module registered in the database (controls the *ngIf in the menu). Both must be present for the journal to appear and respond.