---
title: "Internal transfer for exchange accounts"
method: POST
path: "/exchange_accounts/{exchangeAccountId}/internal_transfer"
tags: ["Exchange accounts"]
---

# Internal transfer for exchange accounts

`POST /exchange_accounts/{exchangeAccountId}/internal_transfer`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/exchange_accounts/{exchangeAccountId}/internal_transfer`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/exchange_accounts/:exchangeAccountId/internal_transfer/post.ts> (a function with typed inputs; its response is checked against the schema)

Transfers funds between trading accounts under the same exchange account.
Learn more about Fireblocks Exchange Connectivity in the following [guide](https://developers.fireblocks.com/docs/connect-to-exchanges-and-fiat-providers).
Endpoint Permission: Admin, Non-Signing Admin.

## Path parameters

- `exchangeAccountId` string, required

## Headers

- `Idempotency-Key` string

## Request body

- CreateInternalTransferRequest
  - `asset` string, required
  - `amount` string, required
  - `sourceType` 'COIN_FUTURES' | 'COIN_MARGINED_SWAP' | 'EXCHANGE' | 'FUNDING' | 'FUNDABLE' | 'FUTURES' | 'FUTURES_CROSS' | 'MARGIN' | 'MARGIN_CROSS' | 'OPTIONS' | 'SPOT' | 'USDT_MARGINED_SWAP_CROSS' | 'USDT_FUTURES' | 'UNIFIED' | 'INTERNAL_BALANCE_1' | 'INTERNAL_BALANCE_2' | 'INTERNAL_BALANCE_3' | 'INTERNAL_BALANCE_4' | 'INTERNAL_BALANCE_5' | 'INTERNAL_BALANCE_6' | 'INTERNAL_BALANCE_7' | 'INTERNAL_BALANCE_8' | 'INTERNAL_BALANCE_9' | 'INTERNAL_BALANCE_10' | 'INTERNAL_BALANCE_11', required
  - `destType` 'COIN_FUTURES' | 'COIN_MARGINED_SWAP' | 'EXCHANGE' | 'FUNDING' | 'FUNDABLE' | 'FUTURES' | 'FUTURES_CROSS' | 'MARGIN' | 'MARGIN_CROSS' | 'OPTIONS' | 'SPOT' | 'USDT_MARGINED_SWAP_CROSS' | 'USDT_FUTURES' | 'UNIFIED' | 'INTERNAL_BALANCE_1' | 'INTERNAL_BALANCE_2' | 'INTERNAL_BALANCE_3' | 'INTERNAL_BALANCE_4' | 'INTERNAL_BALANCE_5' | 'INTERNAL_BALANCE_6' | 'INTERNAL_BALANCE_7' | 'INTERNAL_BALANCE_8' | 'INTERNAL_BALANCE_9' | 'INTERNAL_BALANCE_10' | 'INTERNAL_BALANCE_11', required

## Response `201`

Transfer succeeded

- InternalTransferResponse
  - `success` boolean, required: Indicates whether the transfer was successful
  - `id` string, nullable: The transaction ID of the internal transfer
  - `status` string, nullable: The transfer status returned by the transaction manager. Only present when the transfer was processed via the transaction manager flow.
  - `systemMessages` SystemMessageInfo[], nullable: System messages returned by the transaction manager about the health of the transfer being performed. Only present when the transfer was processed via the transaction manager flow.
    - `type` 'WARN' | 'BLOCK'
    - `message` string: A response from Fireblocks that communicates a message about the health of the process being performed. If this object is returned with data, you should expect potential delays or incomplete transaction statuses.

## Other responses

- `default`: Error Response

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
