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

# Submit on-ramp

`POST /api/fma/v1/onramp`

Convert the user's tokenized fiat into crypto delivered to an external wallet. Requires a Live UR account, a valid unexpired quoteId, passed liveness when the quote required it, and no pending retry. The response returns only a txHash; the transaction webhook with data.type ONRAMP reports the final result. 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

- McOnrampRequest
  - `reqId` string, required — Partner-supplied idempotency key. Keep it stable across retries of the same logical operation.
  - `quoteId` string, required — quoteId from the On-ramp quote. Must match UR's cached quote and not be expired.
  - `fromCurrency` string, required — Source fiat currency symbol.
  - `chainId` string — Source chain ID in CAIP-2 format.
  - `amountIn` string, required — Input amount as a human-readable decimal string. Must match the amount used for the cached quote.
  - `dstChainId` string — Destination chain ID in CAIP-2 format.
  - `withdrawAddress` string, required — External wallet that receives the crypto. Required for every On-ramp; the UR-managed account holds fiat only and never receives crypto.
  - `dstAggregator` string — best.to from the quote.
  - `dstTokenOut` string — Destination token address.
  - `dstSwapCalldata` string — best.swapCalldata from the quote.
  - `dstMinAmountOut` string — best.minAmountOut from the quote.

## Response `200`

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

- McTxHashResponse — 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` McTxHashData
    - `txHash` string — On-chain transaction hash of the submitted operation. Submission only; final settlement arrives via the transaction webhook.

---

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