No description
- JavaScript 60.4%
- CSS 21.1%
- HTML 18.5%
|
|
||
|---|---|---|
| www | ||
| .env.example | ||
| .gitignore | ||
| capacitor.config.json | ||
| docker-compose.yaml | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
Unhosted Wallet
Self-custodial Algorand wallet. No backend, no account registration, no tracking. Keys live in memory only — they vanish when you close the app.
What This Does
- Generate or import Algorand wallets
- Check balances, send transactions
- All cryptographic operations happen client-side
- Private keys are never written to disk or sent anywhere
- Configurable Algorand node endpoints (defaults to testnet)
Quick Start (Web)
npm install
npm run dev
Opens at http://localhost:3000. That's it — you have a working wallet.
Build APK (Android)
Prerequisites
- Node.js 18+
- Android Studio (with SDK 34+)
- Java JDK 17+
Steps
# 1. Install dependencies
npm install
# 2. Initialise Capacitor (only first time)
npm run cap:init
# 3. Add Android platform (only first time)
npm run cap:add
# 4. Sync web assets to Android project
npm run cap:sync
# 5. Open in Android Studio
npm run cap:open
In Android Studio: Build → Build Bundle(s) / APK(s) → Build APK.
Your APK will be at android/app/build/outputs/apk/debug/app-debug.apk.
Subsequent builds
After editing www/index.html, just run:
npm run cap:sync
npm run cap:open
Project Structure
unhosted-wallet/
├── capacitor.config.json # Capacitor settings
├── package.json # Dependencies + scripts
├── README.md
└── www/
└── index.html # The entire wallet app
Security Notes
- Keys exist only in JavaScript memory during the session
- Closing the app or tab destroys all key material
- The seed phrase is shown once at generation — back it up on paper
- No localStorage, no cookies, no IndexedDB for keys
- For Android: future improvement is to use Android Keystore via Capacitor plugin
Defaults
| Setting | Default |
|---|---|
| Algorand Node | https://testnet-api.algonode.cloud |
| Algorand Network | Testnet |
Switch to mainnet node when you're ready to handle real funds.
Extending
Configure a different Algorand node
Change the node URL in settings. Works with any Algorand testnet or mainnet node.
Add Algorand ASA support
Use algosdk asset transfer transactions. The account info response already includes opted-in assets.