🔄 Off-Ramp

The off-ramp process on JackRamp enables users to convert jackUSD into fiat currency in their traditional bank accounts through a secure, decentralized verification mechanism. Here’s a step-by-step breakdown of how JackRamp’s off-ramp process works:
User Initiates Off-Ramp Request The user initiates an off-ramp request to the JackRamp smart contract. To start the process, they deposit a certain amount of jackUSD, which is then locked within the JackRamp smart contract as collateral for the off-ramp transaction.
JackRamp Smart Contract Requests Merchant to Off-Ramp The JackRamp smart contract sends an off-ramp request to a verified merchant, authorizing the merchant to proceed with the fiat transfer to the user’s bank account.
Merchant Transfers Fiat to User’s Bank Account A merchant receives the request and transfers the equivalent fiat amount to the user’s bank account. This ensures that the user’s bank account is credited with the corresponding amount before the jackUSD is unlocked.
Merchant Creates Proof with zkVM App To verify the fiat transfer, the merchant generates a proof using the zkVM app. The zkVM app sends an HTTP request via zkTLS to the merchant’s bank*, confirming that the transaction to the user’s bank account has indeed occurred. The zkVM app then submits this proof to the JackRamp smart contract on-chain, ensuring transparency and security without exposing sensitive data. Note: At the moment, we don't have access to the bank's API. We use https://moota.co/ to access bank data. In this hackathon, we mock the Moota API, but it's compatible with Moota in production.
JackRamp Smart Contract Unlocks jackUSD for the Merchant Upon receiving and validating the proof from the zkVM app, the JackRamp smart contract unlocks the jackUSD initially deposited by the user in step 1 and transfers it to the merchant’s wallet. This completes the off-ramp transaction, ensuring the user successfully off-ramps their jackUSD.
Last updated