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

# Internal Transfer Event

Webhooks for `Wallet-as-a-Service` internal transfers notify you about fund movements between wallets or sub-wallets within the OpenXSwitch system.

* **Parent Method:** `internal_transfer`
* **Sub-Methods:**
  * **`initiated`**: Triggered when a internal transfer request is initiated but not yet processed.
  * **`completed`**: Triggered when the internal transfer is successfully processed.
  <br />

### **Example Payload for Transfer:**

<CodeGroup>
  ```json internal_transfer.initiated theme={null}
  {
    "requestId": "f71516a1a53acbc5a999ef9b6edda4",
    "method": "internal_transfer.initiated",
    "params": {
      "id": "68180c09b19304fc881991c2",
      "clientTxId": "57337eed-eef3-4123-9e83-83107c4dafa3",
      "coin": "USDT",
      "amount": 9,
      "status": "pending",
      "networkFee": 0,
      "fromWalletId": "6812b103908d2d0d49c7ff79",
      "toWalletId": "6812c4977de20fb535e5bdee",
      "workspaceId": "656abf1e4b5f5e0012345678",
      "createdAt": "2025-05-05T00:53:29.206Z",
      "updatedAt": "2025-05-05T00:53:29.206Z",
      "wallet": {
        "id": "6812b103908d2d0d49c7ff79",
        "clientUserId": null,
        "email": "email@openxswitch.com",
        "name": "openxswitch-subwallet",
        "asset": {
          "coin": "USDT",
          "balance": 9,
          "frozen": 0,
          "updatedAt": "2025-05-04T23:58:20.494Z"
        },
        "isSubWallet": false
      }
    }
  }
  ```

  ```json internal_transfer.completed theme={null}
  {
    "requestId": "f71516a1a53acbc5a999ef9b6edda4",
    "method": "internal_transfer.completed",
    "params": {
      "id": "68180c09b19304fc881991c2",
      "clientTxId": "57337eed-eef3-4123-9e83-83107c4dafa3",
      "coin": "USDT",
      "amount": 9,
      "status": "success",
      "networkFee": 0,
      "fromWalletId": "6812b103908d2d0d49c7ff79",
      "toWalletId": "6812c4977de20fb535e5bdee",
      "workspaceId": "656abf1e4b5f5e0012345678",
      "createdAt": "2025-05-05T00:53:29.206Z",
      "updatedAt": "2025-05-05T00:53:29.206Z",
      "wallet": {
        "id": "6812b103908d2d0d49c7ff79",
        "clientUserId": null,
        "email": "email@openxswitch.com",
        "name": "openxswitch-subwallet",
        "asset": {
          "coin": "USDT",
          "balance": 9,
          "frozen": 0,
          "updatedAt": "2025-05-04T23:58:20.494Z"
        },
        "isSubWallet": false
      }
    }
  }
  ```
</CodeGroup>

<br />

### Reference

| Field                           | Description                                      | Type                |
| :------------------------------ | :----------------------------------------------- | :------------------ |
| `requestId`                     | Unique identifier for the event                  | `string`            |
| `method`                        | Event type, always `internal_transfer.initiated` | `string`            |
| `params.id`                     | Internal transfer ID                             | `string`            |
| `params.clientTxId`             | Optional client-assigned transaction ID          | `string`            |
| `params.coin`                   | Cryptocurrency used (e.g. `USDT`)                | `string`            |
| `params.amount`                 | Amount transferred                               | `number`            |
| `params.status`                 | Current status of the transfer (e.g. `pending`)  | `string`            |
| `params.networkFee`             | Fee applied to the transfer                      | `number`            |
| `params.fromWalletId`           | Sender's wallet ID                               | `string`            |
| `params.toWalletId`             | Recipient's wallet ID                            | `string`            |
| `params.workspaceId`            | ID of the associated workspace or organization   | `string`            |
| `params.createdAt`              | Timestamp when the transfer was created          | `string` (ISO 8601) |
| `params.wallet.id`              | Sender wallet ID (same as `fromWalletId`)        | `string`            |
| `params.wallet.clientUserId`    | Optional user ID of the sender                   | `string` or `null`  |
| `params.wallet.email`           | Email associated with the sender wallet          | `string`            |
| `params.wallet.name`            | Wallet name or label                             | `string`            |
| `params.wallet.asset.coin`      | Coin type stored in the wallet                   | `string`            |
| `params.wallet.asset.balance`   | Wallet's current balance                         | `number`            |
| `params.wallet.asset.frozen`    | Amount frozen in the wallet                      | `number`            |
| `params.wallet.asset.updatedAt` | Last update time for wallet asset info           | `string` (ISO 8601) |
| `params.wallet.isSubWallet`     | Indicates if the wallet is a sub-wallet          | `boolean`           |
