---
title: "Intra-account business transfer"
method: POST
path: "/open-api/v3/business/transfer/internal"
tags: ["Transfer"]
---

# Intra-account business transfer

`POST /open-api/v3/business/transfer/internal`

## Request

- Base URL: `https://api-sandbox.interlace.money`
- URL: `https://api-sandbox.interlace.money/open-api/v3/business/transfer/internal`
- Auth: API key in header `x-access-token`

When to call this API  
    Call /transfer/internal when the money stays inside the same platform account  
    (same accountId) but moves between its sub-wallets/balances.  
    Note: The minimum amount per CRYPTO_CONNECT transaction is 0.5 USD, USDC, or USDT.  
    Example:  
    - A company wants to shift 1,000 USD from its BUSINESS_ACCOUNT balance to its INFINITY_ACCOUNT balance  
    - A user wants to move 0.5 USD from his CRYPTO_CONNECT wallet to his USD balance in BUSINESS_ACCOUNT

## Request body

- CreateTransferInternalReqDTO
  - `clientTransactionId` string, required: Idempotency key provided by the client to ensure uniqueness of the transfer request
  - `accountId` string, uuid, required: The UUID of the Account.
  - `amount` string, required: Total transfer amount (Including handling fees). Fraction digits depend on currency precision: USDC / USDT / WUSD: up to 6 decimal places; ETH / BTC: up to 8 decimal places; default to 2 decimal places.
  - `from` TransferInfoFromReqVO, required: Transfer source details (payer information)
    - `id` string, required: For business account/infinity account, pass balanceId; for crypto connect , pass walletId
    - `currency` string, required: Currency of the account
    - `businessType` integer, required: Business type of the destination. 0: INFINITY_ACCOUNT, 1: BUSINESS_ACCOUNT, 2: CRYPTO_CONNECT
  - `to` TransferInfoToReqVO, required: Transfer destination details (payee information)
    - `id` string, required: For business account/infinity account, pass balanceId; for crypto connect , pass walletId
    - `currency` string, required: Currency of the account
    - `businessType` integer, required: Business type of the destination. 0: INFINITY_ACCOUNT, 1: BUSINESS_ACCOUNT, 2: CRYPTO_CONNECT

## Response `200`

success

- ApiResultCreateTransferInternalRespDTO
  - `code` string: Business code, 000000 means success
  - `message` string: Message description
  - `data` CreateTransferInternalRespDTO: List of data items
    - `clientTransactionId` string, required: Idempotency key provided by the client to ensure uniqueness of the transfer request
    - `id` string, required: The of the Transfer ID.
    - `createTime` string, required: Created timestamp.
    - `completedTime` string, required: Completed timestamp.
    - `from` TransferInfoFromVO, required: Transfer source details (payer information)
      - `id` string, required: Source account or wallet ID
      - `transferId` string, required: The UUID of the business transfer ID.
      - `parentAccountId` string: The parent account ID of the specified account.
      - `accountId` string, required: The UUID of the account.
      - `amount` string, required: Transfer amount deducted from the source account
      - `rate` string, required: Transfer amount rate
      - `currency` string, required: Currency of the source account
      - `businessType` integer, required: Business type of the destination. 0: INFINITY_ACCOUNT, 1: BUSINESS_ACCOUNT, 2: CRYPTO_CONNECT
      - `fees` BusinessTransferFee[]
        - `feeType` integer, required: Type of fee applied. Possible values: 0: (service fee), 1: (gas fee), 2: (Cross-chain fee), 3: (Deposit fee), 4: (Bank transfer fee), 5: (Markup fee), 6: (Currency exchange fee)
        - `amount` string, required: Fee amount charged
        - `currency` string, required: Currency in which the fee is charged
    - `to` TransferInfoToVO, required: Transfer destination details (payee information)
      - `id` string, required: Destination account or wallet ID
      - `parentAccountId` string: The parent account ID of the specified account.
      - `accountId` string, required: The UUID of the account.
      - `transferId` string, required: The UUID of the business transfer ID.
      - `amount` string, required: Transfer amount credited to the destination account
      - `currency` string, required: Currency of the destination account
      - `businessType` integer, required: Business type of the destination. 0: INFINITY_ACCOUNT, 1: BUSINESS_ACCOUNT, 2: CRYPTO_CONNECT
      - `fees` BusinessTransferFee[]
        - `feeType` integer, required: Type of fee applied. Possible values: 0: (service fee), 1: (gas fee), 2: (Cross-chain fee), 3: (Deposit fee), 4: (Bank transfer fee), 5: (Markup fee), 6: (Currency exchange fee)
        - `amount` string, required: Fee amount charged
        - `currency` string, required: Currency in which the fee is charged
    - `accountTransferType` string: Type of account transfer. SAME_ACCOUNT: Transfer between accounts under the same user. NOT_SAME_ACCOUNT: Transfer between accounts of different users.
    - `status` string, required: The current status of the transfer, e.g., CLOSED, FAILED, CANCELED, PROCESSING

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/interlace/apis/business-transfer.md) - [All operations](https://skmtc.dev/interlace/apis/business-transfer/llms.txt) - [OpenAPI document](https://skmtc.dev/interlace/apis/business-transfer/revisions/9bf171b6fb7f?raw)
