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

# Sending book transfers

> Move money between virtual accounts in the same account.

A book transfer moves money between two virtual accounts and produces two
transactions: a debit from the source balance and a credit to the destination
balance.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/slash-9da6c7e7/5Zg1KnhscyuyjHbk/images/charts/send-book-flow.light.svg?fit=max&auto=format&n=5Zg1KnhscyuyjHbk&q=85&s=b62ed588d99f61b0f8d17e308c6fab75" alt="How to move money between virtual accounts" width="704" height="804" data-path="images/charts/send-book-flow.light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/slash-9da6c7e7/5Zg1KnhscyuyjHbk/images/charts/send-book-flow.dark.svg?fit=max&auto=format&n=5Zg1KnhscyuyjHbk&q=85&s=91a89ab2aa519df0302ea431078089a6" alt="How to move money between virtual accounts" width="704" height="804" data-path="images/charts/send-book-flow.dark.svg" />
</Frame>

Both virtual accounts must belong to the same Account.

Creating a book transfer requires a user API key with book-transfer
access, used from an allowlisted IP. `amount.amount` is in minor units, so
`250000` USD means USD 2,500.00.

```bash theme={null}
curl https://api.slash.com/v2/transfers/book \
  -X POST \
  -H "X-API-Key: $SLASH_API_KEY" \
  -H "x-legal-entity: $SLASH_LEGAL_ENTITY_ID" \
  -H "X-Idempotency-Key: payroll-funding-2026-08" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": { "amount": 250000, "currency": "USD" },
    "fromAccount": "subaccount_operations123",
    "toAccount": "subaccount_payroll123",
    "description": "August payroll funding"
  }'
```

The returned Transfer uses a `transfer_intent_` id and lists both ledger legs.
This example shows a completed transfer; a create response can instead be
`pending` or `in_review`:

```json theme={null}
{
  "id": "transfer_intent_book123",
  "type": "book",
  "status": "settled",
  "accountId": "sa_group_primary123",
  "fromAccount": "subaccount_operations123",
  "toAccount": "subaccount_payroll123",
  "amount": { "amount": 250000, "currency": "USD" },
  "description": "August payroll funding",
  "transactionIds": [
    "agg_tx_booksource123",
    "agg_tx_bookdestination123"
  ],
  "createdAt": "2026-08-18T01:00:00.000Z"
}
```

Use `GET /v2/transfers/book/{transferId}` for the Transfer and
`GET /v2/transactions?transferId=…` to reconcile both account impacts.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/slash-9da6c7e7/5Zg1KnhscyuyjHbk/images/charts/book-lifecycle.light.svg?fit=max&auto=format&n=5Zg1KnhscyuyjHbk&q=85&s=c8c49c05c73ef0eb9aa956eb2df0140d" alt="Book transfer lifecycle" width="1132" height="644" data-path="images/charts/book-lifecycle.light.svg" />

  <img className="hidden dark:block" src="https://mintcdn.com/slash-9da6c7e7/5Zg1KnhscyuyjHbk/images/charts/book-lifecycle.dark.svg?fit=max&auto=format&n=5Zg1KnhscyuyjHbk&q=85&s=3231eb932fb68776b10edd7364d93505" alt="Book transfer lifecycle" width="1132" height="644" data-path="images/charts/book-lifecycle.dark.svg" />
</Frame>
