Dwolla Developers Logo
  • Getting Started
    Testing in the Sandbox
    Generate an OAuth Access Token
    Send Money to Users
    Receive Money from Users
    Transfer Money Between Users
    Transfer Money Me-to-Me
    Building With Drop-in Components
  • Customers
    Create a Business Verified Customer
    Create a Personal Verified Customer
  • Funding Sources
    Add a Debit Card Using Dwolla-cards.js
    Add a Bank Using Dwolla.js
    Add a Bank Using Dwolla.js + IAV
    OverviewStep 1: Create a container for IAVStep 2: Create an IAV tokenStep 3: Configure and call functionStep 4: Handle JavaScript callback
    Verify Bank with Micro-deposits
    Add Bank via Dwolla + Plaid Integration
  • Webhooks
    Create a Webhook Subscription
CommunityOpen in new tabChangelog
Get API Keys
CommunityOpen in new tabChangelog
Get API Keys

Add a Bank Using Dwolla.js + IAV #

For Dwolla API customers, dwolla.js has the added function of facilitating Instant Account Verification (IAV) on their customer's bank or credit union account. This resource guide will walk you through the process of generating an IAV token, and rendering the IAV flow to attach a verified bank funding-source to a Customer account. By calling a separate function dwolla.iav.start(), your application can render the IAV flow within a specified container. dwolla.iav.start() allows for customization through configurable options such as:

  • stylesheets - a list of CSS stylesheets for styling the IAV flow
  • microDeposits - presents a selection screen for the user to choose the micro-deposit method of bank verification throughout the IAV flow
  • fallbackToMicroDeposits - presents a selection screen for the user to fallback to selecting the micro-deposit method of bank verification within the IAV flow
  • backButton - displays a back button throughout the IAV flow
  • subscriber - a function that can be used by an application to subscribe to state changes throughout the IAV flow


ParameterTypeValueiav-tokenstringA single use IAV token generated on your server.optionsobjectAn object containing configurable options. Contains keys: container, stylesheets, microDeposits, fallbackToMicroDeposits, backButton, and subscriber. See example below.
container represents a string value container element where IAV will render.
stylesheets represents an array list of stylesheets to load IAV styles.
microDeposits represents a boolean true or false value which determines if the micro-deposit method of bank verification is presented as an option throughout the IAV flow.
fallbackToMicroDeposits represents a boolean true or false value which determines if a fallback selection screen appears for choosing an alternative bank verification method.
backButton represents a boolean true or false value which determines if a back button is displayed throughout the IAV flow.
subscriber is a function that can be used to subscribe to state changes throughout the IAV flow. This function will be called with an object containing a currentPage and an optional error attribute.callbackfunctionA callback function that handles the response from Dwolla.


    container: "iavContainer",
    stylesheets: [
    microDeposits: false,
    fallbackToMicroDeposits: true,
    backButton: true,
    subscriber: ({ currentPage, error }) => {
      console.log("currentPage:", currentPage, "error:", JSON.stringify(error));
  function (err, res) {
      "Error: " + JSON.stringify(err) + " -- Response: " + JSON.stringify(res)

Getting Started: Initial configuration #

Include dwolla.js

Begin the client-side implementation by including dwolla.js in the HEAD of your HTML page. You can include either the development version(<script src="https://cdn.dwolla.com/1/dwolla.js"></script>) or the minified version (<script src="https://cdn.dwolla.com/1/dwolla.min.js"></script>) of dwolla.js.

  <script src="https://cdn.dwolla.com/1/dwolla.js"></script>

Test in the Sandbox for free today.

Use sandbox environment to test API requests.

Get API Keys
2021 All Rights Reserved


  • About
  • Blog
  • Pricing
  • Contact Sales
  • Terms of Service
  • Privacy Policy
Financial institutions play an important role in our network.

Dwolla, Inc. is the operator of a software platform that communicates user instructions for funds transfers to our financial institution partners.

Dwolla is an agent of Veridian Credit Union. All ACH and Wire transfers are performed by Veridian Credit Union. Your Dwolla Balance, if any, is held in one or more pooled holding accounts held by Veridian Credit Union. These funds may not be eligible for share insurance by the National Credit Union Share Insurance Fund.

Sponsorship and Settlement of Push-to-Debit payment services provided by MetaBank®, N.A.
Push-to-Debit payments are typically available within 30 minutes.

Real-Time Payments are performed by Cross River Bank, which holds funds on behalf of the Receiver of such transactions in one or more pooled custodial accounts. These funds are not subject to FDIC pass-through deposit insurance.