Skip to main content

🔄 Offramp Merchant Wallet Flow

✨ Benefits

The Merchant Wallet flow streamlines your offramp operations by allowing you to:

  • Load Once, Transact Many: Pre-load your wallet with crypto assets and create multiple offramp orders without manual token transfers for each transaction
  • Faster Order Completion: Funds are instantly deducted from your loaded wallet, eliminating the wait time for on-chain confirmations per order
  • Reduced Transaction Time: Skip manual token transfers for every order, significantly accelerating the overall transaction process
  • Simplified Operations: Manage your offramp business more efficiently with a centralized wallet balance
  • Better Cash Flow Management: Pre-load funds during favorable market conditions and execute orders on-demand

📋 Complete Process Flow

Step 1: Initiate Wallet Load

Purpose: Create a wallet load order and receive a dedicated receiver wallet address

Call the Load Merchant Wallet endpoint with your desired amount and token details:

  • System creates a load order and assigns a unique orderId
  • System returns a receiver_wallet_address for your dedicated wallet
  • Save this orderId - you'll need it for Step 2

Important: The receiver_wallet_address is specific to your load order. Send the exact amount of tokens specified to this address.


Step 2: Submit Transaction Hash

Purpose: Confirm your wallet load by submitting the blockchain transaction hash

After transferring crypto to the receiver_wallet_address from Step 1:

  1. Obtain your transaction hash (txnHash) from your wallet
  2. Call the Submit Transaction Hash endpoint with:
    • orderId (from Step 1)
    • txnHash (your blockchain transaction hash)
    • senderAddress (your wallet address that sent the funds)

OnMeta will validate the transaction on-chain and credit your merchant wallet upon confirmation.

⏱️ Processing Time: Funds are typically credited within a few minutes after blockchain confirmation (varies by network).


Step 3: Create Offramp Orders

Purpose: Convert your loaded crypto to fiat currency

Once your wallet is loaded, you can create unlimited offramp orders on behalf of your user's:

  1. Get Exchange Rate: Call Fetch Sell Quotation to get the current conversion rate

  2. Create Order: Call Create Offramp Order with:

    • Standard order details (amount, token, bank details)
    • Skip these fields: senderWalletAddress and refundWalletAddress
    • Funds are automatically deducted from your merchant wallet
  3. Instant Deduction: Order amount is immediately deducted from your wallet balance

  4. Fiat Transfer: Fiat currency is transferred to the bank account specified in the order

  5. Check Balance: Use Fetch Wallet Balance to monitor your available funds


🔑 Key Points

  • One-Time Setup: Load your wallet once and create multiple orders
  • No Manual Transfers: Each order doesn't require a separate blockchain transaction from your side
  • Automatic Deduction: Funds are instantly deducted from your pre-loaded wallet
  • Real-Time Balance: Track your wallet balance at any time
  • Faster Settlement: Orders complete faster without waiting for per-order blockchain confirmations

📊 Workflow Diagram


💡 Best Practices

  1. Monitor Balance: Regularly check your wallet balance before creating orders
  2. Load Strategically: Load your wallet during favorable market conditions
  3. Keep Records: Store all orderId and txnHash values for reconciliation
  4. Test Small First: Start with a small load to familiarize yourself with the flow
  5. Set Alerts: Implement low balance alerts in your system

Troubleshooting

Wallet not credited after Step 2?

Solutions:
  • Verify the transaction was confirmed on-chain
  • Check if you sent to the correct receiver_wallet_address
  • Confirm you submitted the correct txnHash and orderId

Order creation fails?

Solutions:
  • Ensure sufficient balance in your merchant wallet
  • Verify you're not passing senderWalletAddress or refundWalletAddress

Need help?

Support:
  • Contact support with your orderId and txnHash for assistance

Ready to get started? Begin with Step 1: Load Merchant Wallet