Private Deposit in Mystiko V1 Testnet Wallet

What is Private Deposit in Mystiko V1 Testnet Wallet?

Private Deposit is an operation which converts your public assets to private assets. Private Deposit takes the off-chain generated zero-knowledge commitment as input, and constructs a commitment Merkle Tree on-chain. The metadata of the Private Deposit, which is encrypted on-chain, includes some random generated secrets. These random generated secrets will be used with your local secret keys to generate zero knowledge proof when withdrawing the assets.
Note: Do NOT send your assets directly into our contracts via normal token transfer. This will lead to asset loss. A valid Private Deposit can only be created via our wallet, and be submitted to our contract's 'deposit' method along with your assets and commitments.
As of March 1st 2022, Mystiko Wallet users will be able to try private deposit of testnets' native tokens (like tETH, tBNB, etc.) and Mystiko test tokens(mUSD& MTT) in following scenario:
  • Single chain private transaction within Ethereum Ropsten testnet (choose Ethereum as both source and destination chain).
  • Single chain private transaction within BSC testnet (choose BSC as both source and destination chain on BSC testnet).
  • Single chain private transaction within Polygon (choose Polygon Mumbai testnet as both source and destination chain).
  • Single chain private transaction within Avalanche (choose Avalanche FUJI C-Chain as both source and destination chain).
  • Cross chain private transaction between Etherem (Rospten testnet) and BSC/Polygon/Avalanche testnet via Mystiko testnet bridge
  • Cross chain private transaction between Etherem (Goerli testnet) and BSC testnet via Celer Network. Learn more about how Mystiko.Network integrates with Celer Network
Mystiko Tutorial 04: Single-Chain private deposit on Mystiko.Network
Mystiko Tutorial 05: Crosschain private deposit on Mystiko.Network

Single-chain Private Deposit

In this section, we will demonstrate how to deposit and shield mUSD(Mystiko test USD token) in a single-chain scenario via the Ropsten Network. The processes of single-chain private deposit within other testnets are the same.
  1. 1.
    Switch the MetaMask network to the source chain network (we use Ropsten Network in this demo).
  2. 2.
    Go to "Deposit" page and fill in deposit info
    • Source chain and destination chain (we used Ropsten Network in this demo);
    • Type of test tokens to be deposited (we chose mUSD out of the three options - MTT/mUSD/ETH);
    • Recipient’s Mystiko Address - it could be the existing mystiko account in your wallet or other users’ count address (we chose “Account 1” for assets shielding in this demo);
    • The amount of assets to be shielded (we chose to deposit 1 mUSD in this demo).
  3. 3.
    And click “Deposit”.
Set same chain in source and destination
Choose a network
Select an asset to be deposited
Select or input a Mystiko Address
4. Grant mUSD access to Mystiko wallet and pay transaction gas fee in MetaMask. Click the MetaMask logo in the browsers if the second confirmation didn’t show up.
Notes: Processing time depends on speed and stability on source chain network speed.❗️BSC testnet reports error occasionally, please refresh if stuck.
Asset approving transaction prompt
Waiting for asset approving transaction
Deposit transaction prompt
Deposit sent successfully notice
5. User can also keep track of the deposit status via “Deposit History” in the “History'' section.
Track status of deposit
6. When the deposit is completed, the user can check the mUSD balance in the “Account” page. In this demo, users can see that 1 mUSD is currently shielded in “Account 1” in the account page. Click Private Asset id for more details. Meanwhile, the MetaMask mUSD balance also decreased by the amount of tokens shielded in Mystiko wallet.
List of Private Assets
Click Private Asset id to see more information
Private Asset details

Cross-chain Private Deposit

In this section, we will demonstrate how to privately deposit and shield mUSD(Mystiko test USD token) from the Ethereum (Ropsten testnet) to Binance Smart Chain in Mystiko wallet. The processes of cross-chain private deposit between Ethereum and Polygon/Avalanche testnetes are the same.
  1. 1.
    Switch your MetaMask network to the source chain network(we choose Ropsten Network as source chain in this demo).
  2. 2.
    Go to "Deposit" page and fill in deposit info:
    • Source chain and destination chain (we chose Ropsten Network as source chain and Binance Smart Chain as destination chain in this demo);
    • Choose type of test tokens to be deposited (we chose mUSD out of the four options - MTT/mUSD/ETH/mBNB);
    • Choose cross-chain bridges (we chose Mystiko Testnet Bridge for this demo)
    • Recipient’s Mystiko Address - it could be the existing mystiko account in your wallet or other users’ count address (we chose “Account 1” for assets shielding in this demo);
    • The amount of assets to be shielded (we chose to deposit 1 mUSD in this demo).
  3. 3.
    And click “Deposit”.
4. Grant mUSD access to Mystiko wallet and pay transaction gas fee in MetaMask. Click the MetaMask logo in the browsers if the second confirmation didn’t show up.
Notes: Processing time depends on speed and stability on source chain network speed.❗️BSC testnet reports error occasionally, please refresh if stuck.
Asset approving prompt
Waiting for asset approving transaction
Deposit transaction prompt
5. User can also keep track of the deposit status via “Deposit History” in the “History'' section.
Note: Cross-chain deposits take longer time than single-chain deposit, because it requires the cross-chain bridge to synchronize the deposit into the destination chain. If the status of a deposit is 'Source Confirmed', which means it is still pending on the cross-chain bridge. Once the status turns into 'Succeeded', the cross-chain deposit is completely relayed to the destination chain. You can only withdraw a deposit whose status is 'Succeeded', if the status is still 'Source Confirmed', the withdraw will be failed.
Deposit history
6. When the deposit status is 'Succeeded', the user can check the mUSD balance in the “Account” page. In this demo, users can see that a new deposit of 1 mUSD is currently shielded in “Account 1” in the account page. Click Private Asset id for more details. Meanwhile, the MetaMask mUSD balance also decreased by the amount of tokens shielded in Mystiko wallet.
List of Private Assets
Imported Private Assets