> For the complete documentation index, see [llms.txt](https://docs.ur.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ur.app/api-reference/api/account/managed-custody-mode/get-on-ramp-quote.md).

# Get on-ramp quote

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.

```json
{"openapi":"3.1.0","info":{"title":"UR API","version":"1.0.0"},"tags":[{"name":"Managed Custody Mode","description":"Server-to-server APIs where UR custodies user funds. Partner Auth (EIP-191) with user identity headers."}],"servers":[{"url":"https://openapi.ur.app","description":"Production (partner API)"},{"url":"https://uropenapi-qa.ur-inc.xyz","description":"Testnet (partner API)"}],"security":[{"partnerAuth":[]},{"userWalletAuth":[]}],"components":{"securitySchemes":{"partnerAuth":{"type":"apiKey","in":"header","name":"X-Api-Signature","description":"Partner Auth: EIP-191 signature by the partner's registered backend key, with X-Api-Deadline and optional X-Api-PublicKey headers. See the Signature and verify guide."},"userWalletAuth":{"type":"apiKey","in":"header","name":"sign","description":"User wallet auth (External Wallet Access Mode): EIP-191 signature by the user's wallet key, with tokenId, network, hash, and deadline headers. See the Signature and verify guide."}},"schemas":{"McOnrampQuoteRequest":{"type":"object","required":["scene","dstChainId","toToken","amount"],"properties":{"scene":{"type":"string","enum":["onramp","swap_retry"],"description":"onramp for the main flow; swap_retry for retrying a failed swap leg."},"srcChainId":{"type":"string","description":"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":{"type":"string","description":"Destination chain ID in CAIP-2 format. Must match a token with aggregator support in the chain config."},"fromCurrency":{"type":"string","description":"Source fiat currency symbol. Required when scene is onramp."},"fromToken":{"type":"string","description":"USDC token address. Required when scene is swap_retry."},"toToken":{"type":"string","description":"Destination token address."},"amount":{"type":"string","description":"Input amount as a human-readable decimal string; UR converts it to smallest units by the input currency decimals."},"slippageBps":{"type":"integer","description":"Slippage tolerance in basis points. Defaults to 50."}}},"McOnrampQuoteResponse":{"allOf":[{"$ref":"#/components/schemas/McBaseResponse"},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/McOnrampQuoteData"}}}]},"McBaseResponse":{"type":"object","description":"Standard UR OpenAPI response envelope. code 0 means success; a non-zero code is a business error described by message.","required":["code","message"],"properties":{"code":{"type":"integer","description":"0 on success; non-zero business error code."},"message":{"type":"string","description":"Human-readable explanation. May be empty on success."}}},"McOnrampQuoteData":{"type":"object","properties":{"quoteId":{"type":"string","description":"Quote identifier. Echo it in the On-ramp submission before it expires."},"srcChainId":{"type":"string"},"dstChainId":{"type":"string"},"needLiveness":{"type":"boolean","description":"True when the user must pass a liveness check before this quote can be submitted."},"best":{"$ref":"#/components/schemas/McOnrampQuoteBest"},"inputAmount":{"type":"string","description":"Input fiat amount."},"outputAmount":{"type":"string","description":"Estimated output token amount."},"exchangeRate":{"type":"string","description":"Applied exchange rate."},"crossChainFee":{"type":"string","description":"Cross-chain fee component."},"networkFee":{"type":"string","description":"Destination-chain gas plus cross-chain fee, deducted from the user's input fiat."},"processingFee":{"type":"string","description":"Processing fee."},"totalFee":{"type":"string","description":"Total fee."},"warningMessage":{"type":"string","description":"Warning text, when applicable."}}},"McOnrampQuoteBest":{"type":"object","description":"Best aggregator route for the destination-chain swap.","properties":{"aggregator":{"type":"string","description":"Aggregator name. Do not use as the retry aggregator parameter; use to instead."},"to":{"type":"string","description":"Aggregator contract address. Use as dstAggregator (submit) or aggregator (retry)."},"swapCalldata":{"type":"string","description":"Swap calldata. Use as dstSwapCalldata (submit) or swapCalldata (retry)."},"minUsdcAmount":{"type":"string","description":"Minimum USDC amount in smallest units."},"expectedUsdcAmount":{"type":"string","description":"Expected USDC amount in smallest units."},"minAmountOut":{"type":"string","description":"Minimum output amount in smallest units. Use as dstMinAmountOut (submit) or minAmountOut (retry)."},"expectedAmountOut":{"type":"string","description":"Expected output amount in smallest units."},"slippageBps":{"type":"integer","description":"Applied slippage in basis points."},"deadline":{"type":"integer","description":"Quote deadline in Unix seconds."},"priceImpact":{"type":"string","description":"Estimated price impact."}}}}},"paths":{"/api/fma/v1/quote/onramp":{"post":{"tags":["Managed Custody Mode"],"operationId":"mcGetOnrampQuote","summary":"Get on-ramp quote","description":"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.","parameters":[{"name":"X-Api-Signature","in":"header","required":true,"schema":{"type":"string"},"description":"0x-prefixed 65-byte hex EIP-191 signature over the Partner Auth message. See the Signature and verify guide."},{"name":"X-Api-Deadline","in":"header","required":true,"schema":{"type":"string"},"description":"Unix seconds. UR rejects the request when the current time is past the deadline. Keep the validity window at or under 5 minutes."},{"name":"X-Api-PublicKey","in":"header","required":true,"schema":{"type":"string"},"description":"0x-prefixed partner signer address registered with UR."},{"name":"X-Ur-Id","in":"header","required":false,"schema":{"type":"string"},"description":"Send at least one of X-Ur-Id or X-External-User-Id. When both are present, UR resolves the user by X-Ur-Id first."},{"name":"X-External-User-Id","in":"header","required":false,"schema":{"type":"string"},"description":"Send at least one of X-Ur-Id or X-External-User-Id. When both are present, UR resolves the user by X-Ur-Id first."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/McOnrampQuoteRequest"}}}},"responses":{"200":{"description":"Standard envelope. Business errors return HTTP 200 with a non-zero code.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McOnrampQuoteResponse"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ur.app/api-reference/api/account/managed-custody-mode/get-on-ramp-quote.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
