Create OnRamp Order
POST/v1/orders/create
Create a new onramp order for buying crypto. For INR currency, if you are using INR_UPI payment mode, provide UPI ID in the request. For INR_IMPS payment mode, provide bank account details in the request.
- Get available
paymentModevalues from the Supported Currencies API. - Get
buyTokenSymbolbuyTokenAddresschainIdfrom the Fetch Tokens API. receiverAddressis the user wallet address where he wants token to be sent.
Example Request
{
"buyTokenSymbol": "USDT",
"buyTokenAddress": "0xc2132d05d31c914a87c6611c10748aeb04b58e8f",
"chainId": 137,
"fiatCurrency": "inr",
"fiatAmount": 500,
"receiverAddress": "xxxxxxxx",
"paymentMode": "INR_IMPS",
"bankDetails": {
"accountNumber": "XXXXXXX",
"accountName": "JOHN DOE",
"ifsc": "XXXXXXXX"
}
}
Order Details
- Execution time: Orders are typically completed within 3 to 5 minutes after payment is confirmed.
- Order expiry: Orders expire after 3 hours. If payment is not made within this window, the order will be marked as expired.
- Wrong payment account: If payment is made from a bank account or UPI ID that is not linked to the user's Onmeta profile, the order will move to
fiatRefundInitiatedstatus and a fiat refund will be processed within 24 hours. - UTR submission: After making payment, the UTR (transaction reference) must be submitted using the Update UTR API.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 429
- 430
OnRamp order created — complete payment to the returned account or UPI details.
Bad Request — one of several validation failures:
Income not verified— (INR only) Income verification not submitted. Redirect user to the KYC Widget.
Unauthorized — missing or expired Bearer token or API key.
Blocked profile — (INR only) user has been flagged by the risk engine. Do not retry — show the user a support message.
Token not supported — the requested token is not enabled for your API key. Use the Fetch Tokens API to get the list of supported tokens.
Daily limit exceeded — (INR only) user's daily transaction limit has been reached. Use the Fetch User Limit API to check remaining limit before order creation.
Wallet address already linked to another account — a wallet address can only be registered to one user account. Use a different wallet address.