# Bank Payouts

Send funds to your recipient's bank account using Payouts.

If you have any questions about sending payouts, reach out to your Finix Point of Contact or [Finix Support](mailto:support@finix.com).

## Bank Payout speeds

Finix supports two types of bank payout options:

- **Next Day ACH:** Funds sent via Next Day ACH will be available in a customer's bank account by 9 AM in their local bank time.
- **Same Day ACH:** Funds sent via Same Day ACH are available Same Day if sent by the cutoff times below.


### Cutoff times

The table below outlines cutoff times for Next Day ACH and Same Day ACH.

| Bank Payout | Speed Finix Cutoff time | Funds in Recipient's bank account |
|  --- | --- | --- |
| Next Day ACH | 9:30 PM ET | By 9 AM the next business day Local Time. (Can vary by bank) |
| Same Day ACH | 11:30 AM ET | 5 PM Local Time of bank |
| Same Day ACH | 2:30 PM ET | End of processing day |


## Step 1: Create a Recipient Identity

The first step for making a payout is creating a [`RECIPIENT` Identity](/api/identities/createidentity) to represent whom you'll send funds to. The Identity resource helps manage bank accounts, cards, payout history, and the details of your customers. You can create either `PERSONAL` or `BUSINESS` Recipients.

### Required data

| Required   | Optional   | Invalid   |
|  --- | --- | --- |
|   |   |   |


| Field  | `type: PERSONAL`  | `type: BUSINESS`  |
|  --- | --- | --- |
| Type  `type` |   |   |
| First Name  `first_name` |   |   |
| Last Name  `last_name` |   |   |
| Personal Address  `personal_address` |   |   |
| Business Name  `business_name` |   |   |
| Doing Business As  `doing_business_as` |   |   |
| Business Address  `business_address` |   |   |
| Business Phone  `business_phone` |   |   |
| Personal Email  `email` |   |   |
| Personal Phone  `phone` |   |   |


### API request

Personal Recipient
Recipient (Personal)

```json Recipient (Personal)
{
  "id": "IDwg9vTS2bNi12SxhScaUTui",
  "created_at": "2026-09-25T20:05:11.66Z",
  "updated_at": "2026-09-25T20:05:11.66Z",
  "application": "APc9vhYcPsRuTSpKD9KpMtPe",
  "entity": {
    "ach_max_transaction_amount": 0,
    "amex_mid": null,
    "annual_card_volume": 0,
    "business_address": null,
    "business_name": null,
    "business_phone": null,
    "business_tax_id_fingerprint": null,
    "business_tax_id_provided": false,
    "business_type": null,
    "default_statement_descriptor": null,
    "discover_mid": null,
    "dob": null,
    "doing_business_as": null,
    "email": null,
    "first_name": "John",
    "has_accepted_credit_cards_previously": false,
    "incorporation_date": null,
    "last_name": "Jeremy",
    "max_transaction_amount": 0,
    "mcc": null,
    "ownership_type": null,
    "personal_address": {
      "line1": "789 Oak Drive",
      "line2": null,
      "city": "Springfield",
      "region": "IL",
      "postal_code": "62704",
      "country": "USA"
    },
    "phone": null,
    "principal_percentage_ownership": null,
    "short_business_name": null,
    "tax_authority": null,
    "tax_id_fingerprint": null,
    "tax_id_provided": false,
    "title": null,
    "url": null
  },
  "identity_roles": [ // [!code highlight]
    "RECIPIENT"
  ],
  "tags": {},
  "type": "PERSONAL", // [!code highlight]
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui/verifications"
    },
    "merchants": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui/merchants"
    },
    "settlements": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui/settlements"
    },
    "authorizations": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui/authorizations"
    },
    "transfers": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui/transfers"
    },
    "payment_instruments": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui/payment_instruments"
    },
    "associated_identities": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui/associated_identities"
    },
    "disputes": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDwg9vTS2bNi12SxhScaUTui/disputes"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    }
  }
}
```

Business Recipient
Recipient (Business)

