Data Model: FundingSource
Purpose: A FundingSource represents a single, verified bank account that an investor has linked to their Wallet. A wallet can have multiple funding sources attached.
Fields/Attributes
| Name | Type | Description | Validation Rules |
|---|---|---|---|
id | Unique Identifier | The primary internal system ID for this linked account. | • Required • System-generated |
wallet_id | Foreign Key | A reference to the parent Wallet this source is linked to. | • Required |
provider_source_id | Text | The unique ID for this funding source from the third-party provider's system (e.g., Dwolla's funding source ID). | • Required, Unique |
status | Choice | The verification status of the linked bank account. | • Required • Must be one of: UNVERIFIED, VERIFIED, REMOVED |
bank_name | Text | The name of the bank (e.g., "Chase Bank"). | • Required |
account_name | Text | The name on the account (e.g., "John M. Doe"). | • Required |
account_type | Choice | The type of the bank account. | • Optional • Must be one of: CHECKING, SAVINGS |
Key Relationships
Wallet: A
FundingSourcemust belong to exactly one Wallet (a many-to-one relationship). This is the primary link that connects an investor's bank account to their on-platform funds.Profile: Through its connection to the Wallet, a
FundingSourceis indirectly associated with a single Profile.
Auditing & Event History
Every significant action or change made to an Funding Source is recorded as an immutable entry in a system-wide EventLog. This creates a complete and tamper-proof audit trail for compliance and operational tracking.