> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tesouro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Internal transfers

> Move funds instantly between two Tesouro-held accounts within the same organization.

Internal book transfers move funds between two Tesouro-held accounts owned by the same organization. They settle in-request — there is no upstream banking network involved.

`POST /embedded-banking/v1/money-movements/book`

```bash title="Example Request" lines theme={null}
curl -X POST 'https://api.sandbox.tesouro.com/embedded-banking/v1/money-movements/book' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "fromBankAccountId": "550e8400-e29b-41d4-a716-446655440001",
    "toBankAccountId":   "550e8400-e29b-41d4-a716-446655440002",
    "amount":            50000,
    "currencyCode":      "USD",
    "idempotencyKey":    "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }'
```

The response is `201 Created` with `status: "COMPLETED"`. Book transfers are the right choice when the partner needs to sweep, reserve, or rebalance funds across their customer's Tesouro accounts.

Book transfers accept an `idempotencyKey` like every money-movement request. Always send one so a retried submission returns the original transfer instead of moving the funds again. See [Lifecycle & idempotency](/embedded-banking/guides/money-movement/lifecycle#idempotency).

<Info>
  Book transfers do not require a per-rail scope; `embedded:transfer:write` is sufficient.
</Info>
