---
title: "Swap Currencies"
method: POST
path: "/business/swap"
tags: ["wallets"]
---

# Swap Currencies

`POST /business/swap`

## Request

- Base URL: `https://www.sandbox.striga.com/api/v1/wallets`
- URL: `https://www.sandbox.striga.com/api/v1/wallets/business/swap`
- Auth: API key in header `api-key` and API key in header `Authorization`

Swap currencies between accounts

## Request body

- BusinessSwapCurrencyRequest
  - `businessId` string, uuid, required: Unique Id of the business who is sending this transactions
  - `sourceAccountId` string, required: The Id of the account to debit
  - `destinationAccountId` string, required: The Id of the account to credit
  - `amount` string, required: The amount denominated in the smallest divisible unit of the sending currency. For example, cents or satoshis
  - `ip` string, ipv4, required: IP address collected as the IP address from which the End User is making the swap request
  - `memo` string: Optional memo - Alphanumeric string upto 15 characters in length
  - `simulateFailure` boolean: The simulateFailure key is a boolean value that, when set to true, instructs the API to simulate a failed case. This feature is only available in a sandbox environment
  - `proposedRate` string: An optional proposed rate to honor for this swap. Validated against the current market rate before the swap is executed.
  - `fixedFee` string: Optional fixedFee in Euro cents to override the default application fee configuration. This amount can only be <= the default configured amount for this transaction type.
  - `percentFeeBps` string: Optional percentage fee in bps to override the default application fee configuration. This amount can only be <= the default configured amount for this transaction type.

## Response `200`

success

- BusinessSwapCurrencyResponse
  - `id` string, required
  - `sourceAccountId` string, required
  - `destinationAccountId` string, required
  - `memo` string, required
  - `status` string, required
  - `txType` string, required
  - `order` object, required
    - `id` string
    - `price` string
    - `type` string
    - `ticker` string
    - `debit` object
      - `currency` string
      - `amountFloat` string
      - `amount` string
    - `credit` object
      - `currency` string
      - `amountFloat` string
      - `amount` string
  - `datetime` string, date-time, required
  - `balanceBefore` object, required
    - `balance` string
    - `amount` string
    - `currency` string
  - `balanceAfter` object, required
    - `balance` string
    - `amount` string
    - `currency` string
  - `sourceSyncedOwnerId` string, required
  - `destinationSyncedOwnerId` string, required
  - `feeEstimate` object, required
    - `totalFee` string
    - `networkFee` string
    - `ourFee` string
    - `theirFee` string
    - `feeCurrency` string
    - `fixedFeeDetails` object
      - `amount` string
      - `exchangeRate` string
      - `appliedFeeCents` string
    - `percentageFeeDetails` object
      - `amount` string
      - `appliedFeeBps` string

## Other responses

- `400`: Bad Request. The request was unacceptable, often due to missing a required parameter.
- `401`: Invalid authentication header
- `403`: Forbidden
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/striga/apis/business-wallets-transactions.md) - [All operations](https://skmtc.dev/striga/apis/business-wallets-transactions/llms.txt) - [OpenAPI document](https://skmtc.dev/striga/apis/business-wallets-transactions/revisions/ea0f4d67546d?raw)
