# 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. ## Request ```curl curl -X POST https://api.stripe.com/v2/core/vault/us_bank_accounts/usba_test_61TTrNIGW0Kfu6Loe16TTnp50xSQQ5fFlwPErT7SSCmG/confirm_microdeposits \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-02-25.preview" \ --json '{ "amounts": [ 15, 48 ] }' ``` ### Response ```json { "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 } ``` ## Parameters - `id` (string, required) The ID of the USBankAccount object. - `amounts` (array of integers, optional) Two amounts received through Send Microdeposits must match the input to Confirm Microdeposits to verify US Bank Account. - `descriptor_code` (string, optional) Descriptor code received through Send Microdeposits must match the input to Confirm Microdeposits to verify US Bank Account. ## Returns ## Response attributes - `id` (string) The ID of the USBankAccount object. - `object` (string, 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. - `alternative_reference` (object, nullable) The alternative reference for this payout method, if it’s a projected payout method. - `alternative_reference.id` (string) The ID of the alternative resource being referenced. - `alternative_reference.type` (enum) The type of the alternative reference (e.g., external_account for V1 external accounts). Possible enum values: - `external_account` V1 External Account. - `payment_method` V1 Payment Method. - `archived` (boolean) Whether this USBankAccount object was archived. - `bank_account_type` (enum) The type of bank account (checking or savings). Possible enum values: - `checking` Checkings account. - `savings` Savings account. - `bank_name` (string) The name of the bank this bank account belongs to. This field is populated automatically by Stripe based on the routing number. - `created` (timestamp) Creation time of the object. - `fedwire_routing_number` (string, nullable) The fedwire routing number of the bank account. - `financial_connections_account` (string, nullable) The ID of the Financial Connections Account used to create the bank account. - `last4` (string) The last 4 digits of the account number. - `livemode` (boolean) Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - `routing_number` (string, nullable) The ACH routing number of the bank account. - `verification` (object) The bank account verification details. - `verification.microdeposit_verification_details` (object, nullable) The microdeposit verification details if the status is awaiting verification. - `verification.microdeposit_verification_details.expires` (timestamp) Time when microdeposits will expire and have to be re-sent. - `verification.microdeposit_verification_details.microdeposit_type` (enum) Microdeposit type can be amounts or descriptor_type. Possible enum values: - `amounts` - `descriptor_code` - `verification.microdeposit_verification_details.sent` (timestamp) Time when microdeposits were sent. - `verification.status` (enum) 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 | HTTP status code | Code | Description | | ---------------- | -------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | 400 | archived_us_bank_account | Returned in cases where the bank account cannot be updated due to being archived. | | 400 | us_bank_account_confirm_microdeposits_error | Returned when the wrong values were provided to confirm microdeposits. | | 400 | us_bank_account_microdeposits_not_sent_before_confirming | Returned when an attempt is made to confirm microdeposits before the microdeposits have been sent. | | 400 | us_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. | | 400 | us_bank_account_verification_failed | Returned when verification of a US bank account has failed, reaching a terminal failure state. | | 404 | not_found | The resource wasn’t found. | | 409 | idempotency_error | An idempotent retry occurred with different request parameters. |