# Balance transfers

Move available stablecoin balance between wallets you own or send it to another StarSwap account by email. The ledger applies each debit and credit atomically.

## Amount format

`amountMicros` uses six-decimal stablecoin units. For example, `25000000` represents `25.000000`.

~~~bash POST /v1/wallet-transfers
curl https://starswap.cc/api/v1/wallet-transfers \
  -X POST \
  -H "Authorization: Bearer $STARSWAP_API_KEY" \
  -H "Idempotency-Key: transfer-$(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "fromWalletId":"wlt_source",
    "toWalletId":"wlt_target",
    "amountMicros":"25000000"
  }'
~~~

## Transfer rules

Both wallets must belong to the authenticated account and be active. The source wallet needs enough available balance. Reserved order funds cannot be transferred.

## Send to another account

The recipient email must already belong to a StarSwap account. The transfer credits that account's main wallet immediately and does not use an onchain network.

~~~bash POST /v1/account-transfers
curl https://starswap.cc/api/v1/account-transfers \
  -X POST \
  -H "Authorization: Bearer $STARSWAP_API_KEY" \
  -H "Idempotency-Key: account-transfer-$(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "fromWalletId":"wlt_source",
    "recipientEmail":"recipient@example.com",
    "amountMicros":"25000000"
  }'
~~~

Account transfers cannot be recalled. A sender cannot transfer to the email on the same account.
