Create a FinancialAccount object v2

Money Management
Financial Accounts
Create a FinancialAccount object

Creates a new FinancialAccount.

Learn more about calling API v2 endpoints.

Parameters

  • typeenumRequired

    The type of FinancialAccount to create.

    Possible enum values
    storage

    Used for the long term storage of funds and sending those funds to others.

  • display_namestring

    A descriptive name for the FinancialAccount, up to 50 characters long. This name will be used in the Stripe Dashboard and embedded components.

  • metadatamap

    Metadata associated with the FinancialAccount.

  • storageobject

    Parameters specific to creating storage type FinancialAccounts.

    • storage.holds_currenciesarray of enumsRequired

      The currencies that this FinancialAccount can hold.

Returns

Response attributes

  • idstring

    Unique identifier for the object.

  • objectstring, value is "v2.money_management.financial_account"

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

  • balanceobject

    Multi-currency balance of this FinancialAccount, split by availability state. Each balance is represented as a hash where the key is the three-letter ISO currency code, in lowercase, and the value is the amount for that currency.

    • balance.availablemap

      Balance that can be used for money movement.

    • balance.inbound_pendingmap

      Balance of inbound funds that will later transition to the available balance.

    • balance.outbound_pendingmap

      Balance of funds that are being used for a pending outbound money movement.

  • countryenum

    Two-letter country code that represents the country where the LegalEntity associated with the FinancialAccount is based in.

  • createdtimestamp

    Time at which the object was created.

  • display_namenullable string

    A descriptive name for the FinancialAccount, up to 50 characters long. This name will be used in the Stripe Dashboard and embedded components.

  • livemodeboolean

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

  • metadatanullable map

    Metadata associated with the FinancialAccount.

  • othernullable object

    If this is a other FinancialAccount, this hash indicates what the actual type is. Upgrade your API version to see it reflected in type.

    • other.typestring

      The type of the FinancialAccount, represented as a string. Upgrade your API version to see the type reflected in financial_account.type.

  • statusenum

    An enum representing the status of the FinancialAccount. This indicates whether or not the FinancialAccount can be used for any money movement flows.

    Possible enum values
    closed

    The FinancialAccount is closed and cannot be used anymore.

    open

    The FinancialAccount is open and available for use.

    pending

    The FinancialAccount was created and is in the process of being opened.

  • status_detailsnullable objectPreview feature

    • status_details.closednullable object

      • status_details.closed.forwarding_settingsnullable object

        • status_details.closed.forwarding_settings.payment_methodnullable string

          The address to send forwarded payments to.

        • status_details.closed.forwarding_settings.payout_methodnullable string

          The address to send forwarded payouts to.

      • status_details.closed.reasonenum

        Possible enum values
        account_closed

        The FinancialAccount is closed by stripe

        closed_by_platform

        The FinancialAccount is closed by platform

  • storagenullable object

    If this is a storage FinancialAccount, this hash includes details specific to storage FinancialAccounts.

    • storage.holds_currenciesarray of enums

      The currencies that this FinancialAccount can hold.

  • typeenum

    Type of the FinancialAccount. An additional hash is included on the FinancialAccount with a name matching this value. It contains additional information specific to the FinancialAccount type.

    Possible enum values
    other

    The API version used does not support the FinancialAccount’s type.

    storage

    Used for the long term storage of funds and sending those funds to others.

Error Codes
400already_exists

The resource already exists.

400financial_account_open_limit

The compartment has reached its limit on open FinancialAccounts.

400storer_capability_missing

The required storer capabilities are missing.

400storer_capability_not_active

The required storer capabilities are not active.

400unsupported_currency

The currency is not supported for Financial Accounts.

409idempotency_error

An idempotent retry occurred with different request parameters.

POST /v2/money_management/financial_accounts
curl -X POST https://api.stripe.com/v2/money_management/financial_accounts \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-08-27.preview" \
--json '{
"type": "storage",
"storage": {
"holds_currencies": [
"usd"
]
},
"display_name": "Sample FinancialAccount"
}'
Response
{
"id": "fa_65So897Og7nsSRgcz1L16SmeOD0tE9TfqsMPW2uZH3IEky",
"object": "v2.money_management.financial_account",
"balance": {
"available": {
"usd": {
"value": 0,
"currency": "usd"
}
},
"inbound_pending": {
"usd": {
"value": 0,
"currency": "usd"
}
},
"outbound_pending": {
"usd": {
"value": 0,
"currency": "usd"
}
}
},
"country": "US",
"created": "2025-06-27T21:52:05.197Z",
"display_name": "Sample FinancialAccount",
"livemode": true,
"metadata": null,
"status": "pending",
"storage": {
"holds_currencies": [
"usd"
]
},
"type": "storage"
}