Confirm microdeposits for verification v2

Core Resources
US Bank Accounts
Confirm microdeposits for verification

Confirm microdeposits amounts or descriptor code that you have received from the Send Microdeposits request. Once you correctly confirm this, this US Bank Account will be verified and eligible to transfer funds with.

Learn more about calling API v2 endpoints.

Parameters

  • idstringRequired

    The ID of the USBankAccount object.

  • amountsarray of integers

    Two amounts received through Send Microdeposits must match the input to Confirm Microdeposits to verify US Bank Account.

  • descriptor_codestring

    Descriptor code received through Send Microdeposits must match the input to Confirm Microdeposits to verify US Bank Account.

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.

  • financial_connections_accountnullable string

    The ID of the Financial Connections Account used to create 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.

  • verificationobject

    The bank account verification details.

    • verification.microdeposit_verification_detailsnullable object

      The microdeposit verification details if the status is awaiting verification.

      • verification.microdeposit_verification_details.expirestimestamp

        Time when microdeposits will expire and have to be re-sent.

      • verification.microdeposit_verification_details.microdeposit_typeenum

        Microdeposit type can be amounts or descriptor_type.

      • verification.microdeposit_verification_details.senttimestamp

        Time when microdeposits were sent.

    • verification.statusenum

      The bank account verification status.

      Possible enum values
      awaiting_verification

      Verification of the bank account has been initiated and requires further action to be completed.

      unverified

      The bank account is unverified.

      verification_failed

      Verification of the bank account has failed.

      verified

      The bank account is verified.

Error Codes
400us_bank_account_confirm_microdeposits_error

Returned when the wrong values were provided to confirm microdeposits.

400us_bank_account_microdeposits_not_sent_before_confirming

Returned when an attempt is made to confirm microdeposits before the microdeposits have been sent.

400us_bank_account_microdeposits_timed_out

Returned when an attempt to confirm microdeposits has failed because too much time has elapsed since the microdeposits were sent.

400us_bank_account_verification_failed

Returned when verification of a US bank account has failed, reaching a terminal failure state.

404not_found

The resource wasn’t found.

409idempotency_error

An idempotent retry occurred with different request parameters.

POST /v2/core/vault/us_bank_accounts/:id/confirm_microdeposits
curl -X POST https://api.stripe.com/v2/core/vault/us_bank_accounts/usba_test_61TTrNIGW0Kfu6Loe16TTnp50xSQQ5fFlwPErT7SSCmG/confirm_microdeposits \
-H "Authorization: Bearer sk_test_BQokikJ...2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2" \
-H "Stripe-Version: 2025-12-15.preview" \
--json '{
"amounts": [
15,
48
]
}'
Response
{
"id": "usba_test_61TTrNIGW0Kfu6Loe16TTnp50xSQQ5fFlwPErT7SSCmG",
"object": "v2.core.vault.us_bank_account",
"archived": false,
"bank_account_type": "checking",
"bank_name": "Test Bank",
"created": "2025-10-21T00:27:12.940Z",
"fedwire_routing_number": null,
"last4": "6789",
"routing_number": "110000000",
"verification": {
"microdeposit_verification_details": null,
"status": "verified"
},
"livemode": true
}