Yes. The Wally Wallet is a cryptocurrency wallet focused on Bitcoin Cash whose design center is ease of use, useful features, and showcases BCH innovation. In addition, Wally supports various experimental and test cryptocurrencies as an aid for software developers.
Wally’s main screen is used for 90% of what you do with a wallet: sending, receiving, and showing account balances. Wally allows you to specify the amount of BCH you want to send in either mBCH or in local currencies. Wally offers multiple accounts, specifying cryptocurrency amount in term of local currencies, help in finding merchants that accept bitcoin cash, a unique “identity” feature that provides ultra secure logins to internet sites, and other helpful features.
Wally Wallet is licensed under the MIT open source license.
Copyright 2020 Andrew Stone Consulting, Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
The Wally Wallet is compatible with Android devices running Android 8.0 (Oreo) or later. Generally, most new Android phones and tablets made in or after 2018 are therefore compatible.
Wally is optimized for viewing in portrait mode.
mBCH stands for millibitcoincash. Each mBCH is one thousandth of a BCH (1000 mBCH = 1 BCH). There are other common terms you might come across but are not used by Wally. These include microbitcoincash, which equals 1 millionth of a BCH (1,000,000 uBCH = 1 BCH) and a Satoshi, which is one hundred millionth of a BCH (100,000,000 Satoshi = 1 BCH).
You send mBCH from an account in your wallet to a recipient’s address.
The first step is obtaining the Bitcoin Cash address to which you want to send the mBCH. Using email, messaging, or other means, obtain the recipient’s Bitcoin Cash address and copy it into the clipboard of your device. The address will automatically be copied from the clipboard into the SEND section of your Wally Wallet. Alternatively, you can use the QR Code scan symbol on the main screen of Wally to activate the camera on your device and scan in a recipient’s address QR Code.
The SEND section at the top of Wally’s home page is used to send mBCH. The highlighted word SEND is also a button which will trigger the send. But first, use the pull down menu to the right of the words SEND from to select the account from which the mBCH will be sent. Next, if the recipients address hasn’t already automatically appeared on the next line, select the clipboard icon on the right side of Wally’s SEND line. This will paste the recipient’s address from the clipboard into the line below SEND. The third and last line of Wally’s SEND section is used to select the currency type and the amount of currency. At this time, you can choose a local (fiat) currency or mBCH using the pull down menu on the right. Finally enter the send quantity in the Amount field and then select the SEND button to complete sending the mBCH. (Note: if you specified an amount of local currency, the equivalent amount of mBCH will be sent.)
More Information: See mBCH, LOCAL CURRENCY, MULTIPLE ACCOUNTS, FAIR EXCHANGE RATE.
Simply copy an address into your device’s clipboard, and it will automatically be loaded into the send address field on Wally’s home page. You can also tap the clipboard icon on the SEND line to copy the contents of the clipboard into the send address field.
The middle of the Wally home page is used for receiving mBCH. If the sender already has your address for the account into which you want the mBCH sent, you do not have to do anything. The mBCH will appear in your account after it is sent. If you need to provide your address to the sender, use the pull down menu to the right of Receive into to select the account into which you want the mBCH sent. The address for that account will appear right below the Receive into line and also the QR Code for that address will be displayed. Either send your address to the sender (see the next FAQ) or have them scan the displayed QR Code.
Your Wally Wallet’s BCH address is too long to reliably recite it to someone who is going to send you BCH. Instead, touch the address immediately underneath the word “Receive” on Wally’s home page, and that address will be copied to the clipboard of your device.
Accounts have multiple addresses on the blockchain. As soon as the BCH address that is currently shown gets some value, Wally automatically shows the next address in your account. This ensures that payments to you appear somewhat separated on the public blockchain. If you want to ensure that payments remain completely isolated, you must use separate accounts.
In the green area at the top of Wally’s home page are several icons, including the usual three dot icon that accesses additional items. The lock icon displays a page where you can enter a PIN that unlocks a locked Wally account. Once a pin is entered, transactions can be made from that account until Wally is shut down. If the account had been set to be hidden, it will become visible. Settings or the gear icon will take you to Wally’s setting page. The share icon opens a drop down menu which allows you to share your public address in various ways, such as via an email or a message. Help or the “?” icon will open your device’s browser and display descriptions of Wally’s features. (See Settings details below.)
Because a very small but unpredictable fee is assessed for each transaction, it is unlikely that you could precisely enter a send amount that would zero an account. But Wally can do this for you. Just tap the amount shown for the account’s balance, and “all” will appear in the SEND AMOUNT field. Once sent, the account will have a zero balance. To close the account, go to SETTINGS, use the drop down menu to choose the account, and then select DELETE THE ABOVE ACCOUNT.
First, choose the local currency by selecting the Settings symbol (a gear) at the top right of the Wally home page, or the 3-dot menu icon and then “settings”. At the top of the Settings page, use the pull down menu to select the local currency of your choice. Once a local currency is set it will remain set unless you use Settings to change it.
On Wally’s home page, below SEND, there is an address line showing the address to which the BCH will be sent. Below the address line is the AMOUNT line where you enter the “send quantity” of mBCH or local currency that you wish to send. If you wish to change the type of currency shown next to the “send quantity” field, select the down arrow to the right of the currency, and then choose either your local currency or mBCH from the pull down list.
Wally automatically determines the transaction fee that is part of each send transaction. The fee is just over one Satoshi per byte of information in your send transaction. Usually, around 200 to 250 bytes are in a transaction, but a transaction that requires multiple addresses to cover the amount being sent can rarely exceed 1000 bytes. In US currency, a typical transaction fee is only one fiftieth of a penny.
When you pay a bill, perhaps with a credit card, other people with whom you are equally sharing the expense can easily send you their portion of the bill as mBCH. Under “Receive” on the Wally home page, first select the account you want to receive into. Next press the “SPLIT A BILL” button. On the page that is displayed, fill in the total amount of the bill and the tip. You can enter a specific tip amount or select the percentage tip by touching the arrow to the right of “Tip”. Next, select the number of ways you are splitting the bill, including yourself. The amount each person will be paying is then shown in mBCH and in the local currency, and your address QR code is displayed to make it easy for people to send you mBCH.
When you specify an amount in local currency to send to someone, Wally obtains the up-to-date exchange rate for that currency from the bitcoin.com web site and uses that exchange rate to calculate the amount of mBCH to be sent. bitcoin.com derives its exchange rate from a basket of exchanges. The rate is sort of an average exchange rate.
Remember that no actual local currency is being sent, just an equivalent value of mBCH, and there are absolutely no exchange fees involved. Finally, there is always a very remote possibility that for some unforeseen technical reason, the exchange rate might be somehow incorrect. Wally shows you the exchange rate for one BCH before you send any funds, which you can glance at to confirm that it is reasonable.
One use for having several accounts is to track your spending by, for example, using one account for business and one account for personal expenses. Or you may want to isolate received and spent funds on a project or other specific basis. Accounts increase privacy by separating payments, even on the public blockchain. Without access to your phone, nobody can connect payments that occur in separate accounts.
You may also want to have one or more “invisible accounts” in addition to your visible accounts for security reasons.
Looking to the future, Wally may support several cryptocurrencies, each of which would have it’s own account or accounts.
Your first Wally Wallet account will be the Bitcoin Cash account that you set up using Wally’s welcoming pages. This account will not only serve as a BCH wallet, but will be linked to Wally’s Identity feature (see below). You can set up additional accounts by touching the green “+” symbol to the right of the Account Balances line on Wally’s home page. The New Account page will be displayed. Enter an account name of your choice. Account names can be from 1 to 8 characters (letters, numbers, or symbols) long. Next, select the type of cryptocurrency from those listed on the pull down menu to the right of the Blockchain line. Bitcoin Cash is the default, and the other choices include experimental and test blockchains. If you would like to require entry of a PIN to access this new account, type in a numeric PIN on the line provided. If you would like to hide an account unless a PIN is entered, move the “Hide account until PIN is entered” slider.
Important note! For any account that was set up with a PIN, you will need that account’s PIN to access the account’s funds. So please, remember PINs forever and also write them down and save them somewhere safe. Secondly, after setting up each account, be sure to go to Wally’s settings page to see and write down the Account Recovery Secret Phrase for each account. (See SETTINGS below.)
Lost accounts are accounts that were destroyed because your phone was lost or destroyed, or because Wally or an account was deleted, or because you forgot that account’s PIN. Remember, without the Account Recovery Secret Phrase your account and it’s contents are lost forever.
To recover an account which was deleted or whose PIN was lost, select the green + symbol on Wally’s home page, and then enter a new account name, the account’s cryptocurrency, and the old account’s Recovery Secret Phrase where indicated on the New Account page. Upon entering your secret phrase, Wally will display the date of your account first activity. A new account will be created containing all the funds and history of the old account. If your wallet already has the maximum number of accounts, either install a new copy of Wally on another device or make room by deleting an account (after emptying it of funds). Recovery will take some time, so be patient. The recovered account will not have a PIN unless you assign a new PIN to it.
If all your accounts were destroyed (e.g.,your phone was lost or Wally was deleted) install a new copy of Wally on a device and as above, type in the Account Recovery Secret Phrase for each account. The first account you recover must be the first account you created on your previous Wally Wallet, to recover Wally’s identity functions. You can use the same name or rename each of your recovered accounts. Let each account be recovered fully before entering the next account’s Recovery Secret Phrase. Wally will examine the BCH blockchain and using the data in the blockchain, Wally will fully restore your account(s). Each account will take some time depending upon the amount of account history, so be patient.
The lower section of Wally’s home page shows a list of your accounts and their balances. Balances are are shown in mBCH. If the amount shown is green, all transactions for the account have been settled. If an orange amount is shown to the right or the green amount, one or more send and/or receive transactions are in progress. After send transactions, the green amount is the mBCH you have available for sending, and the orange amount shows the amount of mBCH “change” that is temporarily unavailable while the transaction is being processed. Remember that when you send mBCH, your transaction amount, your transaction fee, and one or more or your addresses containing enough BCH to cover the transaction are sent to the the world’s BCH nodes. The BCH node that successfully mines the next block of transactions extracts your send amount and your transaction fee from the addresses, and then returns any “change” to your wallet . The amount you will receive in “change” is displayed in orange. When sends are settled, the orange amount will be added to the account’s green total, and the orange amount will disappear.
When receiving mBCH, the amount received will be shown in orange to the right of the green settled amount that is in the account. Once the transaction is settled, the received amount will be added to account’s total and the orange received amount will disappear.
Yes. Under Account Balances, just tap on an account name and a Account History page will be displayed, showing “sends” with an orange arrow and receipts with a green arrow. Tap on a transaction and the details for that transaction will be displayed.
Wally tracks the capital gains of your crytocurrency transfers. It uses either the price at the time of transfer, or in the case of a recovered wallet, it uses the average price on the day of transfer (as reported by bitcoin.com). If you receive funds, your cost basis is shown on the right side, and you may modify it. If you send funds, your capital gain is shown on the right side.
Wally can help you find merchants that accept BCH. Select the Shopping icon at the bottom of Wally’s home page. A brief description of several websites is displayed that will help you locate BCH friendly stores and services. You may add your favorite shopping sites to this list via the settings icon at the top of the shopping page. Select any of these websites and your device’s browser will pop up to that website.
Once you’ve set up your identity for a supported web site, you can use Wally to log into that web site on any device in an ultra secure manner. Just select the QR scan button on Wally’s home page and use your device to scan the QR code on the web site’s login page. Not only will you be logged in but additional information that you have pre-approved will be sent to the web site, such as your name, address, credit card number, or telephone number. This saves you from having to supply such information every time you log in.
You initiate a login by bringing up the login page of a website on any device’s screen, for example, your laptop. Use Wally to scan the login QR shown on the login page. Wally initiates the login by requesting, via the internet, a cryptographic challenge string from that website. The website then sends the challenge. Wally, using your cryptographic ID, processes the string, proves that it is your device/wallet that is requesting the login, and sends back the proof. Once the website sees the proof, it logs you in without any need for you to risk entering your user name or password using a keyboard. Among other benefits, key logger attacks are completely foiled.
On your laptop, desktop, or tablet, go to the registration page of the website. Scan the QR code. Follow the registration instructions that will be displayed. The registration process allows you see what information the website requires and to choose what personal information you are willing to share.
Once registered, to log in to the website just use Wally to scan a login QR code that is displayed on the website’s login page. You’ll be automatically and securely logged in.
Select the Identity icon at the bottom of Wally’s home page. The Identity page will be displayed. Select the setting (gear) icon from within the identity page. You will now be able to enter personal information such as your preferred username, your real name, and email address.
Select the Identity icon at the bottom of Wally’s home page. The Identity page will be displayed. A list of your registered web sites that support the Identity feature is displayed. Select one of these web sites and a page showing a list of your identity information is displayed along with a switch for each item on the list. Items supported by the web site are in black, and identity items not supported are in grey. Turn on the switch for any item that you wish to pass to the web site when logging in.
!!WARNING!! If the Wally app is accidentally deleted or your device goes bad, is destroyed, is lost, is stolen, or if any other mishap occurs preventing you from accessing your wallet, you will lose your BCH unless you have written down and safely stored your account recovery secret phrase.
Yes. You can move your bitcoin cash and transaction history from another wallet to your Wally wallet. Just set up a new Wally account and enter the 12 word Recovery Secret Phrase from your old wallet into the new account’s Account Recovery Secret Phrase field. This works for BIP39 compliant hierarchical deterministic wallets. Alternately, you can send the BCH in your old wallet to your Wally wallet, but the transaction history won’t be moved. WARNING: It is a bad idea to maintain two accounts or wallets containing the same secret phrase. After moving your account to Wally, delete the old wallet.
When a new version of the Wally Wallet is available on the Bitcoin Unlimited web site, you can safely download it and install it on your device. The new version will replace your present version, and all your accounts, account PINs, account history, and identity information will be carried into the new version.
Your funds in your Wally Wallet are protected by several levels of security. First, the password for your device protects Wally from bad actors accessing your wallet. We recommend that you use a strong device password to protect access to all of your apps and files.
Secondly, each account that you set up in Wally can optionally have its own account PIN. For example, you might want to have an account without a PIN for small everyday purchases and another account with a PIN that contains a larger amount of BCH. The account balance for an account with a pin will be displayed, but until the pin is entered, no transactions can be made from that account.
A third level of security is achieved via invisible accounts. When you set up an account with a PIN and also set the account to be hidden until the PIN is entered, a casual thief would not know that the account exists. Only after you enter an account’s PIN will the account be displayed on drop down menus and in account balances. There is no indication that a PIN hasn’t been entered correctly, or that a PIN needs to be entered. Therefore, no part of Wally’s user interface gives away the existence of invisible accounts.
A few comments on security: Strong device passwords and account PINs make brute force access (i.e., trying every possible PIN) much more difficult than weak ones. Device passwords and account PINs protect your funds from unsophisticated theft. Besides passwords, PINs, and invisible accounts, you can also incorporate schemes like having two invisible accounts, one of which you are willing to divulge to a knowledgeable and threatening thief, and the other which holds most of your funds.
Note: Wally’s account data is not encrypted on the device so a thief with root access and sufficient technical knowledge to your device could gain access to your funds.
Address or Bitcoin Cash address
An address is a destination to send BCH. When sending BCH, the address of the recipient is specified to ensure that the BCH is sent to the correct recipient. Each address is completely unique, as the probability of a duplicate address being created is infinitesimally small.
Abbreviation for both “bitcoin cash” (the currency) and the Bitcoin Cash Network. See below.
Bitcoin, bitcoin, Bitcoin Cash, and bitcoin cash
Bitcoin and Bitcoin Cash (note the names are capitalized) refer to the electronic networks that process transactions made with bitcoin and bitcoin cash (note the lower case names). The names bitcoin and bitcoin cash refer to the electronic currencies themselves, as in “I own 3 and a half bitcoin cash”.
Traditional currencies are typically coins, paper bills, and amounts in bank, brokerage, or other accounts. Cryptocurrencies, such as bitcoin and bitcoin cash, are a type of currency that exists in a public ledger accessible by private keys, with each private key controlling the spending of a particular amount of the currency. Usually, only one person or organization knows a particular private key and hence “owns” the cryptocurrency that the private key controls.
Bitcoin Cash Transaction
A transaction is the exchange of a quantity of BCH between people. One person sends BCH to another, and the other person receives the BCH. The information specifying this transaction is grouped with the information describing other transactions into a block of transactions by Bitcoin Cash miners. Once the block has been validated by the BCH network and added to the blockchain, the transactions in that block are confirmed.
In detail, a transaction takes the amount of currency associated with some private keys and splits it into parts, each part then secured by its own private key, and whose sum is the same as the amount represented by the original private key (less a blockchain transaction fee). Alternately, the funds secured by many private keys can be combined into a single entry secured by a new private key. Since different individuals know different private keys, the transaction effectively transmits value between individuals.
One or more BCH transactions, grouped together with an identifying block header. See Blockchain below for more detail.
Once a miner has successfully mined a block, it is sent to all other Bitcoin Cash nodes on the Bitcoin Cash network for validation. Each node checks to see if the new block has been correctly constructed and then, after this validation, appends the block to the blockchain that the node maintains. In the somewhat rare case when two miners each mine different blocks and simultaneously send them to the Bitcoin Cash network, some of the nodes might validate one of the blocks and others might validate the other block. The Bitcoin Cash node software automatically resolves this situation, usually when the next block is mined, and one of the two prior simultaneous blocks is deleted from the blockchain and the other is adopted by all nodes.
The BCH blockchain is the place where all BCH transactions that have ever been validated are stored. Approximately once every ten minutes, a group of BCH transactions are packaged into a so called ‘block’ of transactions and validated by the nodes of the BCH network. Once validated, the new block is added to the chain of blocks that have previously been validated. All the transactions in the blockchain can be examined by anyone at any time. This, for example, allows Bitcoin Unlimited to check that the BCH in a new incoming transaction belongs to the wallet spending it and that the BCH involved hasn’t previously been spent. Besides storing transactions, each block stores the hash of the previous block and the hash of the block itself, thereby forming a chain of blocks. This prevents anyone getting away with altering data in a block, as altering any data would cause the hash of the block to change and the changed hash would not match the hash that is stored in the next block in the chain. Finally, the blockchain is distributed, with many copies of the entire blockchain are stored all over the world. In order for a bad actor to change data stored in a block, he or she would have to change data in a block and all blocks forward in the chain in over 50% of the blockchains stored worldwide. Bitcoin Cash mining software ensures that this would require such a huge amount of time and computational power that it could never practicably be done.
Committed Transaction and Confirmed Transaction
Once a block of transactions have been validated by the Bitcoin Cash network, the block is added to the blockchain. Recipients of large transactions often wait until the block containing their transaction is six blocks deep in the blockchain before considering the transaction as confirmed. Recipients of transactions involving smaller amounts often consider their transaction confirmed as soon as the block containing their transaction has been added to the blockchain, or is only 2 or 3 blocks deep. Recipients take this action because the probability of a block being declared invalid reduces greatly as it gets deeper in the blockchain.
A Bitcoin Cash private key (also called a private ID address) is a secret number that allows cryptocurrency to be spent. Every one of your Bitcoin Cash addresses has a matching private key, which is saved in one of your Wally wallet accounts. Your account recovery secret phrase can be used to generate all of your account’s private keys, which is why the recovery phrase is able to restore your account.
Bitcoin Cash Address
A Bitcoin Cash address identifies a blockchain ledger entry where someone can send BCH. Accounts contain many addresses and all the BCH sent to those addresses.
A QR code is a box of pixels that functions like a bar code, but for phones and cameras. It can be used to communicate short messages between devices. For example, a QR code could contain a Bitcoin Cash address, or a login challenge.
Simplified Payment Validation (SPV)
A method for verifying if particular transactions are included in a block without downloading the entire block. The method is used by some lightweight Bitcoin Cash clients.