```json Recipient (Business)
{
  "id": "IDo2fLkwALWQoMbFntPB2iMi",
  "created_at": "2026-09-25T20:05:11.22Z",
  "updated_at": "2026-09-25T20:05:11.22Z",
  "application": "APc9vhYcPsRuTSpKD9KpMtPe",
  "entity": {
    "ach_max_transaction_amount": 0,
    "amex_mid": null,
    "annual_card_volume": 0,
    "business_address": {
      "line1": "7890 Oak Drive",
      "line2": "Suite 101",
      "city": "Smalltown",
      "region": "TX",
      "postal_code": "75432",
      "country": "USA"
    },
    "business_name": "Blue Horizon Technologies",
    "business_phone": null,
    "business_tax_id_fingerprint": null,
    "business_tax_id_provided": false,
    "business_type": null,
    "default_statement_descriptor": null,
    "discover_mid": null,
    "dob": null,
    "doing_business_as": "B.H. Technologies",
    "email": null,
    "first_name": "John",
    "has_accepted_credit_cards_previously": false,
    "incorporation_date": null,
    "last_name": "Jeremy",
    "max_transaction_amount": 0,
    "mcc": null,
    "ownership_type": null,
    "personal_address": {
      "line1": "741 Douglass St",
      "line2": "Apartment 7",
      "city": "San Mateo",
      "region": "CA",
      "postal_code": "94114",
      "country": "USA"
    },
    "phone": null,
    "principal_percentage_ownership": null,
    "short_business_name": null,
    "tax_authority": null,
    "tax_id_fingerprint": null,
    "tax_id_provided": false,
    "title": null,
    "url": null
  },
  "identity_roles": [ // [!code highlight]
    "RECIPIENT"
  ],
  "tags": {},
  "type": "BUSINESS", // [!code highlight]
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi/verifications"
    },
    "merchants": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi/merchants"
    },
    "settlements": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi/settlements"
    },
    "authorizations": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi/authorizations"
    },
    "transfers": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi/transfers"
    },
    "payment_instruments": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi/payment_instruments"
    },
    "associated_identities": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi/associated_identities"
    },
    "disputes": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDo2fLkwALWQoMbFntPB2iMi/disputes"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    }
  }
}
```

## Step 2: Create a Payment Instrument for the Recipient

PCI Level 1 Compliance
Creating `Payment Instruments` and passing payment details (account number, card number, etc.) directly via the API should only be done for testing purposes and by PCI Level 1 compliant entities. If you aren't a Level 1 PCI-compliant entity, you must use our [Tokenization Forms](/guides/online-payments/payment-tokenization/tokenization-forms), [Mobile Tokenization](/guides/online-payments/payment-tokenization), or [Plaid](/guides/online-payments/bank-payments/plaid-integration) to accept payment details and comply with PCI regulations.

Now that we've created an `Identity` for our recipient, we'll need to create a `Payment Instrument` using the recipient's bank account. A `Payment Instrument` represents the recipient's payment method that will receive funds. When creating `Payment Instruments` for Payouts, `attempt_bank_account_validation_check` must be set to `true`.

If you have any questions about creating `Payment Instruments`, reach out to your Finix Point of Contact or [Finix Support](mailto:support@finix.com).

Bank Account
Payment Instrument - Bank Account

```json Payment Instrument - Bank Account
{
  "id": "PI68E8eKh1v4P2eY2PoLrzzT",
  "created_at": "2026-09-25T20:05:25.37Z",
  "updated_at": "2026-09-25T20:05:25.37Z",
  "application": "APc9vhYcPsRuTSpKD9KpMtPe",
  "created_via": "API",
  "currency": "USD",
  "disabled_code": null,
  "disabled_message": null,
  "enabled": true,
  "fingerprint": "FPRxpMNPZbZqVQfcHzRUJnzkR",
  "identity": "IDmj1yA97RS4rMjiQgvK3Vio",
  "instrument_type": "BANK_ACCOUNT", // [!code highlight]
  "microdeposit": "microdeposit_g92m9YHXhhndZcmFAUW7Ki",
  "microdeposit_verification_url": "https://link.sandbox-payment-form.com/DKDrmq",
  "account_type": "BUSINESS_CHECKING",
  "bank_account_validation_check": "NOT_ATTEMPTED",
  "bank_code": "122105278",
  "country": "USA",
  "institution_number": null,
  "masked_account_number": "XXXXXX0019",
  "name": "Smith & Associates Consulting",
  "transit_number": null,
  "tags": {},
  "third_party": null,
  "third_party_token": null,
  "type": "BANK_ACCOUNT",
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI68E8eKh1v4P2eY2PoLrzzT"
    },
    "authorizations": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI68E8eKh1v4P2eY2PoLrzzT/authorizations"
    },
    "transfers": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI68E8eKh1v4P2eY2PoLrzzT/transfers"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI68E8eKh1v4P2eY2PoLrzzT/verifications"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    },
    "identity": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDmj1yA97RS4rMjiQgvK3Vio"
    }
  }
}
```

Plaid Bank Account
Payment Instrument - Plaid Bank Account

```json Payment Instrument - Plaid Bank Account
{
  "id": "PI9RvCXMLzSHkQpUWxX7dgY4",
  "created_at": "2026-09-25T20:36:43.89Z",
  "updated_at": "2026-09-25T20:36:43.89Z",
  "application": "APc9vhYcPsRuTSpKD9KpMtPe",
  "created_via": "API",
  "currency": "USD",
  "disabled_code": null,
  "disabled_message": null,
  "enabled": true,
  "fingerprint": "FPRxAutj19xH1AH6ykGx2dwa7",
  "identity": "ID3YZagNmW2bXhJkA6RdUkdS",
  "instrument_type": "BANK_ACCOUNT",
  "account_type": "CHECKING",
  "bank_account_validation_check": "VALID",
  "bank_code": "011401533",
  "country": "USA",
  "institution_number": null,
  "masked_account_number": "XXXXXXXXXXX0000",
  "name": "John Smith",
  "transit_number": null,
  "tags": {},
  "third_party": "PLAID", // [!code highlight]
  "third_party_token": "processor-sandbox-ab3cff03-8948-1291-f2fe-05634be2c38c",
  "type": "BANK_ACCOUNT",
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI9RvCXMLzSHkQpUWxX7dgY4"
    },
    "authorizations": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI9RvCXMLzSHkQpUWxX7dgY4/authorizations"
    },
    "transfers": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI9RvCXMLzSHkQpUWxX7dgY4/transfers"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/payment_instruments/PI9RvCXMLzSHkQpUWxX7dgY4/verifications"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    },
    "identity": {
      "href": "https://finix.sandbox-payments-api.com/identities/ID3YZagNmW2bXhJkA6RdUkdS"
    }
  }
}
```

