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

Retry on-ramp swap with permit

Executes the destination-chain swap retry for a failed on-ramp. Requires a fresh quote with scene swap_retry; request fields must match the quote cache and the original retry record.

post
/api/v1/onramp-swap-with-permit
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
tokenIdstringRequired

The user's URID (NFT token id).

networkstringRequired

Network identifier: 5000 for mainnet, 5003 for testnet.

signstringRequired

Signature generated by the user's wallet key (EIP-191).

hashstringRequired

SHA3/Keccak256 hash of the original request payload.

deadlinestringRequired

Signature expiry: server timestamp plus a validity window (max 20 minutes).

Body
quoteIdstringRequired

quoteId from a fresh quote with scene swap_retry.

chainIdstringRequired

Destination chain ID (CAIP-2), from the pending retry.

originalTxHashstringRequired

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

usdcAmountstringRequired

Stuck USDC amount in smallest units.

tokenOutstringRequired

Destination token address.

minAmountOutstringRequired

best.minAmountOut from the retry quote.

aggregatorstringRequired

best.to from the retry quote.

swapCalldatastringRequired

best.swapCalldata from the retry quote.

permitDeadlineintegerRequired

Unix seconds until which the permit is valid.

permitVintegerRequired

EIP-2612 signature component v.

permitRstringRequired

EIP-2612 signature component r.

permitSstringRequired

EIP-2612 signature component s.

Responses
200

Response envelope. For the user API, retCode 0 means success; for the partner API, code 0 means success. Business rejections return HTTP 200 with a non-zero code.

application/json

Standard response envelope for the user API (api.ur.app).

retCodeinteger · int64Required

0 on success; non-zero indicates failure.

retMsgstringRequired

Human-readable message; error details when retCode is non-zero.

resultanyOptional

Business payload. Shape depends on the endpoint; some endpoints return it as a JSON-encoded string.

timeNowinteger · int64Optional

Server timestamp in milliseconds.

post/api/v1/onramp-swap-with-permit
POST /api/v1/onramp-swap-with-permit HTTP/1.1
Host: api.ur.app
X-Api-Signature: YOUR_API_KEY
tokenId: text
network: text
sign: text
hash: text
deadline: text
Content-Type: application/json
Accept: */*
Content-Length: 226

{
  "quoteId": "text",
  "chainId": "text",
  "originalTxHash": "text",
  "usdcAmount": "text",
  "tokenOut": "text",
  "minAmountOut": "text",
  "aggregator": "text",
  "swapCalldata": "text",
  "permitDeadline": 1,
  "permitV": 1,
  "permitR": "text",
  "permitS": "text"
}
200

Response envelope. For the user API, retCode 0 means success; for the partner API, code 0 means success. Business rejections return HTTP 200 with a non-zero code.

{
  "retCode": 0,
  "retMsg": "success",
  "result": {
    "txHash": "0xretrytx..."
  },
  "timeNow": 1703123456789
}

Last updated