For the complete documentation index, see llms.txt. This page is also available as Markdown.

Retry on-ramp swap

Redo the swap leg of an On-ramp whose bridge succeeded but whose swap failed. Only call this endpoint when the pending-retry endpoint returns a pending item, and use a fresh quote with scene swap_retry. The transaction webhook reports the final result. On-ramp is not yet available for integration; this reference is a preview.

post
/api/fma/v1/onramp-swap
Authorizations
X-Api-SignaturestringRequired

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.

Header parameters
X-Api-SignaturestringRequired

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

X-Api-DeadlinestringRequired

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

0x-prefixed partner signer address registered with UR.

X-Ur-IdstringOptional

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

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.

Body
reqIdstringRequired

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

quoteIdstringRequired

quoteId from a fresh quote with scene swap_retry.

chainIdstringRequired

Destination chain ID in CAIP-2 format, from the pending retry.

originalTxHashstringRequired

Original On-ramp transaction hash, from the pending retry.

usdcAmountstringRequired

Stuck USDC amount in smallest units (pending retry amountRaw).

tokenOutstringRequired

Destination token address (pending retry toToken).

minAmountOutstringRequired

best.minAmountOut from the retry quote.

aggregatorstringRequired

best.to from the retry quote (not best.aggregator).

swapCalldatastringRequired

best.swapCalldata from the retry quote.

Responses
200

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

application/json

Standard UR OpenAPI response envelope. code 0 means success; a non-zero code is a business error described by message.

codeintegerRequired

0 on success; non-zero business error code.

messagestringRequired

Human-readable explanation. May be empty on success.

post/api/fma/v1/onramp-swap
POST /api/fma/v1/onramp-swap HTTP/1.1
Host: openapi.ur.app
X-Api-Signature: text
X-Api-Deadline: text
X-Api-PublicKey: text
Content-Type: application/json
Accept: */*
Content-Length: 289

{
  "reqId": "onramp-retry-2026-04-24-0001",
  "quoteId": "1inch_1703123000000_12345",
  "chainId": "<dst-chain-CAIP2>",
  "originalTxHash": "0xoriginal...",
  "usdcAmount": "9980000",
  "tokenOut": "0x_DESTINATION_TOKEN_ADDRESS",
  "minAmountOut": "1228327",
  "aggregator": "0xAggregatorAddress",
  "swapCalldata": "0x..."
}
200

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

{
  "code": 0,
  "message": "",
  "data": {
    "txHash": "0xabc123..."
  }
}

Last updated