---
title: "Get an exchange quote"
method: POST
path: "/exchange/calculate"
tags: ["Exchange"]
---

# Get an exchange quote

`POST /exchange/calculate`

Get a fixed exchange quote for a specific amount, which can then be used with [/exchange/fixed](/api-reference/endpoints/exchange-fixed).

## Headers

- `X-Processing-Signature` string, required

## Request body

- object
  - `sender_currency` string, required — Currency to exchange from. For a list of all available currencies, see [API currency codes](/api-reference/currency-codes).
  - `receiver_currency` string, required — Currency to exchange to. For a list of all available currencies, see [API currency codes](/api-reference/currency-codes).
  - `sender_amount` number — Amount to send. You must include either this parameter or `receiver_amount`.
  - `receiver_amount` number — Amount to receive. You must include either this parameter or `sender_amount`.

## Response `200`

OK

- object
  - `data` object
    - `sender_currency` string — The currency being exchanged from.
    - `sender_amount` string — If `sender_amount` was provided in the request, this is the requested send amount. If `receiver_amount` was provided, this is the calculated amount to send.
    - `receiver_currency` string — The currency being exchanged to.
    - `receiver_amount` string — If `receiver_amount` was provided in the request, this is the requested receive amount. If `sender_amount` was provided, this is the calculated amount to receive.
    - `fee_currency` string — The currency in which the exchange fee is charged.
    - `fee_amount` string — The exchange fee amount. If the fee is charged in the sender currency, the total debited amount is `sender_amount + fee_amount`.
    - `price` string — The quoted exchange rate, expressed as units of `receiver_currency` for 1 unit of `sender_currency`.
    - `ts_fixed` integer — Unix timestamp, in seconds, when the quote rate was fixed.
    - `ts_release` integer — Unix timestamp, in seconds, when the quote expires.
    - `fix_period` integer — How long the fixed quote remains valid, in seconds. After this period, request a new quote.

## Other responses

- `400` — Bad Request.
- `403` — Forbidden
- `422` — Unprocessable entity. An internal error occurred during processing. The request was understood but could not be completed. The `errors` field is an array of error messages. The `error_code` is always the string `"internal_error"`.

---

[API](https://skmtc.dev/cryptoprocessing/apis/merchant-backend-v2.md) · [All operations](https://skmtc.dev/cryptoprocessing/apis/merchant-backend-v2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/cryptoprocessing/merchant-backend-v2/revisions/623a41f26c6b/schema)
