## MVP > Withdrawls and Conversions are NOT detailed YET that is WIP for MVP ```mermaid graph TB Start((Start)) --> ConnectWallet{Connect Wallet} ConnectWallet --> DepositETH{Deposit ETH} DepositETH --> AssertETH{Assert ETH >= 0.01} AssertETH -- Yes --> MintmevETH{Mint mevETH} MintmevETH --> End((End)) AssertETH -- No --> Error{Error: Minimum deposit is 0.01 ETH} Error --> Start ConnectWallet --> AssertWallet{Assert Wallet Connection} AssertWallet -- No --> ErrorWallet{Error: Wallet not connected} ErrorWallet --> Start AssertWallet -- Yes --> DepositETH ``` The diagram starts with the user at the beginning of their journey. The user then attempts to connect their wallet. If the wallet connection is successful, the user proceeds to deposit ETH. If the wallet connection fails, an error message is displayed and the user is directed back to the start. Once the user has successfully connected their wallet and deposited ETH, an assertion is made to ensure that the deposited amount is greater than or equal to 0.01 ETH. If the deposited amount is less than 0.01 ETH, an error message is displayed and the user is directed back to the start. If the deposited amount is greater than or equal to 0.01 ETH, the user proceeds to mint mevETH. After successfully minting mevETH, the user journey ends. ## v1.0.0.0-ish L1/L2 support etc etc? ![](https://hackmd.io/_uploads/HkFzMRHsh.png) The diagram starts with the determineEntry state. If the entry is successful, the state transitions to welcome. If there is an error during entry, an error state Error1 is triggered and the process ends. From the welcome state, the process moves to loading after the welcome is acknowledged. If there is an error during loading, an error state Error2 is triggered and the process ends. This pattern continues through the states assignContext, fetchBalancesAndAllowances, resetTransactionHash, waitForTx, send, sending, recoverNetwork, disclaimer, reset, settings, generateL1, resetTransactionHash, readyToPair, pairing, and accountState. At each state, if there is an error, an error state is triggered and the process ends. The process ends successfully when the accountState is updated. ```mermaid stateDiagram-v2 [*] --> determineEntry determineEntry --> welcome: Successful Entry determineEntry --> Error1: Entry Error welcome --> loading: Welcome Acknowledged loading --> assignContext: Data Loaded loading --> Error2: Loading Error assignContext --> fetchBalancesAndAllowances: Context Assigned fetchBalancesAndAllowances --> resetTransactionHash: Balances Fetched fetchBalancesAndAllowances --> Error3: Fetching Error resetTransactionHash --> waitForTx: Transaction Hash Reset waitForTx --> send: Transaction Detected waitForTx --> Error4: Waiting Error send --> sending: Send Initiated sending --> recoverNetwork: Transaction Sent sending --> Error5: Sending Error recoverNetwork --> disclaimer: Network Recovered disclaimer --> reset: Disclaimer Acknowledged reset --> settings: Reset Completed settings --> generateL1: Settings Configured generateL1 --> resetTransactionHash: L1 Generated resetTransactionHash --> readyToPair: Transaction Hash Reset readyToPair --> pairing: Pairing Initiated pairing --> accountState: Pairing Successful accountState --> [*]: Account State Updated Error1 --> [*]: Error Handled Error2 --> [*]: Error Handled Error3 --> [*]: Error Handled Error4 --> [*]: Error Handled Error5 --> [*]: Error Handled ```