---
title: "Quote PayOrder"
method: POST
path: "/pay-orders/{payorder_id}/quote"
tags: ["pay-orders"]
---

# Quote PayOrder

`POST /pay-orders/{payorder_id}/quote`

## Request

- Base URL: `https://api.coinvoyage.io/v2`
- URL: `https://api.coinvoyage.io/v2/pay-orders/{payorder_id}/quote`
- Auth: API key in header `X-API-KEY`
- TypeScript: <https://skmtc.dev/coinvoyage/apis/coinvoyage-api/docs/pay-orders/:payorder_id/quote/post.ts> (a function with typed inputs; its response is checked against the schema)

Get payment quotes for a PayOrder

## Path parameters

- `payorder_id` string, required

## Headers

- `X-API-KEY` string, required

## Request body

- OrderQuoteRequest
  - `wallet_address` string, required
  - `chain_type` 'EVM' | 'SOL' | 'SUI' | 'UTXO', required
  - `chain_ids` ChainID[]

## Response `200`

Quote results

- object[]
  - `id` string, required
  - `address` string, nullable
  - `chain_id` 1 | 10 | 56 | 137 | 8453 | 42161 | 20000000000001 | 30000000000001 | 30000000000002, required
  - `decimals` integer, required
  - `name` string, required
  - `ticker` string, required
  - `image_uri` string, nullable
  - `price_usd` number, nullable
  - `currency_amount` CurrencyAmount, required
    - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
    - `ui_amount_display` string, required
    - `raw_amount` string, required: A big integer represented as a string to preserve precision
    - `value_usd` number, required
  - `amount_out_minimum` CurrencyAmount
    - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
    - `ui_amount_display` string, required
    - `raw_amount` string, required: A big integer represented as a string to preserve precision
    - `value_usd` number, required
  - `total` CurrencyAmount, required
    - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
    - `ui_amount_display` string, required
    - `raw_amount` string, required: A big integer represented as a string to preserve precision
    - `value_usd` number, required
  - `base` CurrencyAmount, required
    - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
    - `ui_amount_display` string, required
    - `raw_amount` string, required: A big integer represented as a string to preserve precision
    - `value_usd` number, required
  - `fees` FeeBreakdown
    - `total_fee` CurrencyAmount, required
      - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
      - `ui_amount_display` string, required
      - `raw_amount` string, required: A big integer represented as a string to preserve precision
      - `value_usd` number, required
    - `protocol_fee` CurrencyAmount
      - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
      - `ui_amount_display` string, required
      - `raw_amount` string, required: A big integer represented as a string to preserve precision
      - `value_usd` number, required
    - `custom_fee` CurrencyAmount
      - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
      - `ui_amount_display` string, required
      - `raw_amount` string, required: A big integer represented as a string to preserve precision
      - `value_usd` number, required
    - `relayer_fee` CurrencyAmount
      - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
      - `ui_amount_display` string, required
      - `raw_amount` string, required: A big integer represented as a string to preserve precision
      - `value_usd` number, required
  - `gas` CurrencyAmount
    - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
    - `ui_amount_display` string, required
    - `raw_amount` string, required: A big integer represented as a string to preserve precision
    - `value_usd` number, required
  - `balance` CurrencyAmount
    - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
    - `ui_amount_display` string, required
    - `raw_amount` string, required: A big integer represented as a string to preserve precision
    - `value_usd` number, required
  - `quote_id` string
  - `output` CurrencyWithAmount, required
    - `id` string, required
    - `address` string, nullable
    - `chain_id` 1 | 10 | 56 | 137 | 8453 | 42161 | 20000000000001 | 30000000000001 | 30000000000002, required
    - `decimals` integer, required
    - `name` string, required
    - `ticker` string, required
    - `image_uri` string, nullable
    - `price_usd` number, nullable
    - `currency_amount` CurrencyAmount, required
      - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
      - `ui_amount_display` string, required
      - `raw_amount` string, required: A big integer represented as a string to preserve precision
      - `value_usd` number, required
    - `amount_out_minimum` CurrencyAmount
      - `ui_amount` number, required: Approximate numeric amount. Do not use for payment construction; use raw_amount for exact amounts and ui_amount_display for display.
      - `ui_amount_display` string, required
      - `raw_amount` string, required: A big integer represented as a string to preserve precision
      - `value_usd` number, required
  - `swap_mode` 'ExactIn' | 'ExactOut', required
  - `providers` string[]
  - `slippage_bps` integer, nullable
  - `price_impact` number, required

## Other responses

- `400`: Bad Request - Quote destination amount required
- `401`: Unauthorized - Authentication required
- `404`: Not Found - PayOrder not found
- `422`: Unprocessable Entity - Invalid request body format
- `500`: Internal Server Error

---

[API](https://skmtc.dev/coinvoyage/apis/coinvoyage-api.md) - [All operations](https://skmtc.dev/coinvoyage/apis/coinvoyage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coinvoyage/apis/coinvoyage-api/revisions/29e628200554?raw)
