Developer FAQs
it will take a maximum of 1 hour if clients have a clear idea of how they want to execute and have the following basics covered
- A functioning app
- List of tokens and blockchains to set up with
- KYC flow needed or not
- Designs and logics for how clients want to act based on the widget events that Onmeta streams in webhook
You can set up the list of tokens that you want by using the “Search Coins” section of the Onmeta dashboard.
If you don’t select any tokens then the default token list of the widget will appear. The tokens setup as default include the following - USDC, USDT, WBTC, WETH, PLOT, MATIC, PS1, UFARM, BNB, BOLT USDs
Chain ID is a symbol that is passed over a network during a handshake and allows nodes not to connect to the nodes of other networks
You can find the different chain ID's here.
You can find the API keys inside the developer section of the Onmeta dashboard.
Yes we provide a staging environment to test the widget. You can access staging environment API keys by creating an account here. You can integrate the staging widget by using this documentation.
Yes, we support integration queries via WhatsApp and Telegram channels. You can also book Calendly meetings with our technical experts with a short notice.
Yes, one of your technical experts verifies the integration done by clients for good practices and gives a thumbs up for going live. Our experts are also available for discussions and help immediately before going live.
We have a live chat widget using which customers can raise queries to us. The live chat widget can be accessed by clicking the hamburger menu in the top right corner.
Our widget is customizable for your needs in more ways than one. Following are some of the customizations that we provide and clients can choose based on their needs
- Onramp or Offramp or Both
- Choose to use the KYC in our widget or use your own KYC
- Customized the list of exact tokens that you want
- Option to “whitelist” end user emails so users don’t end up going through OTP verification every time they login
- Option to initialize the widget with wallet address so that the customers don't need to type the same
- Choose UPI or bank transfer option or both
You can check the "Customizing widget" section in the Onmeta Widget Integration documentation
You can initialize the widget with customers wallet address by passing an additional parameter in the widget script called "walletAddress" with the address of the end users wallet
No, you can customize so that your users don't have to login. You can initialize the widget with customers email address by passing an additional parameter in the widget script called "userEmail" with the email address of the user
Not mandatory. By default we keep our KYC module turned off in the widget. If you feel the need to use our KYC module then reach out to us at [email protected] or ask us in the telegram or whatsapp channel that we created for the purpose of integration.
We currently use the KYC module of Hyperverge. We are happy to make an Introduction to them if you want to directly integrate with them.
For Indian Market: We verify the PAN, Aadhaar and do a face match of selfie and the photo from your PAN
Yes we support real time KYC and it can be completed within a minute typically
You or the end user can email us the KYC documents at [email protected] and we will get your account verified manually
Yes, we have incorporated Industry standard security measures to protect the end users data.
The quote gets updated every 15 seconds or when the user changes the input
We have setup slippage fee limits in our transactions with the central and decentralized exchanges to limit the losses our customers might face due to market effects.
Slippage fee is the difference (in %) between the quantity of token we promise to give in the quote and the quantity of token that we eventually deliver to you. Our slippage fee is typically less than 0.5%
Gas fee varies from chain to chain. It is calculated by using the combination of the gas price and the gas units needed to process the transaction. We fetch live gas price and gas units to enable fast transactions on your behalf.
We deduct TDS only for offramp transactions. TDS is 1% based on the latest ruling by the government of India.
We will provide invoices for every offramp transaction made with Onmeta along with a yearly summary of the transactions with our platform.
You can find the payment methods that we support in different geographies and our default Onramp & Offramp commission here.
UTR means Unique transaction reference. This is a number that the remittance bank account issues for the fiat amount that you transfer to us. It is typically present in the SMS confirmation that the bank sends for the transaction made by you.
We allow an user to place another order with the same UTR only if the order associated with the UTR is “Canceled”. Typically an order gets canceled if the amount mentioned by the user in the widget is different from the amount transferred. We allow this so the user is able to use the genuinely transferred money to place a fresh order.
Unique Transaction Reference (UTR) is typically a 12 digit number for UPI transactions. This can be found in the SMS messages that users receive from their UPI providers.
We currently validate if the UTR entered is in the valid UTR format for UPI transactions
After entering the UTR, you would typically be waiting for the payment confirmation. In this screen there is an option reenter UTR and submit again.
TBA
Average time to process an order is less than 1 minutes. We do face certain delays from the blockchain in executing the transaction during peak hours but we are constantly evolving our product with best practices to give you the quickest possible transaction time.
States | Description | |
---|---|---|
fiatPending | Yet to receive payment with that UTR | |
fiatReceived | Fiat payment received, starting token movement | |
orderReceived | Crypto transaction started | |
transferred | tokens are moved to the receiver wallet address | |
completed | There is at least 1 block confirmation in the blockchain after transferred state | |
expired | Order which was in fiatPending state for too long will be moved to expired state. (This is still work in progress) | |
cancelled | When order amounts don't match, i.e paid amount for that UTR and the amount requested in the order don't match, usually users can retry again with the same UTR for a new order | |
refundInitiated | When payment is received from invalid payment method (unverified UPI ID or Bank accounts) that order will be moved to refunding state | |
refunded | Once we refund the amount back to source account it will move to this refund complete step as refunded. | |
We stream order success and failure events. You can listen to these events by using the call back functions that get called when the event is fired.
States | Description |
---|---|
orderReceived | We received the order its under processing |
pending | Waiting for the tokens to be received to our wallet and for api requests waiting for transaction hash of completed transfer. |
refundInitiated | Mismatch in token received or quantity of tokens received hence refund of received tokens has been initiated. |
refunded | refund of received tokens has been done. |
fiatFailed | Fiat payment has failed, reasons might beAccount has issues accepting payments during the payout time .. or any other bank related issue. |
fiatPending | Fiat is yet to be transferred to the receiver bank account. |
completed | Order has been completed and money has been paid out to the receiver bank account. |
Our tech stack will remain same no matter what chain we add , we want our users to make minimal changes to adopt new chains in their product , so to use Solana chain the only change you need make is i. For widget - enabled required Solana token from your dashboard and once its done refresh your widget page it should show in dropdown list. ii. For api you need to use ChainId 102 for staging and 101 for production , with respective Token Symbol and its Smart contract address and create the orders. sample api request for SOL token on staging environment is below Note: Solana is non EVM chain hence its Wallet address will be different so kindly double check the wallet adderss so that it won't credit to wrong addres
Status | Remarks |
---|---|
Pending | Pending state, validation is in progress. |
Success | Successfully linked bank account of the user. |
Failed | Failed to link bank account due to wrong IFSC code or Account number or name mismatch. |
Chains | Minimum amount |
---|---|
Polygon, Ton | 100 INR/PHP |
BSC | 500 INR/PHP |
Ethereum | 1000 INR/PHP ** |
Avalanche, Solana,Immutable,Gnosis,Arbitrum,Klayton,Hedera | 100 INR/PHP |
** for ethereum based on gas fee minimum amount changes.