Wallets are pieces of software that allow a user to hold cryptocurrency. The movement of cryptocurrencies to and from and wallets are controlled by public and private keys. There are several different types of wallets, characterised by their internet connectivity.