# Initiate micro-deposits

Micro-deposits help confirm bank account ownership, helping reduce fraud and the risk of unauthorized activity. Use this method to initiate the micro-deposit verification, sending two small credit transfers to the bank account you want to confirm.

If you request micro-deposits before 4:15PM ET, they will appear that same day. If you request micro-deposits any time after 4:15PM ET, they will appear the next banking day. When the two credits are initiated, Moov simultaneously initiates a debit to recoup the micro-deposits.

Micro-deposits initiated for a `sandbox` bank account will always be `$0.00` / `$0.00` and instantly verifiable once initiated.

You can simulate micro-deposit verification in test mode. See our [test mode](https://docs.moov.io/guides/get-started/test-mode/#micro-deposits) guide for more information.

To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need to specify the `/accounts/{accountID}/bank-accounts.write` scope.

## Endpoint

POST

/accounts/{accountID}/bank-accounts/{bankAccountID}/micro-deposits

## Example Requests

### CURL
```shell
curl -X POST "https://api.moov.io/accounts/{accountID}/bank-accounts/{bankAccountID}/micro-deposits" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"
```

### Go
```go
mc, _ := moov.NewClient()

var accountID string
var bankAccountID string

mc.MicroDepositInitiate(ctx, accountID, bankAccountID)
```

### TypeScript
```typescript
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.bankAccounts.initiateMicroDeposits({
    accountID: "ced90412-ebb4-43d4-a171-0a929ed5fb37",
    bankAccountID: "f2b630cc-a8ae-44be-970b-7bed47b2d952",
  });

console.log(result);
}

run();
```

### PHP
```php
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\
