---
title: "Quote Payment Link"
method: POST
path: "/v1/payment-links/{link_id}/quote"
---

# Quote Payment Link

`POST /v1/payment-links/{link_id}/quote`

## Request

- Base URL: `https://api.wheelx.fi`
- URL: `https://api.wheelx.fi/v1/payment-links/{link_id}/quote`
- Auth: none declared

## Path parameters

- `link_id` string, required

## Request body

- PaymentLinkQuoteRequest: Payer fills in the "from" part, the "to" part comes from the link.
  - `from_chain` integer, required
  - `from_token` string, required
  - `from_address` string, required
  - `amount` integer, required
  - `slippage` integer, nullable
  - `is_auto_slippage` boolean
  - `sponsor_gas` boolean
  - `affiliation` string, nullable

## Response `200`

Successful Response

- QuoteResponse
  - `request_id` string, required
  - `amount_out` string, required
  - `fee` string, required
  - `tx` union
    - Tx
      - `to` string, required
      - `value` string, required
      - `data` string, required
      - `chainId` integer, nullable
      - `gas` integer, nullable
      - `maxFeePerGas` integer, nullable
      - `maxPriorityFeePerGas` integer, nullable
    - SolanaTx
      - `tx` string, required
      - `sender` string, nullable
      - `gas` integer, nullable
    - TronTx: TRON TriggerSmartContract transaction from Relay API.
      - `parameter` object, required
      - `type` string
      - `gas` integer, nullable
      - `chainId` integer, nullable
    - BitcoinTx: Raw Bitcoin transaction returned by MetaSwap providers. ``encoding`` distinguishes a PSBT (``psbt``) from a plain Bitcoin send (``btc-send``). The wallet is responsible for signing/broadcasting it; WheelX only passes it through to the client.
      - `to` string
      - `value` string
      - `data` string
      - `chainId` integer, nullable
      - `gas` integer, nullable
      - `description` string, nullable
      - `type` string, nullable
      - `encoding` string, nullable
  - `approve` ApproveAction
    - `token` string, required
    - `spender` string, required
    - `amount` integer, required
  - `slippage` integer, required
  - `min_receive` string, required
  - `estimated_time` number
  - `recipient` string, required
  - `router_type` 'swap' | 'bridge' | 'wrap' | 'unwrap' | 'transfer'
  - `price_impact` PriceImpactFormatted, required
  - `router` string
  - `created_at` string, date-time, required
  - `points` string, required
  - `quote_message` string, nullable
  - `routes` RouteInfo[]
    - `name` string, required
    - `logo` string, nullable
  - `deposit_address` string, nullable
  - `approve_tx` union
    - Tx
      - `to` string, required
      - `value` string, required
      - `data` string, required
      - `chainId` integer, nullable
      - `gas` integer, nullable
      - `maxFeePerGas` integer, nullable
      - `maxPriorityFeePerGas` integer, nullable
    - SolanaTx
      - `tx` string, required
      - `sender` string, nullable
      - `gas` integer, nullable
    - TronTx: TRON TriggerSmartContract transaction from Relay API.
      - `parameter` object, required
      - `type` string
      - `gas` integer, nullable
      - `chainId` integer, nullable
    - BitcoinTx: Raw Bitcoin transaction returned by MetaSwap providers. ``encoding`` distinguishes a PSBT (``psbt``) from a plain Bitcoin send (``btc-send``). The wallet is responsible for signing/broadcasting it; WheelX only passes it through to the client.
      - `to` string
      - `value` string
      - `data` string
      - `chainId` integer, nullable
      - `gas` integer, nullable
      - `description` string, nullable
      - `type` string, nullable
      - `encoding` string, nullable
  - `swap_tx` union
    - Tx
      - `to` string, required
      - `value` string, required
      - `data` string, required
      - `chainId` integer, nullable
      - `gas` integer, nullable
      - `maxFeePerGas` integer, nullable
      - `maxPriorityFeePerGas` integer, nullable
    - SolanaTx
      - `tx` string, required
      - `sender` string, nullable
      - `gas` integer, nullable
    - TronTx: TRON TriggerSmartContract transaction from Relay API.
      - `parameter` object, required
      - `type` string
      - `gas` integer, nullable
      - `chainId` integer, nullable
    - BitcoinTx: Raw Bitcoin transaction returned by MetaSwap providers. ``encoding`` distinguishes a PSBT (``psbt``) from a plain Bitcoin send (``btc-send``). The wallet is responsible for signing/broadcasting it; WheelX only passes it through to the client.
      - `to` string
      - `value` string
      - `data` string
      - `chainId` integer, nullable
      - `gas` integer, nullable
      - `description` string, nullable
      - `type` string, nullable
      - `encoding` string, nullable
  - `gas_fee` string, nullable
  - `bridge_order_id` string, nullable
  - `is_meta` boolean
  - `amount_in` string, nullable
  - `quotes` QuoteItem[], nullable
    - `request_id` string, required
    - `router` string, required
    - `amount_out` string, required
    - `tx` union
      - Tx
        - `to` string, required
        - `value` string, required
        - `data` string, required
        - `chainId` integer, nullable
        - `gas` integer, nullable
        - `maxFeePerGas` integer, nullable
        - `maxPriorityFeePerGas` integer, nullable
      - SolanaTx
        - `tx` string, required
        - `sender` string, nullable
        - `gas` integer, nullable
      - TronTx: TRON TriggerSmartContract transaction from Relay API.
        - `parameter` object, required
        - `type` string
        - `gas` integer, nullable
        - `chainId` integer, nullable
      - BitcoinTx: Raw Bitcoin transaction returned by MetaSwap providers. ``encoding`` distinguishes a PSBT (``psbt``) from a plain Bitcoin send (``btc-send``). The wallet is responsible for signing/broadcasting it; WheelX only passes it through to the client.
        - `to` string
        - `value` string
        - `data` string
        - `chainId` integer, nullable
        - `gas` integer, nullable
        - `description` string, nullable
        - `type` string, nullable
        - `encoding` string, nullable
    - `approve` ApproveAction
      - `token` string, required
      - `spender` string, required
      - `amount` integer, required
    - `routes` RouteInfo[]
      - `name` string, required
      - `logo` string, nullable
    - `sub_routers` string[]
    - `gas_fee` string, nullable
    - `points` string
    - `estimated_time` number, nullable
    - `native_fee` string, nullable
    - `native_fee_usd` string, nullable
    - `is_meta` boolean
    - `bridge_order_id` string, nullable
    - `sub_provider` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-11-03** `2ce52f9bcd17`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wheelx/apis/wheelx-sdk-api/changes/v1/payment-links/:link_id/quote/post.md)

---

[API](https://skmtc.dev/wheelx/apis/wheelx-sdk-api.md) - [All operations](https://skmtc.dev/wheelx/apis/wheelx-sdk-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wheelx/apis/wheelx-sdk-api/revisions/2ce52f9bcd17?raw)
