External Deposits (Journal)
Access prerequisites
- Permission (module):
viewExternalDepositsJournal - License/Feature: None
- Menu container: GENERAL → group Transaction Journals → External Deposits (
/external-deposits-journal)
What it is / when to use
Lists the external contributions entering the platform — deposits made via PIX, USDT, BTC, ETH and other methods — converting fiat/crypto value into internal tokens credited to the user. The operator uses it to verify whether a deposit was paid and finalised, to identify stuck deposits (CREATED/PROCESSING), and to open the detail view to reconcile fiat value against token value.
Prerequisites
- Permission:
viewExternalDepositsJournal(dual permission — CPM enum + dynamic module in the DB). - License/Feature: none.
- Dependencies on other screens: None. Data comes from the ExternalBlockchainProvider/deposits service via FMS.
Step by step
- Go to Transaction Journals → External Deposits.
- The list loads server-side paginated.
- Search by user ID (400 ms debounce).
- Filter by status, deposit method, and payment status (paid/unpaid).
- Click view (eye icon) to open the deposit detail.
Filters and columns
| Filter / Column | What it shows / does | Data source |
|---|---|---|
| User search | Filters deposits by userId. 400 ms debounce. | userId parameter. |
| Status | ALL, CREATED, FINISHED, PROCESSING, CANCELLED. | selectedStatus. |
| Deposit method | ALL, PIX, USDT, BTC, ETH + methods discovered in results (the list grows dynamically). | depositMethod. |
| Payment status | ALL, paid (true), unpaid (false). | wasPaid. |
Date (when) | When the deposit was registered. | when. |
| Id | Deposit identifier. | id. |
User (userId) | Owner of the deposit. | userId. |
Fiat amount (fiatAmount) | Amount in fiat currency contributed. | fiatAmount (BigNumber). |
Token amount (tokensAmount) | Internal tokens credited by the conversion. | tokensAmount (BigNumber). |
Method (depositMethod) | Deposit channel (PIX/crypto). | depositMethod. |
| Status | Deposit state. | status. |
Paid (wasPaid) | Whether payment was confirmed. | wasPaid. |
| Details (action) | Opens the detail modal. | openDetails(deposit). |
Actions and modals
- View (eye icon): opens
ExternalDepositDetailsModalComponentfull-screen with the complete deposit data (read-only).
Business rules / caveats
Attention
wasPaid = falsewith statusFINISHEDis an inconsistency to investigate (deposit completed but without payment confirmation). Use the detail view and cross-reference with the corresponding Synchronisation journal.- For crypto methods (USDT/BTC/ETH), the fiat amount reflects the conversion rate on the date of the contribution; the currency conversion bridge (e.g. USD→base currency) may introduce an expected difference between fiat and tokens.
- Deposits stuck in
CREATED/PROCESSINGfor a long time are generally awaiting on-chain confirmation — check the Synchronisations journal before opening a ticket.
- Financial values:
fiatAmountandtokensAmountare BigNumber — no rounding at the source; the UI formats to 2 decimal places for display only. - Idempotency: deposit accounting is idempotent by
externalId; a reprocess that returnsE00021("already processed") is success (already credited), not an error.