## Step 3: Verify and onboard the Recipient

Now that we've associated a `Payment Instrument` with our recipient's `Identity` we're ready to provision a recipient account. This is the last step before you can begin paying out a recipient `Identity`. Luckily you've already done most of the heavy lifting - make one final POST request, and a `Merchant` resource will get returned.

Example
API Definition
Example
Merchant

```json Merchant
{
  "id": "MU3CTeJT1MMhwaGZabCo2xwK",
  "created_at": "2026-09-30T00:02:16.89Z",
  "updated_at": "2026-09-30T00:02:16.89Z",
  "application": "APc9vhYcPsRuTSpKD9KpMtPe",
  "card_cvv_required": false,
  "card_expiration_date_required": true,
  "card_network_details": null,
  "convenience_charges_enabled": false,
  "country": "USA",
  "creating_transfer_from_report_enabled": false,
  "currencies": [
    "USD"
  ],
  "default_partial_authorization_enabled": false,
  "disbursements_ach_pull_enabled": true,
  "disbursements_ach_push_enabled": true,
  "disbursements_card_pull_enabled": true,
  "disbursements_card_push_enabled": true,
  "disbursements_same_day_ach_pull_enabled": false,
  "disbursements_same_day_ach_push_enabled": false,
  "fee_ready_to_settle_upon": "PROCESSOR_WINDOW",
  "first_approved_at": null,
  "gateway": null,
  "gross_settlement_enabled": false,
  "identity": "IDfC3Z9xVrniLsE6Hk4Zqhjv",
  "instant_payouts_card_push_enabled": false,
  "is_terminated": false,
  "level_two_level_three_data_enabled": false,
  "loan_repayment": null,
  "mcc": "4900",
  "merchant_name": "Finix Flowers",
  "merchant_profile": "MPh7HkSopbp5wFnTgWNQujDx",
  "microdeposit_verification_required_buyer": true,
  "microdeposit_verification_required_sender": false,
  "mid": null,
  "onboarding_state": "PROVISIONING",
  "pending_refunds_strategy": "SAME_DAY_ADJUSTMENT",
  "processing_enabled": false,
  "processor": "DUMMY_V1",
  "processor_details": {},
  "ready_to_settle_upon": "PROCESSOR_WINDOW",
  "ready_to_settle_upon_delay_alignment": "NONE",
  "refunds_disabled": false,
  "rent_surcharges_enabled": false,
  "settlement_enabled": false,
  "settlement_funding_identifier": "UNSET",
  "settlement_queue_mode": "UNSET",
  "surcharges_enabled": false,
  "tags": {},
  "termination_details": null,
  "unreferenced_refund_card_present_enabled": true,
  "unreferenced_refund_manual_entry_enabled": false,
  "verification": "VIw6VyyzVBjdoabt98e4Nrj2",
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/merchants/MU3CTeJT1MMhwaGZabCo2xwK"
    },
    "identity": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDfC3Z9xVrniLsE6Hk4Zqhjv"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/merchants/MU3CTeJT1MMhwaGZabCo2xwK/verifications"
    },
    "merchant_profile": {
      "href": "https://finix.sandbox-payments-api.com/merchant_profiles/MPh7HkSopbp5wFnTgWNQujDx"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    },
    "verification": {
      "href": "https://finix.sandbox-payments-api.com/verifications/VIw6VyyzVBjdoabt98e4Nrj2"
    }
  }
}
```

API Definition
## Step 4: Create a bank Payout

Create a `Transfer` to send funds to the bank account. A `Transfer` represents any flow of funds to or from a `Payment Instrument`.

To create a `Transfer`:

1. Choose the [bank payout speed](#choosing-your-payout-speed).
2. Set `destination` to the ID of the `Payment Instrument` for the tokenized bank account.
3. Set `amount` to the funds in cents.
4. Include an `idempotency_id`. See [Idempotent Requests](/additional-resources/developers/authentication-and-api-basics/idempotent-request) for details.


### Choosing your Payout speed

#### Next day ACH

For Next Day ACH, set the `operation_key` to `PUSH_TO_ACH`.

Example
API Definition
#### Same day ACH

For Same Day ACH, set the `operation_key` to `PUSH_TO_SAME_DAY_ACH`.

Default
Same Day ACH is not enabled by default. If you are interested in Same Day ACH, please contact your Finix representative to enable `disbursements_same_day_ach_push_enabled` for your `Application`.

Example
API Definition