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

# Get off-ramp quote

`POST /api/fma/v1/quote/deposit`

Request an Off-ramp quote for converting crypto on a supported source chain into the user's tokenized fiat. Pass best.to, best.swapCalldata, and best.minUsdcAmount to the Off-ramp contract exactly as returned, and submit before best.deadline. Final settlement is reported asynchronously through the transaction webhook with data.type CRYPTO_DEPOSIT.

## 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

- McOfframpQuoteRequest
  - `chainId` string, required — Source chain ID in CAIP-2 format. See Supported Chains and Tokens.
  - `fromToken` string, required — Source crypto token contract address.
  - `toCurrency` string, required — Target fiat currency symbol (USD, EUR, CHF, SGD, JPY, HKD).
  - `amount` string, required — Human-readable decimal string. UR converts it to token smallest units using the source token decimals.

## Response `200`

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

- McOfframpQuoteResponse — 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` McOfframpQuoteData
    - `quoteId` string — Quote identifier.
    - `chainId` string — Source chain ID in CAIP-2 format.
    - `targetAccount` string — The user's UR Account address. Use as the _targetAccount contract parameter so the resulting fiat is credited to the user.
    - `best` McOfframpQuoteBest — Best aggregator route. Pass to, swapCalldata, and minUsdcAmount to the Off-ramp contract exactly as returned.
      - `aggregator` string — Aggregator name.
      - `to` string — Aggregator contract address. Use as the _aggregator contract parameter.
      - `swapCalldata` string — Swap calldata. Use as the _swapCalldata contract parameter.
      - `minUsdcAmount` string — Minimum USDC amount in smallest units. Use as the _minUsdcAmount contract parameter.
      - `expectedUsdcAmount` string — Expected USDC amount in smallest units.
      - `slippageBps` integer — Applied slippage in basis points.
      - `deadline` integer — Unix seconds. Submit the contract transaction before this deadline; otherwise it can revert.
      - `priceImpact` string — Estimated price impact.
    - `inputAmount` string — Input amount echoed from the request.
    - `outputAmount` string — Estimated fiat output amount.
    - `exchangeRate` string — Applied exchange rate.
    - `crossChainFee` string — Cross-chain fee in the source chain's native token, paid by the user in addition to the amount.
    - `networkFee` string — Network fee in the source chain's native token, paid by the user in addition to the amount.
    - `amountReceived` string — Tempo chain only: actual USDC amount received on Arbitrum, in smallest units.
    - `processingFee` string — Processing fee.

---

[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)
