About Everywhere Wallet

What is Everywhere Wallet?
Everywhere Wallet is a self-custodial Android wallet for BTC2 (Bitcoin 2). It combines a local HD wallet powered by bitcoinj, a BTC2-specific native SPV backend, and a complete Android UX covering setup, receive, send, settings and security. All keys, seed, PIN, security password and wallet file are managed exclusively on-device โ€” nothing is ever transmitted, synced to the cloud, or stored externally.
What is BTC2 (Bitcoin 2)?

BTC2 (Bitcoin 2) is the cryptocurrency supported by Everywhere Wallet. It is a scalable, open-source cryptocurrency forked from Bitcoin, designed for private peer-to-peer digital transactions. Key properties include:

  • Proof of Stake consensus โ€” energy-efficient custom PoS algorithm; anyone can participate without specialized hardware.
  • SwiftTX transactions โ€” InstantSend-style payments confirmed in under a second via the Masternode network.
  • Privacy via zBTC2 โ€” protocol-level coin mixing using zero-knowledge proofs, severing the link between sender and receiver with full anonymity.
  • Masternode network โ€” anyone holding 1,000 BTC2 can operate a Masternode and earn rewards. 1/4 of each block reward goes to the top-ranking Masternode.
  • Fixed maximum supply โ€” capped at 21 million BTC2, mirroring Bitcoin's supply model. Annual inflation is only ~0.5โ€“1.2% until the cap is reached.
  • 40ร— throughput โ€” maximum transaction throughput 40 times greater than Bitcoin.

Everywhere Wallet implements BTC2-specific SPV sync and block validation natively via a C/C++ JNI layer, which includes the Quark hash chain used for BTC2 block header verification.

Which Android versions are supported?
Everywhere Wallet v240 supports Android 8.0 (API 26) and higher, up to Android 15 (API 35). The APK includes native libraries compiled for arm64-v8a, armeabi-v7a, x86 and x86_64 โ€” compatible with the full range of modern Android devices and emulators.
Is Everywhere Wallet open source?
The complete technical documentation for the v240 baseline is publicly available, covering all 65 Kotlin source files, 16 C/C++ native files, the AndroidManifest, build system, and security model. For the latest status of source code availability, contact us directly at ew@everywherewallet.org.

Getting Started & Staying Secure

What do I need to complete the initial setup?
You must complete four steps before the main wallet interface is accessible: (1) choose a wallet source โ€” create new or restore from mnemonic or backup file; (2) set a security password to encrypt your wallet file; (3) set a PIN for app unlock and sensitive operations; (4) acknowledge any legal notices. The app will not proceed to the main shell until all conditions are satisfied โ€” there are no shortcuts.
What is the difference between the wallet password and the PIN?
They are two fully independent security factors with distinct roles. The wallet password protects the wallet file encryption โ€” required as step 1 in the send flow and for all backup export/import operations. The PIN guards app access (unlock screen), send step 2, seed reveal, WIF key reveal, and all security-sensitive settings changes. A send only goes through when both factors pass sequentially.
Where is my seed stored? Is it ever sent anywhere?
Your seed, BIP39 passphrase, PIN, password hash and all sensitive metadata are stored exclusively in Android's EncryptedSharedPreferences, backed by the hardware Android Keystore security module. None of this data is ever transmitted to any server, API or external service. There is no cloud sync, no telemetry, and no remote storage of any kind โ€” this is a hard architectural guarantee.
Can I change my wallet password after setup?
Yes. The wallet backup password can be changed from the Security panel in Settings. The process requires your current password, then your PIN for confirmation. The wallet file is then re-encrypted with the new password and the result is verified before persisting. Always export a fresh backup immediately after changing your password to ensure you have an up-to-date copy.

Sending, Receiving & The Vault

Why doesn't the Receive screen show a QR code immediately?
This is intentional. The receive address is not displayed automatically โ€” you must explicitly load one from The Vault first. This is a deliberate security and UX design decision: Everywhere Wallet is not an indiscriminate QR code generator. Loading addresses explicitly ensures you are always in full conscious control of which address you are sharing, and with whom.
What is "The Vault"?
The Vault is the address management system built into Everywhere Wallet. It stores all HD-derived receive addresses together with their associated WIF private keys. Addresses are classified into two states: those with detected transaction activity, and empty/unused ones. Addresses discovered through incoming transactions are automatically synchronized into The Vault. You load specific addresses from The Vault into the Receive screen when needed.
What fee modes are available for sending?
The Send screen offers three modes: Normal (standard fee, reliable confirmation), Swift (higher fee for faster processing), and Max-send (sweeps all available funds in a single transaction). In all cases a fee preview is shown before any authentication is requested, so you always know the exact cost before confirming with your wallet password and PIN.
When is a transaction considered confirmed?
The app presents a transaction as confirmed from 6 confirmations onward. Confirmation count is calculated by comparing the transaction's block height against the current best chain height maintained by the SPV node. The app keeps an authoritative per-transaction height cache and can also cross-check pending transactions against an official BTC2 explorer as a supplementary verification step.

Protecting & Recovering Your Wallet

How do I back up my wallet?
Navigate to Settings โ†’ Security and use the Export Wallet Backup option. The app flushes the wallet to disk, then exports the encrypted wallet file in EWWB v1 format โ€” using PBKDF2-HMAC-SHA256 key derivation with a random salt, a random IV, and AES-GCM authenticated encryption. Store your backup file safely and always remember your wallet password โ€” it is required for any future restore.
What is the difference between mnemonic restore and backup file restore?
Mnemonic restore triggers a full historical wallet scan (EW_RESTORE mode) โ€” all addresses are re-derived and blockchain history is scanned from scratch to fully rebuild your transaction record. This is thorough but takes longer depending on chain height. Backup file restore imports the encrypted wallet snapshot and uses BACKUP_RECONCILE mode โ€” it starts from the snapshot state and syncs forward to the current tip. Significantly faster, no full rescan needed.
What happens if I lose my phone?
Your funds are only as safe as your backup strategy. If you have your 24-word mnemonic (and BIP39 passphrase, if one was set), you can restore on a new device via the mnemonic restore flow. If you have an exported wallet backup file and remember the wallet password, you can restore from the file for a faster sync. Without either of these, access to your funds may be permanently lost โ€” always maintain both a securely stored written mnemonic and an up-to-date encrypted wallet backup.

SPV Sync & Connectivity

Does the app need to connect to an external server or API?
No mandatory external node or API is required. Everywhere Wallet connects directly to the BTC2 P2P network using its native SPV backend. Optionally, the app can cross-check pending transactions against an official BTC2 explorer to reinforce confirmation state โ€” but this is supplementary. All core wallet functionality operates entirely through direct P2P connectivity.
What do the sync states mean in the Dashboard?
The node moves through six observable states: Idle (not yet started), Connecting (establishing peer connections), Restoring (initial mnemonic restore scan in progress), Syncing (downloading and processing block headers), Synced (fully caught up to chain tip), and Error (unrecoverable network error). The dashboard also shows the live peer count and current block height at all times.
What should I do if sync stalls or a transaction doesn't appear?
First, check your internet connection and verify that the peer count is greater than 0. If connectivity is fine, close and reopen the app โ€” this triggers a controlled node restart and reconnection attempt. If a sent transaction doesn't appear after broadcasting, the app maintains a pending spend journal that automatically re-broadcasts unconfirmed transactions on reconnect. You can also verify the transaction status on the official BTC2 block explorer.

Still have questions?

The full technical documentation covers every component in depth. Or reach out directly โ€” we're happy to help.

Read the Docs Contact Us