---
title: "Request a Quote"
method: POST
path: "/orders/quotes"
tags: ["orders-quotes"]
---

# Request a Quote

`POST /orders/quotes`

## Request body

- QuoteRequestDto
  - `amount` number, required — asset amount
  - `payoutCurrency` string, required — payout currency
  - `paymentChannel` 'BANK_TRANSFER' | 'MOBILE_MONEY' | 'P2P_WALLET', required — Payment channel a provider is used for
  - `type` 'BUY' | 'SELL'
  - `paymentMode` 'DEPOSIT' | 'INTERNAL_TRANSFER' — How the buyer is paying fiat for a BUY order. Chosen at quote time on `POST /quotes` and persisted on the resulting quote; the BUY order then inherits the value when it references the quote. Clients do not (and cannot) re-specify it on the order request — the quote is the binding contract. - `DEPOSIT` — buyer transfers fiat from an external bank account into the merchant's pay-in account. Every payouts provider supports this and it is the default when the field is omitted. - `INTERNAL_TRANSFER` — buyer pays via an internal transfer routed through a configured override provider (currently `onb-nuban` for merchants on `onb-nuban-collections`). Quote generation filters out merchants whose payment account doesn't have `providerDetails.supportsCustomPayin=true`, or whose provider has no configured internal-transfer override on the order service. If no merchant satisfies the request, quote generation returns `NoMatchingQuoteException` rather than producing a quote that would later fail at order placement.

## Response `200`

Success

- QuoteResponseDto
  - `quote` QuoteDto
    - `id` string, uuid
    - `adId` string, uuid
    - `payoutCurrency` string
    - `rate` number
    - `minimumAmount` number
    - `maximumAmount` number
    - `expiresAt` string, date-time — Timestamp field.
    - `paymentMode` 'DEPOSIT' | 'INTERNAL_TRANSFER' — How the buyer is paying fiat for a BUY order. Chosen at quote time on `POST /quotes` and persisted on the resulting quote; the BUY order then inherits the value when it references the quote. Clients do not (and cannot) re-specify it on the order request — the quote is the binding contract. - `DEPOSIT` — buyer transfers fiat from an external bank account into the merchant's pay-in account. Every payouts provider supports this and it is the default when the field is omitted. - `INTERNAL_TRANSFER` — buyer pays via an internal transfer routed through a configured override provider (currently `onb-nuban` for merchants on `onb-nuban-collections`). Quote generation filters out merchants whose payment account doesn't have `providerDetails.supportsCustomPayin=true`, or whose provider has no configured internal-transfer override on the order service. If no merchant satisfies the request, quote generation returns `NoMatchingQuoteException` rather than producing a quote that would later fail at order placement.
  - `fallbackQuote` QuoteDto
    - `id` string, uuid
    - `adId` string, uuid
    - `payoutCurrency` string
    - `rate` number
    - `minimumAmount` number
    - `maximumAmount` number
    - `expiresAt` string, date-time — Timestamp field.
    - `paymentMode` 'DEPOSIT' | 'INTERNAL_TRANSFER' — How the buyer is paying fiat for a BUY order. Chosen at quote time on `POST /quotes` and persisted on the resulting quote; the BUY order then inherits the value when it references the quote. Clients do not (and cannot) re-specify it on the order request — the quote is the binding contract. - `DEPOSIT` — buyer transfers fiat from an external bank account into the merchant's pay-in account. Every payouts provider supports this and it is the default when the field is omitted. - `INTERNAL_TRANSFER` — buyer pays via an internal transfer routed through a configured override provider (currently `onb-nuban` for merchants on `onb-nuban-collections`). Quote generation filters out merchants whose payment account doesn't have `providerDetails.supportsCustomPayin=true`, or whose provider has no configured internal-transfer override on the order service. If no merchant satisfies the request, quote generation returns `NoMatchingQuoteException` rather than producing a quote that would later fail at order placement.

## Other responses

- `400` — Bad request
- `401` — Unauthorized request
- `404` — Resource not found
- `500` — Server error

---

[API](https://skmtc.net/nestechops/apis/onboard-external-api-gateway.md) · [All operations](https://skmtc.net/nestechops/apis/onboard-external-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/nestechops/onboard-external-api-gateway/revisions/35fe01ca087b/schema)
