Connect & sign in
This page explains the two sign-in rails and what happens when you sign in.
Prerequisite: none. This is the first thing you do in the app.
The two rails
| Rail | What it is | What you need |
|---|---|---|
| Connect wallet | Reown (formerly WalletConnect). Works with MetaMask, Rainbow, Coinbase Wallet, and ~400 other Web3 wallets. | A wallet you already have. |
| Sign in with email | Privy. Issues you an embedded wallet held by a TSS (threshold signature) network. You authenticate with email, Google, or Apple. | An email address. |
The app does not care which rail you use — every project, every deployment, every signature works the same way downstream. Your wallet address (or embedded wallet's address) is the only identifier the app stores.
What you sign in with
Both rails use Sign-In With Ethereum (SIWE, EIP-4361). After you connect, the app shows a SIWE message in your wallet that looks like this:
app.stasho.xyz wants you to sign in with your Ethereum account:
0x1234…abcd
Sign in to Aleph Cloud App.
URI: https://app.stasho.xyz
Version: 1
Chain ID: 1
Nonce: <random>
Issued At: 2026-05-04T12:34:56ZSign it. The app sends the signature to its backend, which verifies it and issues a JWT good for one hour. After that, you're signed in and the dashboard loads.
No transaction, no gas, no on-chain footprint. The signature is a personal-sign — it never goes to a blockchain.
Why we ask for a signature
The signature proves you control the address. The backend uses that proof to issue a session token (JWT). Without the signature, anyone who knew your address could impersonate you to our backend.
The session JWT lives in your browser's sessionStorage. It expires after one hour, after which you'll be prompted to sign in again. Closing the tab or browser ends the session.
Verification
You should now see:
- Your truncated wallet address (
0x1234…abcd) in the dashboard header breadcrumb if you used the wallet rail - Your email address in the breadcrumb if you used the email rail
- A footer at the bottom of the sidebar showing your address (and embedded-wallet address if you used the email rail)
If the breadcrumb is blank, sign in didn't complete — try the rail again.
What can go wrong
| Symptom | Cause | Fix |
|---|---|---|
| Wallet says "wrong chain" | Your wallet is on a chain other than Ethereum mainnet | Switch your wallet to mainnet, then retry |
| SIWE prompt never appears | Browser blocked the popup, or the wallet extension is locked | Unlock the wallet, refresh, retry |
| Sign in succeeds then immediately bounces | JWT expired between requests (rare) | Sign in again |