active immediately, so onboarding happens entirely inside your product and the payee never sees an Infinity page.
How it works
When you add an address, Infinity validates every field against the rules for its currency and rail, then registers the account with the payout network. If both steps succeed, the address is stored withstatus: active and the payee becomes active. If the network rejects the account, nothing is stored, the payee is unchanged, and the request fails with 400 bank_details_invalid.
- Addresses are available to accounts paying in USD, EUR and GBP. INR payees add their bank details through hosted onboarding.
- A payee has one address in v1.
- The address’s currency sets the payee’s
currencyif it wasn’t set already; if it was, the two must match.
Rails and required fields
For USD, the rail is your choice and applies to every payout to that address. ACH is the lower-cost rail; wire settles faster.
Bank requirements
GET /bank-requirements returns the same rules the validator applies, field by field, so a form built from it never drifts from the API:
Response (abridged)
currency to get every rail. Nested fields use dotted names (beneficiary_address.state). usd returns two entries, one for ach and one for wire, with identical fields.
Add an address
Response
account_number_last4 only.
Field reference
Changing a payee’s bank account
A second address for the same payee fails with409 address_exists, and addresses can’t be updated or replaced through the API in v1.
If a payee changes bank, or their bank rejects a payout to the stored account, contact your Infinity team with the payee’s ID.
Liability for bank details
You’re responsible for the accuracy of the bank details you submit. Infinity validates the format and the payout network checks the account when it’s registered, but some errors can’t be detected before funds move: a valid account that belongs to someone else, for example, or a name that doesn’t match the account. Payouts to such accounts end asfailed or returned with failure_code: returned_by_bank, and a payout credited to a valid account belonging to the wrong person can’t be recalled.
Errors
In the sandbox
An account number ending in0000 passes format validation and is then rejected as if by the bank. See Sandbox.