GuidesAPI ReferenceChangelog
Log In

Deposit Switch

Deposit Switch provides clients with a seamless way to enable direct deposit switching in their application. By connecting to their payroll account via Pinwheel, users can make updates to their direct deposit settings in an easy, automated fashion.

Pinwheel can help increase profitability, engagement, and customer LTV via greater direct deposit penetration.

Use Cases

Direct Deposit Switch

Direct Deposit Switch enables users to update their direct deposit settings directly in your native experience. In just a few clicks, users can change where they receive part or all of their paycheck. To take advantage of this flow, you will use our direct_deposit_switch job.

Automated Switches

Pinwheel's primary method for completing a Direct Deposit Switch is our Automated Direct Deposit Switch. Our direct integrations to thousands of payrolls platforms and employers allow users to switch their direct deposit in real time. The outcome of that switch is then communicated back to you instantly.

There are several types of direct deposit switches that users can make:

  1. Full Switch: Replaces all existing allocation accounts with the account specified in the Link token.
  2. Partial Switch: Allows users to add or switch one account using any of the following allocation types:
    • Fixed amount: allows users to specify a specific dollar amount from each paycheck to be sent to the account specified (e.g. $500).
    • Percentage: allows users to allocate a proportion of each paycheck to be sent to the account specified (e.g. 20%).
    • Remainder: allows users to switch the "main" direct deposit account (also referred to as the "balance" or "remainder" account) to the account specified, leaving existing fixed or percentage deposits unchanged.

The partial switch options can be disabled when creating a Link Token using the optional disable_direct_deposit_splitting parameter. This parameter is specific to direct_deposit_switch job.

Direct Deposit Forms

In some cases, automated direct deposit switches may not be possible due to an error with the connection, or when the user's employer has disabled the action. When this happens, we will prompt the user to fill out a direct deposit form. The user can then take the form and submit it to their employer for processing.

The combination of our automated flow with our direct deposit form ensures that we can help as many users as possible switch their direct deposit, regardless of how they get paid today.


If you would like to retrieve direct deposit forms for a particular user, you may use the following endpoints with the query parameter type=direct_deposit_form (see the full API reference for more details):

Please reach out to [email protected] to get this functionality enabled for your workspace.

Paycheck-linked Loans

Paycheck-linked Loans allows your application to create a fixed amount direct deposit allocation to the account specified in the Link token. With Paycheck-linked Loans, borrowers can opt to have lenders collect payment directly from their paycheck. Here you will leverage our direct_deposit_switch job and pass in the amount parameter when creating a Link Token. When this parameter is passed in, users will not be able to edit the amount and is great for scenarios with a fixed payment amount.

The direct_deposit_switch job will set up a recurring payment to the specified account. In order to stop a payment, have the user go through the Link flow again with amount: 0.



If an allocation already exists for the account specified in the Link token, the allocation will be updated to the new amount. For example if the existing allocation is $500, and you run a direct_deposit_switch job with amount set to $400, the final allocation will be $400, not $900.

Direct Deposit Allocations

Direct Deposit Allocations allows your application to retrieve the existing allocations of a user's payroll account. The direct_deposit_allocations job retrieves direct deposit configuration details including bank routing numbers, masked account numbers, amount, and priority of the existing allocations. See the full API reference here.

This job gives visibility into a user's account, but does not edit the direct deposit settings. Use this to understand how the user is distributing their paycheck and what your share of wallet is.

Please contact [email protected] for access to our Developer Dashboard.