---
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`

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/core-resource.md) · [All operations](https://skmtc.dev/interlace/apis/core-resource/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/interlace/core-resource/revisions/29c08a4da357/schema)
