Create a UsBankAccount object v2

Core Resources
US Bank Accounts
Create a UsBankAccount object

Create a USBankAccount object.

Learn more about calling API v2 endpoints.

Parameters

  • account_numberstringRequired

    The account number of the bank account.

  • bank_account_typeenum

    The type of the bank account (checking or savings).

    Possible enum values
    checking

    Checkings account.

    savings

    Savings account.

  • fedwire_routing_numberstring

    The fedwire routing number of the bank account. Note that certain banks have the same ACH and wire routing number.

  • routing_numberstring

    The ACH routing number of the bank account. Note that certain banks have the same ACH and wire routing number.

Returns

Response attributes

  • idstring

    The ID of the USBankAccount object.

  • objectstring, value is "v2.core.vault.us_bank_account"

    String representing the object’s type. Objects of the same type share the same value of the object field.

  • archivedboolean

    Whether this USBankAccount object was archived.

  • bank_account_typeenum

    The type of bank account (checking or savings).

    Possible enum values
    checking

    Checkings account.

    savings

    Savings account.

  • bank_namestring

    The name of the bank this bank account belongs to. This field is populated automatically by Stripe based on the routing number.

  • createdtimestamp

    Creation time of the object.

  • fedwire_routing_numbernullable string

    The fedwire routing number of the bank account.

  • last4string

    The last 4 digits of the account number.

  • livemodeboolean

    Has the value true if the object exists in live mode or the value false if the object exists in test mode.

  • routing_numbernullable string

    The ACH routing number of the bank account.

Error Codes
400blocked_us_bank_account

Returned in cases where the bank account cannot be used due to suspicious activity.

400invalid_us_bank_account

Returned in cases where the bank account provided is not valid (wrong format of account number or a routing number that does not correspond to a banking institution).

400limit_us_bank_account

Returned when the number of USBankAccount objects on a given V2 Account has exceeded the limit of 10. USBankAccount objects may be archived with /archive, at which point they will not count against the limit. If you are not passing a V2 Account ID in the Stripe-Context header you may receive this error since you are creating all your USBankAccount objects in your own workspace.

400unsupported_us_bank

Returned in cases where Stripe is unable to support this bank at this time.

409idempotency_error

An idempotent retry occurred with different request parameters.

POST /v2/core/vault/us_bank_accounts
curl -X POST https://api.stripe.com/v2/core/vault/us_bank_accounts \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-09-30.preview" \
-H "Stripe-Context: {{CONTEXT}}" \
--json '{
"routing_number": "110000000",
"account_number": "000123456789",
"bank_account_type": "checking"
}'
Response
{
"id": "usba_test_61OHSEF60mEpRiXpR16NqdMu76SQRZLd31xuji87MN5M",
"object": "v2.core.vault.us_bank_account",
"bank_account_type": "checking",
"bank_name": "Test Bank",
"created": "2023-05-15T16:29:15.738Z",
"archived": false,
"last4": "6789",
"routing_number": "110000000",
"livemode": true
}