Skip to main content
Funding moves money between a user’s bank account and their wallet. Deposits pull money in; withdrawals send it back out. Transfers of any kind should carry an Idempotency-Key header so a retried request never creates a duplicate.

Methods

MethodDepositWithdrawalNotes
achAutomated pull/push against a linked bank account. Requires a funding_source_id.
manual_bank_transferUser transfers manually using bank instructions Bluum returns.
wireDomestic wire.
international_wireCross-border wire.
cardCard-funded deposit.

Funding sources

A funding source (prefixed fs_) is a linked bank account. ACH deposits and all withdrawals reference one via funding_source_id. Sources are created two ways:
  • Plaid — the user links a bank through Plaid Link. Your backend creates a link token, the frontend runs Plaid Link, and you exchange the returned public_token for a funding source.
  • Manual — you submit bank details (bank_name, account_holder_name, account_number, and so on) directly.
The connect call is discriminated on type (plaid or manual) and returns the fs_ id to store.

Transfer lifecycle

Deposits and withdrawals share one external status vocabulary:
StatusMeaning
pendingTransfer created, not yet initiated
processingIn flight with the bank
completedFunds settled
cancelledCanceled before settlement
failedRejected (insufficient funds, bank error)
A transfer in pending can be canceled.
Transfer lifecycle
The end-to-end Plaid link and deposit flow is in Fund a wallet; disbursing funds is in Withdraw funds. Request and response schemas live in the API reference.