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

# Transfer Types

When you create a transfer, Otim automatically determines the transfer type based on the destination you provide.

## Book transfer

A book transfer moves funds between two Accounts on the same Platform. These settle instantly with no fees.

```json theme={null}
{
  "sourceAccountId": "acc_01...",
  "destinationAccountId": "acc_02...",
  "amount": "100.00"
}
```

Provide `destinationAccountId` to create a book transfer.

## Wire transfer

A wire transfer sends funds to an external bank account via a Counterparty. These are subject to standard processing times for the destination banking network.

```json theme={null}
{
  "sourceAccountId": "acc_01...",
  "counterpartyId": "cpty_01...",
  "amount": "500.00",
  "currency": "USD"
}
```

Provide a `counterpartyId` that has type `bank_account` to create a wire transfer.

## On-chain transfer

An on-chain transfer sends funds to an external wallet via a Counterparty. These settle once the transaction is confirmed on the destination chain.

```json theme={null}
{
  "sourceAccountId": "acc_01...",
  "counterpartyId": "cpty_02...",
  "amount": "250.00"
}
```

Provide a `counterpartyId` that has type `wallet` to create an on-chain transfer.

## Transfer statuses

| Status       | Description                                                           |
| ------------ | --------------------------------------------------------------------- |
| `pending`    | The transfer has been created and is queued for processing.           |
| `processing` | The transfer is actively being processed.                             |
| `completed`  | The transfer has settled successfully.                                |
| `failed`     | The transfer failed. Check the transfer details for more information. |
| `cancelled`  | The transfer was cancelled before it was processed.                   |
