Skip to content

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

NameTypeDescriptionValidation Rules
idUnique IdentifierThe primary internal system ID for this linked account.• Required • System-generated
wallet_idForeign KeyA reference to the parent Wallet this source is linked to.• Required
provider_source_idTextThe unique ID for this funding source from the third-party provider's system (e.g., Dwolla's funding source ID).• Required, Unique
statusChoiceThe verification status of the linked bank account.• Required • Must be one of: UNVERIFIED, VERIFIED, REMOVED
bank_nameTextThe name of the bank (e.g., "Chase Bank").• Required
account_nameTextThe name on the account (e.g., "John M. Doe").• Required
account_typeChoiceThe type of the bank account.• Optional • Must be one of: CHECKING, SAVINGS

Key Relationships

  • Wallet: A FundingSource must 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 FundingSource is 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.