MCA

Hold and convert several currencies in one Multi-Currency Account

✅

What this does

A Multi-Currency Account holds your balances in many currencies and stablecoins at once. You can see what you hold, convert between currencies without the money leaving your account, and pay out or settle from it.

What you can do

See what you holdBalance per currency, with what's available to use
ConvertSwap one currency you hold into another — swap order
Add moneyPre-funding
Take money outPayouts or Settlements

Your balance

curl -X GET 'https://sandbox-api.transfi.com/v3/balance' \
  -H 'Authorization: Basic YOUR_BASE64_CREDENTIALS' \
  -H 'mid: YOUR_MID'

→ Get Balance

Shown asMeaning
AvailableYou can pay out or swap this now
LockedCommitted to a pending order
FrozenHeld for a compliance reason
In transitOn its way in, not yet cleared
⚠️

Use available, not total. A total that covers your payout doesn't mean the payout will go through.

📘

Send the mid header for one MID's balance. Leave it out for everything across your organisation.

Supported currencies: List Supported Currencies · List Tokens

curl -X GET 'https://sandbox-api.transfi.com/v3/balance' \
  -H 'Authorization: Basic YOUR_BASE64_CREDENTIALS' \
  -H 'mid: YOUR_MID'

→ Get Balance

Shown asMeaning
AvailableYou can pay out or swap this now
LockedCommitted to a pending order
FrozenHeld for a compliance reason
In transitOn its way in, not yet cleared
⚠️

Use available, not total. A total that covers your payout doesn't mean the payout will go through.

📘

Send the mid header for one MID's balance. Leave it out for everything across your organisation.

Supported currencies: List Supported Currencies · List Tokens

Converting inside your MCA — swaps

✅

What a swap does

You change money on your TransFi balance from one currency into another — EUR to USDT, USDT to PHP, USDT to USDC. Nothing comes in or goes out. It stays yours.

📘

Swap or payout?

If the money ends up with someone else, it's a payout — even if the currency changes. A swap is only for money you keep.

Steps

1. Check what you hold

curl -X GET 'https://sandbox-api.transfi.com/v3/balance' \
  -H 'Authorization: Basic YOUR_BASE64_CREDENTIALS' \
  -H 'mid: YOUR_MID'

→ Get Balance

2. Get the rate

curl -X GET 'https://sandbox-api.transfi.com/v3/rates?orderType=swap&fromCurrency=USDT&toCurrency=EUR&amount=5000' \
  -H 'Authorization: Basic YOUR_BASE64_CREDENTIALS' \
  -H 'mid: YOUR_MID'

→ Get Exchange Rates

3. Create the swap

No userId — a swap has no customer.

curl -X POST 'https://sandbox-api.transfi.com/v3/orders' \
  -H 'Authorization: Basic YOUR_BASE64_CREDENTIALS' \
  -H 'mid: YOUR_MID' \
  -H 'Content-Type: application/json' \
  -d '{
    "orderType": "swap",
    "purposeCode": "company_expenses",
    "partnerId": "swap-5001",
    "source": {
      "currency": "USDT",
      "amount": "5000"
    },
    "destination": {
      "currency": "EUR"
    }
  }'

→ Create Order

4. Wait for the final status

StatusMeaningWhat to do
initiatedSwap accepted—
asset_processingConverting—
asset_settledDone. Both balances updatedRefresh your balances
asset_settle_failedCouldn't convert. Your original balance is untouchedCreate a new order

Test it

Simulate Order Status

Related

Pre-funding · Payouts · Balances

📘

Creating MCA accounts, deposit addresses and statements over the API — went live 30 Sep. Endpoints to be linked here once published in the reference.


Did this page help you?