latestOpenAPI 3.1.02026-08-108094177.6 KB

087dcf516ce2

Managed Custody Mode

Submit on-ramp

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.

post/api/fma/v1/onramp

Headers

X-Api-Signaturestring required

0x-prefixed 65-byte hex EIP-191 signature over the Partner Auth message. See the Signature and verify guide.

X-Api-Deadlinestring required

Unix seconds. UR rejects the request when the current time is past the deadline. Keep the validity window at or under 5 minutes.

X-Api-PublicKeystring required

0x-prefixed partner signer address registered with UR.

X-Ur-Idstring

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.

X-External-User-Idstring

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.

Request body

reqIdstring required

Partner-supplied idempotency key. Keep it stable across retries of the same logical operation.

quoteIdstring required

quoteId from the On-ramp quote. Must match UR's cached quote and not be expired.

fromCurrencystring required

Source fiat currency symbol.

chainIdstring

Source chain ID in CAIP-2 format.

amountInstring required

Input amount as a human-readable decimal string. Must match the amount used for the cached quote.

dstChainIdstring

Destination chain ID in CAIP-2 format.

withdrawAddressstring required

External wallet that receives the crypto. Required for every On-ramp; the UR-managed account holds fiat only and never receives crypto.

dstAggregatorstring

best.to from the quote.

dstTokenOutstring

Destination token address.

dstSwapCalldatastring

best.swapCalldata from the quote.

dstMinAmountOutstring

best.minAmountOut from the quote.

Response

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

codeinteger required

0 on success; non-zero business error code.

messagestring required

Human-readable explanation. May be empty on success.