> ## Documentation Index
> Fetch the complete documentation index at: https://developers.dwolla.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Create, update, remove or retrieve a funding source with the API. Use Finicity, MX, or Flinks via Secure Exchange, Plaid, or micro deposits to verify the funding source.

# Funding Sources

The Funding Sources resource represents payment accounts that can be used to send and/or receive funds. Funding sources are relational to either a [Dwolla Main Account](/docs/api-reference/accounts/create-a-funding-source-for-an-account) or [Customer](/docs/api-reference/funding-sources/create-customer-funding-source) and can be used to reference details on a payment account.

### Funding source types

The three funding source types available with a Dwolla integration include a `bank`, and the Dwolla `balance` account. Type `bank` represents any bank account attached as a funding source to Account and Customer resources. Type `balance` represents the Dwolla Balance made available to Account and Verified Customer resources.

##### Bank funding source

Funding sources of type `bank` include an additional attribute, `bankAccountType`, denoting the type of the bank account being attached. The bank account types currently supported by Dwolla include `checking`, `savings`, `general-ledger` and `loan`.

* `checking`, `savings` - Checking and savings accounts can be attached to any Customer type. These account types are enabled for all Accounts and Customers, by default.

* `general-ledger` - General ledger accounts can only be attached to exempt Business Verified Customers. **Note**: Enabling this account type requires additional Dwolla approvals before getting started. Please contact [Sales](https://www.dwolla.com/contact?b=apidocs) or your account manager for more information on enabling this account type.

* `loan` - Loan accounts can only be attached to Verified Customers. These funding-sources can only be credited, meaning funds can only be sent to these accounts. **Note**: Enabling this account type requires additional Dwolla approvals before getting started. Please contact [Sales](https://www.dwolla.com/contact?b=apidocs) or your account manager for more information on enabling this account type.

##### Balance funding source

The [Dwolla Balance](/docs/balance-funding-source) can be utilized as a digital "wallet", storing USD funds for the Customer or Account with Dwolla's financial institution partners. Additionally, the Dwolla Balance can be pre-loaded with funds for quicker outgoing ACH transfers to destination funding sources. To get a more in-depth overview of the Dwolla Balance, including functionality and other benefits, check out our [developer resource article](/docs/balance-funding-source) or view our [webinar](https://www.dwolla.com/resources/balance-webinar/).

### Funding source links

| Link                               | Description                                                                                                                                                                                                                                                             |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| self                               | URL of the funding source resource.                                                                                                                                                                                                                                     |
| customer                           | GET this link to [retrieve details](/docs/api-reference/customers/retrieve-a-customer) of the Customer.                                                                                                                                                                 |
| remove                             | POST to this link to [remove the funding source](/docs/api-reference/funding-sources/update-or-remove-a-funding-source) from the Customer.                                                                                                                              |
| balance                            | (Verified Customer only) GET this link to [retrieve the amount available in the balance](/docs/api-reference/funding-sources/retrieve-funding-source-balance) of the Customer's Balance funding source.                                                                 |
| transfer-from-balance              | (Verified Customer only) if this link exists, the Customer can transfer funds from their balance.                                                                                                                                                                       |
| transfer-to-balance                | (Verified Customer only) if this link exists, funds can be transferred to the Customer's balance.                                                                                                                                                                       |
| transfer-send                      | If this link exists, the Customer can send funds to another Customer.                                                                                                                                                                                                   |
| transfer-receive                   | The Customer can receive funds from another Customer.                                                                                                                                                                                                                   |
| initiate-micro-deposits            | POST to this link to [initiate micro-deposits](/docs/api-reference/funding-sources/initiate-or-verify-micro-deposits) on an unverified funding source.                                                                                                                  |
| verify-micro-deposits              | Micro-deposits have completed to this funding source and are eligible for verification. POST to this link with the [verify micro-deposit amounts](/docs/api-reference/funding-sources/initiate-or-verify-micro-deposits) and complete bank funding source verification. |
| failed-verification-micro-deposits | Micro-deposits attempts have failed due to too many failed attempts. [Remove the bank and re-add to attempt verification again.](/docs/micro-deposit-verification)                                                                                                      |

### Funding source resource

| Parameter         | Description                                                                                                                                                                                                                                                                                                                                                                                         |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id                | The funding source unique identifier.                                                                                                                                                                                                                                                                                                                                                               |
| status            | Possible values are `unverified` or `verified`. Determines if the funding source has completed verification.                                                                                                                                                                                                                                                                                        |
| type              | Type of funding source. Possible values are `bank` or `balance`.                                                                                                                                                                                                                                                                                                                                    |
| bankAccountType   | An attribute for `bank` funding sources that determines the type of account. Possible values are `checking`, `savings`, `general-ledger` or `loan`.                                                                                                                                                                                                                                                 |
| name              | Arbitrary nickname for the funding source.                                                                                                                                                                                                                                                                                                                                                          |
| created           | ISO-8601 timestamp for when the funding source was created.                                                                                                                                                                                                                                                                                                                                         |
| balance           | An optional object that includes `value` and `currency` parameters. `value` is a string value for the amount available and `currency` is a string value currency code. Only returned for a Dwolla API Customer account balance.                                                                                                                                                                     |
| removed           | Determines if the funding source has been [removed](/docs/api-reference/funding-sources/update-or-remove-a-funding-source). A boolean `true` if the funding source was removed or `false` if the funding source is not removed.                                                                                                                                                                     |
| channels          | List of processing channels. ACH is the default processing channel for bank transfers. Possible values are `ach`, `real-time-payments` or `wire`.                                                                                                                                                                                                                                                   |
| bankName          | The financial institution name. This value is generated from its routing number by Dwolla when a funding source is created; it cannot be specified manually.                                                                                                                                                                                                                                        |
| iavAccountHolders | An optional object that includes optional `selected` and `other` parameters. `selected`, a string with the account holder name(s) on file with the financial institution for the IAV selected account. `other`, a list of strings with name(s) of other accounts on file. Only returned for a Customer that added a bank using Dwolla IAV, and if names are returned for the selected bank account. |
| fingerprint       | Fingerprint is an optional unique identifying string value returned for funding sources of type `bank`. This attribute can be used to check across all Dwolla API Customers if two bank accounts share the same account number and routing number. Removing a funding source does not remove the `fingerprint`.                                                                                     |

#### Funding source resource example

```bash theme={"dark"}
{
    "_links": {
        "self": {
            "href": "https://api-sandbox.dwolla.com/funding-sources/fc84223a-609f-42c9-866e-2c98f17ab4fb",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "funding-source"
        },
        "customer": {
            "href": "https://api-sandbox.dwolla.com/customers/241ec287-8d7a-4b69-911e-ffbea98d75ce",
            "type": "application/vnd.dwolla.v1.hal+json",
            "resource-type": "customer"
        }
    },
    "id": "fc84223a-609f-42c9-866e-2c98f17ab4fb",
    "status": "verified",
    "type": "bank",
    "bankAccountType": "checking",
    "name": "Your Account #1 - CHECKING",
    "created": "2017-08-16T20:06:34.000Z",
    "removed": false,
    "channels": [
        "ach",
        "real-time-payments"
    ],
    "bankName": "SANDBOX TEST BANK",
    "iavAccountHolders": {
        "selected": "account holder",
        "other": [
          "Jane Doe",
          "GeneriCompany LLC"
        ]
    },
    "fingerprint": "4cf31392f678cb26c62b75096e1a09d4465a801798b3d5c3729de44a4f54c794"
}
```
