Module: Wallets & Transactions
This module is the core off-chain financial engine of the platform, responsible for managing all fiat currency movements. It provides a secure and auditable system for investors to deposit funds, invest in RWA offerings, and receive distributions. It is composed of three interconnected models:
Wallets: The central electronic wallet for each investor, holding their fiat balance.FundingSources: The investor's verified external bank accounts, linked to their Wallet for deposits and withdrawals.Transactions: The immutable ledger that records every single financial event, such as a deposit, an investment, or a dividend payment.
How they connect: An investor's profile has a wallet. That Wallet is linked to one or more FundingSources. All capital movements are recorded as Transactions, which debit or credit the Wallet balance.
The Wallet List View
The list view provides a platform-wide overview of all investor wallets and their balances.
| Column Title | Description |
|---|---|
| ID | The unique identifier for the wallet. |
| Owner | The name and type of the investor profile that owns this wallet. |
| Virtual balance | A projected balance that may include pending transactions. |
| Balance | The actual, settled cash balance currently available in the wallet. |
| Inc balance | The total lifetime incoming funds (deposits, distributions). |
| Out balance | The total lifetime outgoing funds (withdrawals, investments). |
| Status | The current status of the wallet (e.g., VERIFIED). |
| Created at | The date the wallet was created. |
The Wallet Detail View
This view is the command center for a single investor's wallet.
The header displays the wallet's associated Profile and profile's Type, Status, and a summary of its Balance, Inc balance, and Out balance.
Tab: General
This tab contains the core identifying information and balance summary for the wallet.
| Title | Description |
|---|---|
| Balance | The current, settled cash balance available in the wallet. |
| Inc balance | A running total of all incoming funds (deposits, distributions) ever received by this wallet. |
| Out balance | A running total of all outgoing funds (withdrawals, investments) ever sent from this wallet. |
| Entity id | The unique identifier for customer on an electronic wallet service side. |
| Entity balance id | The unique identifier for wallet funding balance on an electronic wallet service side. |
| Created at | A read-only timestamp indicating when the wallet record was first created. |
| Updated at | A read-only timestamp indicating when the wallet's details were last modified. |
Tab: Funding Sources
Lists all external bank accounts (FundingSources) that the investor has linked to this wallet for making deposits and receiving withdrawals.
Tab: Transactions
Shows a filtered view of the master transaction log, displaying only the transactions related to this specific wallet. This provides a complete statement for the investor.
Tab: History
The History tab provides a detailed and immutable audit trail of every change made to the Wallet record itself. Its primary function is for compliance and internal auditing, answering the question: "Who changed what data on this wallet, and when?"
This tab typically displays a list of entries, where each entry represents a saved change to the wallet. Each entry would show:
Date/Time: The exact timestamp of the change.
User: The administrator who made the change or the investor.
Action: The type of change.
Fields Changed: A summary of which specific fields were modified and their new values.
Tab: Logs
The Logs tab is a more technical view intended for administrators and developers. It displays low-level system and application logs related to this specific wallet. Unlike History, which tracks user-driven data changes, Logs tracks automated processes, API interactions, and system events.
This would be a feed of technical log entries, typically including:
Timestamp: The precise time the event occurred.
Service: The part of the system that generated the log.
Message: The detailed log message itself.
The Transactions List View
This screen shows every single financial movement across all wallets, providing a master audit trail.
| Column Title | Description |
|---|---|
| ID | The unique identifier for the transaction. |
| Source wallet | The wallet from which funds were debited. |
| Dest wallet | The wallet to which funds were credited. |
| Amount | The value of the transaction. |
| Type | The nature of the transaction (e.g., deposit, withdrawal, investment, distribution). |
| Status | The current status of the transaction (PENDING, PROCESSED, FAILED, CANCELLED). |
| Created at | The timestamp when the transaction was initiated. |
The Transaction Detail View
This view provides all details for a single financial transaction. It is primarily read-only to ensure the integrity of the ledger.
Summary block
The header shows a summary including the transaction Type, Amount, and Status. The Sync status button can be used to manually refresh the transaction's state with a payment processor.
Tab: General
This tab provides all the details for a single, immutable transaction.
| Title | Description |
|---|---|
| Status | The current processing status of the transaction (e.g., pending, processed, failed). |
| Entity id | The unique identifier for this transaction on the electronic wallet provider side. |
| Amount | The exact monetary value of the transaction. |
| Type | The nature of the transaction (e.g., deposit, withdrawal, investment). |
| Source wallet | The unique ID of the wallet from which the funds were debited. |
| Dest wallet | The unique ID of the wallet to which the funds were credited. |
| Source funding | A link to the external FundingSource (bank account) used, if this was a deposit. |
| Dest funding | A link to the external FundingSource (bank account) used, if this was a withdrawal. |
| Created at | A read-only timestamp indicating when the transaction was initiated. |
| Updated at | A read-only timestamp indicating when the transaction's status was last updated. |
Tab: History
The History tab provides a detailed and immutable audit trail of every change made to the Wallet record itself. Its primary function is for compliance and internal auditing, answering the question: "Who changed what data on this wallet, and when?"
This tab typically displays a list of entries, where each entry represents a saved change to the wallet. Each entry would show:
Date/Time: The exact timestamp of the change.
User: The administrator who made the change or the investor.
Action: The type of change.
Fields Changed: A summary of which specific fields were modified and their new values.
Tab: Logs
The Logs tab is a more technical view intended for administrators and developers. It displays low-level system and application logs related to this specific transaction. Unlike History, which tracks user-driven data changes, Logs tracks automated processes, API interactions, and system events.
This would be a feed of technical log entries, typically including:
Timestamp: The precise time the event occurred.
Service: The part of the system that generated the log.
Message: The detailed log message itself.
The Funding Sources List View
This screen lists all external bank accounts connected to the platform by all investors.
| Column Title | Description |
|---|---|
| ID | The unique identifier for the funding source record. |
| Bank name | The name of the financial institution. |
| Type | The type of account (e.g., checking). |
| Wallet | A link to the internal wallet this funding source is associated with. |
| Status | The verification status of the bank account (e.g., VERIFIED). |
| Created at | The date the funding source was added. |
The Funding Source Detail View
This view shows the specific details of a single linked bank account.
Tab: General
This tab shows the details of the linked bank account.
| Title | Description |
|---|---|
| Wallet | A link to the internal Wallet record that this bank account is associated with. |
| Entity id | The unique identifier for this funding source, often from a third-party payment provider (e.g., Plaid). |
| Status | The verification status of the bank account (e.g., verified). |
| Type | The type of account (e.g., bank). |
| Bank name | The name of the financial institution (e.g., SANDBOX TEST BANK). |
| Name | The name given to the account by the user (e.g., Plaid Checking). |
| Last4 | The last four digits of the bank account number. |
| Created at | A read-only timestamp indicating when the funding source was first linked. |
| Updated at | A read-only timestamp indicating when the funding source was last updated. |
Tab: History
The History tab provides a detailed and immutable audit trail of every change made to the Wallet record itself. Its primary function is for compliance and internal auditing, answering the question: "Who changed what data on this wallet, and when?"
This tab typically displays a list of entries, where each entry represents a saved change to the wallet. Each entry would show:
Date/Time: The exact timestamp of the change.
User: The administrator who made the change or the investor.
Action: The type of change.
Fields Changed: A summary of which specific fields were modified and their new values.
Tab: Logs
The Logs tab is a more technical view intended for administrators and developers. It displays low-level system and application logs related to this specific funding source. Unlike History, which tracks user-driven data changes, Logs tracks automated processes, API interactions, and system events.
This would be a feed of technical log entries, typically including:
Timestamp: The precise time the event occurred.
Service: The part of the system that generated the log.
Message: The detailed log message itself.