Your wallet, explained
A practical guide for wallet users and the developers who maintain it.
Start with test coins
Create → back up → receive → send.
Understand the boundaries
Encrypted keys. Public transactions.
Keep secrets offline
Support never needs your phrase.
Wallet questions & answers
Is this wallet only for users in the United States?
No. This is a self-custody BTC and ETH wallet designed for international users. Wallet creation does not ask for a country or US residency. Balances are denominated in BTC and ETH, and overview balances and transaction dates use your browser’s regional formatting. The interface and recovery phrases remain in English. Access to the site, blockchain providers, and third-party swaps may vary by location. Follow the rules applicable to your country or region and confirm the swap provider’s eligibility requirements before depositing; service availability in every country is not guaranteed.
How do I create and recover a wallet?
Choose Create wallet, set a password of at least 12 characters, and back up the recovery phrase under Security. The browser generates 256 bits of random entropy for a 24-word English BIP39 phrase. To recover, remove the local vault only after verifying a backup, then import its encrypted JSON file or enter your recovery phrase. Additional BIP39 passphrases and other languages are not supported. You can change the local vault password in Security; old file and account backups still need their original password until replaced.
Where are my keys and transaction records stored?
The recovery phrase and local transaction history are encrypted together in a browser-stored AES-256-GCM vault. The password uses PBKDF2-SHA256 with 600,000 rounds and a fresh random salt. Each write uses a fresh IV. While unlocked, secrets necessarily exist in JavaScript memory. Sign-in, when enabled in Add-ons, allows encrypted ciphertext backups in the built-in key-value store using private per-user scope; no plaintext wallet data goes into shared storage.
Which assets, addresses, and networks are supported?
Bitcoin native SegWit at m/84'/0'/0'/0/0 on mainnet (coin type 1 on testnet); Ethereum at m/44'/60'/0'/0/0. New or phrase-recovered wallets use mainnet after a risk acknowledgement. Existing wallets and encrypted backup imports preserve their saved network. Ethereum mainnet uses chain ID 1; Sepolia uses 11155111. Existing testnet users must switch in Security before receiving real coins. Only the first receive address is used. Recovery does not scan other indexes, accounts, tokens, or BIP49/BIP86 wallets.
How does sending crypto work?
BTC spends up to 20 confirmed native SegWit UTXOs from the first address with a user-selected fee rate. The fee estimate conservatively allows standard recipient and change outputs. ETH loads the pending nonce, gas price, gas estimate, and expected chain ID from a fixed RPC provider. Confirm the destination and network, re-enter the vault password, and sign locally. Broadcast sends only the signed transaction through a server function. You may instead export the signed transaction and broadcast it elsewhere; anybody with the signed data can broadcast it.
How do I see incoming transfers and confirmations?
Receive gives you a network-specific address and QR code. Activity’s Sync action queries recent Bitcoin history and updates pending Ethereum transfers. Ethereum incoming history is not auto-indexed: use Track and enter the transaction hash. The server checks that it involves your wallet address before the record is saved. Bitcoin’s latest-history endpoint is limited; this is not a full account indexer.
What happens if a broadcast times out?
A timeout does not prove a transaction failed. Keep the signed transaction ID displayed in the send dialog, verify it using Activity’s Track action, and avoid sending a new transaction until the first one’s status is understood. If broadcast succeeds but the local history write fails, export the receipt and track that hash again.
Are transfers or swaps untraceable?
No. Standard BTC and ETH transactions are public. Encryption of the vault does not hide blockchain activity, addresses, amounts, or provider queries. CoinJoin, zk-SNARK transfer protocols, Tor, and I2P are not implemented. Swaps are processed by the external ChangeNOW exchange, not an anonymity protocol. A genuine protocol requires integration, threat modeling, and security review; even then, absolute untraceability is not a responsible guarantee.
Can I use Tor Browser or I2P?
The site does not configure or verify Tor/I2P. Tor Browser may protect browser-to-site traffic, but the network gateway currently makes normal HTTPS requests from the hosting server to PublicNode and mempool.space. That outbound leg is not anonymous. A properly configured server-side relay and verified routing are required to change this; no cosmetic privacy switch is provided.
What security protections are not included?
There is no independent app audit, hardware-wallet integration, multisignature policy, tamper-proof update channel, secure memory erasure guarantee, password recovery service, or automated dependency patching. A hostile extension, compromised device, or malicious app update can steal unlocked keys. Use test networks and commission a professional audit before meaningful funds.
How are swaps integrated?
The Swap page loads ChangeNOW’s documented live exchange widget. Copy your mainnet payout address into its recipient field, check the actual pair, quote, fees and expiry, then create the order with the provider. Use Send to pay its exact deposit address and amount. Save the provider’s order ID or tracking URL in this encrypted wallet, then open the provider status page for live progress or refund instructions. References saved here are bookmarks, not independently verified swap records. There is no GenMB swap API or atomic swap implementation. ChangeNOW handles deposits and settlement. Users in every country or region must confirm the provider’s location eligibility, account requirements, and any identity-verification requirements on its official site before depositing. Availability is not guaranteed. Do not bypass location or identity requirements. If the embedded exchange is blocked, use the new-tab link or official site. Never share recovery phrases or private keys.
What support is available?
This app includes these guides and a downloadable launch checklist. A dedicated wallet support inbox and staffed customer-support operation have not been supplied. Never send a recovery phrase or private key to anyone claiming to help. For issues with the GenMB platform itself, contact team@genmb.com. That address is platform support, not wallet recovery support.
Developer architecture
Local cryptography, narrow server gateway
React + TypeScript + Vite with hash routing. Ethers handles English BIP39 and HD derivation plus Ethereum signing. @scure/btc-signer handles native SegWit addresses and Bitcoin signing. Web Crypto handles vault encryption. No server endpoint receives a password, mnemonic, or plaintext private key.
src/lib/vault.ts
Entropy, derivation, encrypted vault schema, import validation.
src/lib/transactions.ts
Amount validation, transaction preparation, and local signing.
functions/network.ts
Fixed HTTPS providers, network reads, broadcast, and status tracking.
src/state/WalletContext.tsx
Encrypted browser persistence, balance refresh, auto-lock, and network state.
The saved source files are available in the editor’s Code tab (on a phone: Code → Files). Test specifications cover HD derivation, ciphertext authentication, password rejection, signatures, and amount validation. They must be executed in a test environment; the included in-app cryptographic self-check does not replace a full security audit.
Deployment & ongoing maintenance
The Vite app and server function are ready for the platform’s publishing workflow. Publishing, an independent audit, decentralized hosting, staffed support, and scheduled security updates have not been performed or established here. Review HTTPS, CSP, dependency advisories, runtime logs, provider limits, backup recovery, and change controls before public launch. Keep all future swap provider secrets backend-only.