---
title: "Check Exchange Route"
canonical_url: "https://docs.stablegate.com/docs/apiref/exchange-routes/check-exchange-route"
---
# Check Exchange Route

::api-operation{color="info" endpoint="/v1/exchange-routes/check/" method="POST"}
## Authorization

::field-group
::field{name="X-Api-Key" type="string" :required="true"}
API key generated in the Developers section of the Stablegate app. Send it in the `X-Api-Key` header on every request; the partner API does not require request signing.
::
::

## Request body

::field-group
::field{name="source" type="object" :required="true"}
::collapsible{name="properties"}
::field-group
::field{name="rail" type="string" :required="true"}
One of: `bitcoin`, `sepa`, `sepa_instant`, `swift`, `ach`, `wire`, `visa`, `mastercard`, `ethereum`, `algorand`, `polygon`, `ripple`, `xinfin`, `stellar`, `tron`
::

::field{name="asset_code" type="string" :required="true"}
One of: `EUR`, `USD`, `AED`, `CHF`, `GBP`, `CAD`, `AUD`, `NZD`, `CNY`, `HKD`, `JPY`, `SGD`, `THB`, `ILS`, `SAR`, `ZAR`, `PLN`, `ETH`, `BTC`, `XLM`, `TRX`, `MYR`, `USDT`, `USDC`, `EURS`, `EURC`
::
::
::
::

::field{name="destination" type="object" :required="true"}
::collapsible{name="properties"}
::field-group
::field{name="rail" type="string" :required="true"}
One of: `bitcoin`, `sepa`, `sepa_instant`, `swift`, `ach`, `wire`, `visa`, `mastercard`, `ethereum`, `algorand`, `polygon`, `ripple`, `xinfin`, `stellar`, `tron`
::

::field{name="asset_code" type="string" :required="true"}
One of: `EUR`, `USD`, `AED`, `CHF`, `GBP`, `CAD`, `AUD`, `NZD`, `CNY`, `HKD`, `JPY`, `SGD`, `THB`, `ILS`, `SAR`, `ZAR`, `PLN`, `ETH`, `BTC`, `XLM`, `TRX`, `MYR`, `USDT`, `USDC`, `EURS`, `EURC`
::
::
::
::
::

## Responses

::tabs
::tabs-item{label="200"}
Successful Response

::field-group
:field{name="available" type="boolean" :required="true"}::field{name="route" type="object | null"}
::collapsible{name="properties"}
::field-group
::field{name="source" type="object" :required="true"}
::collapsible{name="properties"}
::field-group
::field{name="rail" type="string" :required="true"}
One of: `bitcoin`, `sepa`, `sepa_instant`, `swift`, `ach`, `wire`, `visa`, `mastercard`, `ethereum`, `algorand`, `polygon`, `ripple`, `xinfin`, `stellar`, `tron`
::

::field{name="asset" type="object" :required="true"}
::collapsible{name="properties"}
::field-group
::field{name="code" type="string" :required="true"}
One of: `EUR`, `USD`, `AED`, `CHF`, `GBP`, `CAD`, `AUD`, `NZD`, `CNY`, `HKD`, `JPY`, `SGD`, `THB`, `ILS`, `SAR`, `ZAR`, `PLN`, `ETH`, `BTC`, `XLM`, `TRX`, `MYR`, `USDT`, `USDC`, `EURS`, `EURC`
::

:field{name="fraction_digits" type="integer" :required="true"}
::
::
::
::
::
::

::field{name="destination" type="object" :required="true"}
::collapsible{name="properties"}
::field-group
::field{name="rail" type="string" :required="true"}
One of: `bitcoin`, `sepa`, `sepa_instant`, `swift`, `ach`, `wire`, `visa`, `mastercard`, `ethereum`, `algorand`, `polygon`, `ripple`, `xinfin`, `stellar`, `tron`
::

::field{name="asset" type="object" :required="true"}
::collapsible{name="properties"}
::field-group
::field{name="code" type="string" :required="true"}
One of: `EUR`, `USD`, `AED`, `CHF`, `GBP`, `CAD`, `AUD`, `NZD`, `CNY`, `HKD`, `JPY`, `SGD`, `THB`, `ILS`, `SAR`, `ZAR`, `PLN`, `ETH`, `BTC`, `XLM`, `TRX`, `MYR`, `USDT`, `USDC`, `EURS`, `EURC`
::

:field{name="fraction_digits" type="integer" :required="true"}
::
::
::
::
::
::
::
::
::
::
::

::tabs-item{label="422"}
Validation Error

::field-group
:field{name="trace_id" type="string" :required="true"}::field{name="error_code" type="string" :required="true"}
One of: `devapi_internal_error`, `devapi_request_validation_error`, `devapi_iban_parse_error`, `devapi_customer_close_error`, `devapi_bank_code_required_error`, `devapi_download_aol_error`, `devapi_not_found_error`, `devapi_bad_request_error`, `devapi_email_occupied_error`, `devapi_idempotency_invalid_key`, `devapi_idempotency_key_misuse`, `devapi_idempotency_request_in_progress`, `devapi_kyc_application_link_error`, `devapi_instant_verification_error`, `devapi_unauthorized_error`, `devapi_forbidden_error`, `devapi_method_not_allowed_error`, `devapi_service_unavailable_error`
::

:field{name="message" type="string" :required="true"}::field{name="details" type="object[]" :required="true"}
::collapsible{name="properties"}
::field-group
:field{name="loc" type="string | string[]" :required="true"}:field{name="msg" type="string" :required="true"}:field{name="type" type="string" :required="true"}
::
::
::
::
::
::

::template{v-slot:samples=""}
::code-switcher{body="{"source":{"rail":"bitcoin","asset_code":"EUR"},"destination":{"rail":"bitcoin","asset_code":"EUR"}}" method="POST" path="/v1/exchange-routes/check/"}
```bash
curl https://api.stablegate.com/v1/exchange-routes/check/ \
  --request POST \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "source": {
    "rail": "bitcoin",
    "asset_code": "EUR"
  },
  "destination": {
    "rail": "bitcoin",
    "asset_code": "EUR"
  }
}'
```
::

::code-group
```json [200]
{
  "available": true,
  "route": {
    "source": {
      "rail": "bitcoin",
      "asset": {
        "code": "EUR",
        "fraction_digits": 0
      }
    },
    "destination": {
      "rail": "bitcoin",
      "asset": {
        "code": "EUR",
        "fraction_digits": 0
      }
    }
  }
}
```

```json [422]
{
  "trace_id": "string",
  "error_code": "devapi_internal_error",
  "message": "string",
  "details": [
    {
      "loc": "string",
      "msg": "string",
      "type": "string"
    }
  ]
}
```
::
::
::


## Sitemap

See the full [sitemap](https://docs.stablegate.com/sitemap.md) for all pages.
