---
title: "Get on-ramp quote"
method: POST
path: "/api/fma/v1/quote/onramp"
tags: ["Managed Custody Mode"]
---

# Get on-ramp quote

`POST /api/fma/v1/quote/onramp`

Quote an On-ramp (scene onramp) or a retry swap (scene swap_retry). When the response has needLiveness true, complete the liveness check before submitting; after liveness passes, request a new quote and submit with the new quoteId. On-ramp is not yet available for integration; this reference is a preview.

## Headers

- `X-Api-Signature` string, required
- `X-Api-Deadline` string, required
- `X-Api-PublicKey` string, required
- `X-Ur-Id` string
- `X-External-User-Id` string

## Request body

- McOnrampQuoteRequest
  - `scene` 'onramp' | 'swap_retry', required — onramp for the main flow; swap_retry for retrying a failed swap leg.
  - `srcChainId` string — Source chain ID in CAIP-2 format; the chain where the user's tokenized fiat is held. For swap_retry, use the pending retry's chainId.
  - `dstChainId` string, required — Destination chain ID in CAIP-2 format. Must match a token with aggregator support in the chain config.
  - `fromCurrency` string — Source fiat currency symbol. Required when scene is onramp.
  - `fromToken` string — USDC token address. Required when scene is swap_retry.
  - `toToken` string, required — Destination token address.
  - `amount` string, required — Input amount as a human-readable decimal string; UR converts it to smallest units by the input currency decimals.
  - `slippageBps` integer — Slippage tolerance in basis points. Defaults to 50.

## Response `200`

Standard envelope. Business errors return HTTP 200 with a non-zero code.

- McOnrampQuoteResponse — Standard UR OpenAPI response envelope. code 0 means success; a non-zero code is a business error described by message.
  - `code` integer, required — 0 on success; non-zero business error code.
  - `message` string, required — Human-readable explanation. May be empty on success.
  - `data` McOnrampQuoteData
    - `quoteId` string — Quote identifier. Echo it in the On-ramp submission before it expires.
    - `srcChainId` string
    - `dstChainId` string
    - `needLiveness` boolean — True when the user must pass a liveness check before this quote can be submitted.
    - `best` McOnrampQuoteBest — Best aggregator route for the destination-chain swap.
      - `aggregator` string — Aggregator name. Do not use as the retry aggregator parameter; use to instead.
      - `to` string — Aggregator contract address. Use as dstAggregator (submit) or aggregator (retry).
      - `swapCalldata` string — Swap calldata. Use as dstSwapCalldata (submit) or swapCalldata (retry).
      - `minUsdcAmount` string — Minimum USDC amount in smallest units.
      - `expectedUsdcAmount` string — Expected USDC amount in smallest units.
      - `minAmountOut` string — Minimum output amount in smallest units. Use as dstMinAmountOut (submit) or minAmountOut (retry).
      - `expectedAmountOut` string — Expected output amount in smallest units.
      - `slippageBps` integer — Applied slippage in basis points.
      - `deadline` integer — Quote deadline in Unix seconds.
      - `priceImpact` string — Estimated price impact.
    - `inputAmount` string — Input fiat amount.
    - `outputAmount` string — Estimated output token amount.
    - `exchangeRate` string — Applied exchange rate.
    - `crossChainFee` string — Cross-chain fee component.
    - `networkFee` string — Destination-chain gas plus cross-chain fee, deducted from the user's input fiat.
    - `processingFee` string — Processing fee.
    - `totalFee` string — Total fee.
    - `warningMessage` string — Warning text, when applicable.

---

[API](https://skmtc.net/ur/apis/ur-api.md) · [All operations](https://skmtc.net/ur/apis/ur-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ur/ur-api/revisions/087dcf516ce2/schema)
