Withdrawing Funds
Goal: To allow an Investor to transfer cash from their platform Wallet back to a linked external bank account. This is a wallet withdrawal, not redemption of a fund holding.
Actors: Investor
Steps
Initiation: The Investor navigates to the "Wallet" section of the
Investor Dashboardand chooses the "Withdraw Funds" option.Destination & Amount: The Investor selects one of their linked
FundingSourcesas the destination and specifies the amount they wish to withdraw. TheInvestor Dashboardprevents entering an amount greater than the wallet API's withdrawal availability (balance - out_balance).Confirmation: The Investor confirms the transaction details.
Transfer Initiation: The
Integrated Wallet Solutioncreates awithdrawalTransactionintent withcreatedstatus and calls the payment provider's API (Dwolla). After the provider accepts the transfer, the service records the provider response and increases the persistedout_balancereservation. It does not debitbalanceat initiation.Notification: The
notification-apisends a confirmation to the Investor that the withdrawal has been initiated.Monitoring: The
Integrated Wallet Solutionmonitors for webhooks from the payment provider.Settlement: Upon receiving a success webhook, the
Integrated Wallet Solutionupdates theTransactionstatus toprocessed, decreasesout_balance, and debitsbalanceby the withdrawal amount.Failure or Cancellation: If the provider reports a terminal failure or confirms cancellation, the
Integrated Wallet Solutionrecordsfailedorcancelledand releases theout_balancereservation. Thebalanceremains unchanged for either outcome.Notification: The
Notification Serviceinforms the Investor of the processed, failed, or cancelled outcome.Outcome: A
processedwithdrawal transfers funds from the investor's platform wallet to the selected external bank account.