User Journey
1. Account Abstraction (AA) Wallet Creation by Using Email
During Sign Up, the user provides their Email account.
A smart contract on x0network L3 automatically generates an account abstraction (AA) wallet linked to the user's Email address.
The AA wallet supports gasless transactions, powered by a paymaster smart contract.
It features advanced capabilities such as multi-signature and session keys for improved security and usability.
Users can perform transactions without needing private keys directly, leveraging key management via device, cloud and email.
2. Top Up Crypto
User imports a source account by providing a private key from their account on Layer 1 (L1) or Layer 2 (L2) external network.
The private key is imported as a hexadecimal string, adding the new account as the origin of tokens.
The user taps the imported account to see all token balances owned from all external networks.
The user chooses a token (the network will also be chosen) from imported account to bridge-in to AA wallet on x0network L3.
x0pay invokes the auto-bridge smart contract, locking tokens on the chosen network and minting them on x0network L3. This will require small amount of native token on external network for gas fee.
The bridged tokens are sent to the user’s AA wallet on x0network L3, ready for gasless transactions.
3. Buy Crypto
Users input the fiat amount they want to transfer and selects the crypto they want to buy.
x0pay calculates the estimated crypto amount based on the fiat value inputted by the user.
x0pay displays a destination bank account for the fiat transfer.
The user makes the fiat transfer using their banking app, sending the amount to the provided bank account.
For Testnet version, to simulate the payment, please follow the steps:
1. check your email,
2. copy your iPayMu ID,
3. go to https://sandbox.ipaymu.com/notify,
4. paste the ID to Sandbox Transaction ID,
5. click Submit button
Upon successful fiat transfer, the user refreshes their wallet to see the added crypto balance, automatically updated by the system.
4. Send Crypto
Users can send crypto to another user across x0network L3 by entering an Email address, an AA wallet address, or an EOA address as the recipient.
x0pay supports sending tokens across the x0network L3, ensuring the transaction is gasless.
The transaction is initiated without the need for gas fees, thanks to the paymaster smart contract covering the transaction cost.
5. Withdraw Crypto
The user can withdraw tokens from x0network L3 to an external L1/L2 EVM network.
User imports a destination account by providing a private key of their account on external network.
The private key is imported as a hexadecimal string, adding the new account as the destination of token.
The user taps the imported account to see all token balances owned from all networks.
The user chooses a token (the network will also be chosen) from their imported account to bridge-out from AA wallet on x0network L3 to the chosen network.
x0pay invokes the auto-bridge smart contract, burning the token on x0network L3 and unlocking tokens on L1 or L2 .
The bridged tokens are sent to the user’s external wallet on external network.
6. Crypto-to-Fiat Payment with Merchant Email
The user initiates a crypto-to-fiat payment by entering the merchant's email.
Users input the fiat amount they want to pay and selects the crypto they want to convert from.
x0pay calculates the estimated crypto amount to spend, based on the fiat value inputted by the user.
Upon submission, the crypto are moved from user's AA wallet to the x0pay hot-wallet on x0network L3.
An API call is triggered to the payment gateway to transfer fiat to the merchant’s fiat account.
The merchant receives the fiat disbursement within seconds, completing the crypto-to-fiat transaction.
7. Intelligent Netting - Monitoring Token Price Fluctuations
x0pay monitors token price fluctuations.
Real-time price feeds from CEXs and oracles detect volatility. During stable conditions, tokens are kept in the vault.
Stable Price - Netting On:
During periods of low volatility, netting is enabled, and tokens are held in the crypto vault, with conversion performed only when necessary.
High Volatility - Netting Off:
If significant volatility is detected, netting is deactivated, and tokens are sent to a connected CEX for immediate sale, protecting the token’s value from sudden market changes.
Last updated