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

Initiate on-ramp with permit

On-ramp is not yet generally available; this endpoint is documented for preview only. Submits the on-ramp transaction with an EIP-2612 permit signature. Requires a valid cached quote (quoteId binding) and passed liveness when required; mismatched or expired quotes are rejected.

post
/api/v1/onramp-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 the on-ramp quote.

chainIdstringRequired

Source chain ID (CAIP-2).

tokenInstringRequired

Fiat token contract address.

amountInstringRequired

Input amount in smallest units; must match the cached quote.

dstChainIdstringOptional

Destination chain ID (CAIP-2).

dstAggregatorstringOptional

best.to from the quote.

dstTokenOutstringOptional

Destination token address.

dstSwapCalldatastringOptional

best.swapCalldata from the quote.

dstMinAmountOutstringOptional

best.minAmountOut from the 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-with-permit
POST /api/v1/onramp-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: 249

{
  "quoteId": "text",
  "chainId": "text",
  "tokenIn": "text",
  "amountIn": "text",
  "dstChainId": "text",
  "dstAggregator": "text",
  "dstTokenOut": "text",
  "dstSwapCalldata": "text",
  "dstMinAmountOut": "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": "0xabc123..."
  },
  "timeNow": 1703123456789
}

Last updated