Create on-ramp request
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.
Partner's EIP-191 signature (0x-prefixed hex).
Unix seconds when the request signature expires (within 5 minutes).
Partner's signer Ethereum address.
Quote ID from /v1/onramp/quote.
Idempotency key; reuse on retry.
UR user ID.
Fiat token symbol from /v1/tokens.
Input amount in smallest units. After conversion, must be at least 5 USDC.
User-specified withdrawal address for the on-ramp.
Source chain ID (currently Mantle only).
Destination chain ID for the bridge or swap.
Aggregator contract address from best.aggregator in the quote.
Destination token symbol.
best.swapCalldata from the quote.
Minimum acceptable amount in smallest units, from best.minUsdcAmount.
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.
Standard response envelope for the partner API (openapi.ur.app).
0 on success; non-zero indicates a business rejection.
Human-readable diagnostic; empty on success.
Business payload. Shape depends on the endpoint.
POST /v1/onramp HTTP/1.1
Host: openapi.ur.app
X-Api-Signature: text
X-Api-Deadline: text
Content-Type: application/json
Accept: */*
Content-Length: 189
{
"quoteId": "onramp_1700000000000000000",
"requestId": "onramp-demo-001",
"urId": 7639951412,
"chainId": "eip155:5000",
"tokenIn": "USD",
"amountIn": "10000",
"withdrawAddress": "0xUserWithdrawAddress"
}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.
{
"code": 0,
"message": "",
"data": {
"txHash": "0x1234567890abcdef..."
}
}Last updated