Authentication Mechanisms:
1. Internet Identity (ICP) Login:
- Users can authenticate using Internet Identity, which is decentralized and privacy-preserving. The Internet Identity allows users to create a unique login tied to devices and biometric data, which increases security without the need for passwords.
- Upon selecting Internet Identity, the user is redirected to the Internet Identity portal, where they can authenticate via a registered device (e.g., fingerprint or face ID).
- Once verified, a session token is generated, and the user is redirected back to icRamp with access to all functionalities tied to their account.
2. Ethereum (Metamask) Login:
- Users also have the option to log in using their Ethereum wallet, such as Metamask.
- The process involves connecting the user's wallet, signing a nonce to verify their identity, and then storing the session on the backend. This allows for frictionless access, especially for users familiar with blockchain wallets.
- The Ethereum login also ties the user's blockchain addresses directly to their account, which will be used in further actions like offramps or crypto orders.
3. Email-Based Login:
- For users who prefer a more traditional method, icRamp also supports email-based login.
- Upon selecting this option, the user enters their email and receives a verification code. After entering the code, the user is logged in, and a session token is stored.

- Sign in with Internet Identity: Directs the user to the ICP identity portal.
- Login with Ethereum: Prompts the user to connect their Metamask wallet.
- Login with Email: For those who prefer email-based authentication, a verification email is sent.
<aside>
💡
Once connected the address, the internet identity’s principal, or selected the email login, if the user is not found in the database, before signing and authenticate the user will be prompt to the register page.
</aside>