---
title: "White Label Currency Exchange Software | Crassula"
description: "Enable exchange requests functionality for cryptocurrency exchange, OTC desk, or brokerage project built on the Crassula platform."
url: "https://crassula.io/features/currency-exchange/"
lang: "en"
image: "https://crassula.io/static/images/og/crassula-default.d7d01fb8a962.jpg"
alternates:
  "en": "https://crassula.io/features/currency-exchange/"
  "de": "https://crassula.io/de/features/currency-exchange/"
  "es": "https://crassula.io/es/features/currency-exchange/"
  "fr": "https://crassula.io/fr/features/currency-exchange/"
  "x-default": "https://crassula.io/features/currency-exchange/"
index: "https://crassula.io/llms.txt"
---

# Currency Exchange

Let customers exchange currencies inside your app, with the rate source, markup and fees you set in the Back-Office Dashboard.

- Currency-pair rates
- FX markups and fees
- Exchange requests

[Request demo](https://crassula.io/request-demo/)

Currency Exchange

## Build currency exchange around your commercial model.

Choose rate sources, configure your pricing and set the workflow for customer exchange requests.

A product for a connected world

## Money that moves with their world.

Help customers hold, convert and use different currencies within a familiar banking experience. Make the quote and the amount they receive clear before they exchange.

- Currencies within one experience
- Clear quotes before confirmation

![A business founder using a phone while travelling.](https://crassula.io/static/images/features/people/global-1200.aed85c69e1b8.webp)

Rate configuration

## Choose the source behind your customer quote.

Use supported FX providers or reference-rate sources for your currency pairs. Keep the rate source distinct from the provider used to execute an exchange, and apply your pricing rules to the customer quote. Support current rates and rate history through the currency APIs.

- Currency-pair availability
- FX and reference-rate sources
- Separate rate and execution configuration

Related connectors [XE](https://crassula.io/connectors/app/xe/) [ECB](https://crassula.io/connectors/app/ecb/) [Currencycloud](https://crassula.io/connectors/app/currencycloud/)

![Rate-source configuration - product configuration](https://crassula.io/static/images/features/configuration/currency-exchange-rates.d8d84e4edb57.svg?v=10)

Exchange pricing

## Turn your pricing policy into a clear quote.

Configure an included FX markup or a separately charged exchange fee. Use an exchange preview to check what the customer sends, receives and pays before the order is confirmed.

- Included markup or separate fee
- Customer quote preview
- Consistent fee and rate presentation

Related connectors [Currencycloud](https://crassula.io/connectors/app/currencycloud/) [XE](https://crassula.io/connectors/app/xe/)

![Customer exchange pricing - product configuration](https://crassula.io/static/images/features/configuration/currency-exchange-pricing.7af7d59908f2.svg?v=10)

Exchange orders and requests

## Define the workflow behind every exchange.

Use exchange orders to coordinate commissions and execution through liquidity providers. For OTC or brokerage-style products, configure an exchange-request workflow and the back-office review your team needs.

- Order and request workflows
- Execution-provider connections
- Back-office review responsibility

Related connectors [Currencycloud](https://crassula.io/connectors/app/currencycloud/)

![Exchange-request policy - product configuration](https://crassula.io/static/images/features/configuration/currency-exchange-workflow.998d05ca75b7.svg?v=10)

Crassula Connectors

## Connect the services your product needs.

Choose integrations that fit your programme, market and required capabilities.

[XE FX and payments](https://crassula.io/connectors/app/xe/) [ECB Explore connector](https://crassula.io/connectors/app/ecb/) [![Currencycloud](https://crassula.io/static/images/solutions/connector-logos/currencycloud.78e0d73a66be.svg)FX and payments](https://crassula.io/connectors/app/currencycloud/) [Explore all connectors](https://crassula.io/connectors/)

Built for developers

## Build currency exchange into your own flow.

Request an exchange rate for a currency pair and amount before your customer moves ahead. Connect your conversion screen to the rates available in your environment.

- Specify the source and destination currencies
- Request a rate for a chosen amount
- Use the returned rate and converted amount

[Explore the API docs](https://docs.demo.crassu.la/#tag/currency-exchange/GET/api/clients/{clientId}/currency/rate)

GET`/api/clients/{clientId}/currency/rate`

Node.js · native fetch

```text
// Retrieve an exchange rate
const baseUrl = process.env.CRASSULA_BASE_URL;
const apiKey = process.env.CRASSULA_API_KEY;
const clientId = process.env.CRASSULA_CLIENT_ID;

const path = `/api/clients/${encodeURIComponent(clientId)}/currency/rate`;
const query = new URLSearchParams({
  "fromCurrency": "EUR",
  "toCurrency": "GBP",
  "amount": "1000.00"
});
const response = await fetch(`${baseUrl}${path}?${query}`, {
  method: 'GET',
  headers: {
    Authorization: apiKey,
  },
});

if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
```

**Retrieve an exchange rate**

An indicative rate request does not execute an exchange. Rate availability depends on the connected provider.

[View API reference](https://docs.demo.crassu.la/#tag/currency-exchange/GET/api/clients/{clientId}/currency/rate)

Case Studies

## See what teams build with Crassula.

![Multipass](https://crassula.io/static/images/solutions/cases/logo-multipass.7fb14a8eede7.png)

- Multi-currency accounts
- Cross-border payments
- BaaS connections

Live on Crassula

### [Custom financial products for global businesses.](https://crassula.io/cases/multipass/)

Global business accounts, multi-currency payments and cross-border solutions, supported by Crassula APIs and BaaS connections.

[Read case study: Multipass](https://crassula.io/cases/multipass/)

![LuxPay](https://crassula.io/static/images/solutions/cases/logo-luxpay.7d1fa138b9ba.png)

- IBAN · SEPA
- Card issuing
- KYC onboarding

Live on Crassula

### [A connected banking platform for modern financial services.](https://crassula.io/cases/luxpay/)

Account details, SEPA payments, card issuing, KYC onboarding and multi-currency exchange in one financial product.

[Read case study: LuxPay](https://crassula.io/cases/luxpay/)

A closer look

## Plan the details of your product.

The questions teams ask us before a first call.

[**Not covered here?**Bring your question to a demo with our team.](https://crassula.io/request-demo/)

Are reference rates and executable quotes the same?

No. A reference-rate source and an execution provider have different roles. Configure them accordingly and present the customer with the quote applicable to the selected exchange service.

Can I use both fiat and digital currencies?

Currency Exchange supports traditional and digital-currency workflows through the relevant integrations. Asset, provider and network availability depend on your product configuration.

Can exchange requests require review?

Exchange-request workflows support back-office control for OTC, brokerage and other products that need a reviewed execution process.

Currency Exchange

## Make currency exchange part of your product.

Explore rate sources, pricing rules and the exchange experience your customers will see.

[Request demo](https://crassula.io/request-demo/)

![Currency Exchange - customer app preview](https://crassula.io/static/images/features/configuration/currency-exchange-phone.592db4d46e0e.svg?v=10)
