Biweekly Dev Update: August 31th, 2022

imgare-cover

Hey guys! As August comes to a close, so did development for our teased big update.

We’ve promised some big architectural changes for KryptoGO Wallet in the past few dev blogs, and this week, we’re delivering.

Introducing: The Multiple Multi-wallet Update.

 

We’re bumping up our version number from v1 to v2.0.0 to commemorate the fact that we now support multiple multi-chain wallets within an account, and yes, still tied to a single phone number.

There’s a lot to unpack here, so sit tight, buckle up, and let us jump right into exactly what this update covers.

 

The Multiple Multi-wallet Update

First, we’ll introduce some nomenclature to make sure we’re all on the same page.

🤑 Wallet: A wallet stores cryptocurrency tokens and other on-chain assets. Each wallet is associated with a single unique private key that grants access to that wallet. Anyone who knows the private key has full control over the wallet, and can use or transfer items in that wallet anyway they please.

This is a wallet for Bitcoin (on the Bitcoin blockchain).

🤑 Multi-chain wallet: Also sometimes referred to as a multi-wallet (yup, the regrettable tendency of humans to omit a single syllable, in this case, “chain”, for the sake of convenience is what makes all of this so confusing), a multi-chain wallet is a wallet that stores cryptocurrency tokens and other on-chain assets for multiple blockchains.

KryptoGO Wallet (version 1) had always functioned as a multi-chain wallet since it supported Ethereum, Polygon, Bitcoin, Binance (BNB) Chain, Solana, and Tron from the get-go.

🤑 EVM wallet: Also sometimes referred to as an EVM-compatible wallet, an EVM wallet is a wallet that stores cryptocurrency tokens and other on-chain assets for EVM blockchains.

What is EVM, you ask?

EVM stands for Ethereum Virtual Machine, the rules of computing and programming originally used for the Ethereum blockchain but now extended to a whole lot of other chains. EVM blockchains refer to all the chains that can run on the Ethereum Virtual Machine. Some of the more popular ones include: Polygon, Binance (BNB) Chain, and Tron. Since EVM wallets can be used to store assets from multiple EVM chains, an EVM wallet is, by definition, a multi-chain wallet.

In KryptoGO Wallet (version 2.0.0), EVM wallets support Ethereum, Polygon, Binance (BNB) Chain, Arbitrum, and KuCoin Chain. We plan on adding more chains in the future as well.

This is an EVM Wallet.

KryptoGO’s EVM wallets currently support five EVM chains: Ethereum, Polygon, Binance (BNB) Chain, Arbitrum, and KuCoin Chain.

 

🤑 Wallet Group: You might be wondering: if each wallet is associated with its own private key, then isn’t keeping track of multiple wallets a huge hassle?

We’ve already come up with a solution for you. In KryptoGO Wallet (version 2.0.0), you’ll find what we call a wallet group. Each wallet group holds any number of wallets, but instead of memorizing all the private keys, you simply need to memorize a 12-word seed phrase to access any of the wallets contained in that group.

Think of the seed phrase as the password to your safe containing all your other keys. This is, in fact, very similar to how a password manager works. Instead of memorizing all your passwords for multiple accounts and services, you memorize a master password that allows you to access all your other passwords.

This is a Wallet group. This group contains 7 wallets.

All 7 wallets in this wallet group share a seed phrase. Instead of memorizing 7 private keys, memorizing the seed phrase allows you to access all 7 wallets in this group.

As you can see, some of the wallets in this group are EVM wallets, which are multi-chain wallets (currently consisting of 5 chains each). This update allows users to manage multiple multi-wallets with his/her phone number.

Then, of course, it goes without saying that your seed phrase is just as, if not more important than your private keys. Anyone who knows the seed phrase has full control over all the wallets contained within that wallet group, and can use or transfer items in all the wallets contained within that wallet group anyway they please.

 

🤑 Single wallet: But what if you prefer not to have all your wallets contained within a wallet group? Or, what if you already have a wallet from somewhere else, for instance, Metamask, or Phantom Wallet? You may (and should!) want to import these wallets into KryptoGO.

Whatever the reason is, you have the option to import a single wallet via its private key. The single wallet will not be contained within any wallet group, but once it is imported, you’ll be able to see and manage the wallet like any other via the Wallet Page. On top of that, the portfolio on the Home page will consolidate all assets from all wallets, and that includes all wallets in your wallet groups as well as all imported single wallets. Managing all your on-chain assets, everything, everywhere, with just your phone number? We’re making that dream a reality.

These are single wallets. The top wallet is an EVM wallet imported from Metamask. The bottom wallet is a Solana Wallet imported from Phantom. They are single wallets because they are not contained within any wallet group.

Assets from all wallets (wallet groups, and imported single wallets) are consolidated into a comprehensive portfolio.

See your portfolio in list view, as a pie chart, or as a line graph.

 

Data Migration and Version Compatibility

A lot of work had been done to ensure a smooth transition from the old to new multiple multi-wallet architecture. In fact, aside from updating your app to version 2.0.0 on the App Store or Play Store, you probably wouldn’t notice the transition happening at all. We wanted to make sure that existing users can keep their wallets and data from the original version, while new users can easily set up their accounts within the new framework.

New users

New users can set up an account as easily as before. The registration process only requires a phone number and is lightning fast. After phone verification, a default wallet group named “KryptoGO Wallet” is created for the user that includes 4 wallets:

  • an EVM wallet, and
  • three other wallets for Bitcoin, Tron, and Solana, respectively.

Like mentioned before, all wallets in this default wallet group share a seed phrase. That means if you logout, you can always recover your wallet group as long as you remember your seed phrase. Conversely, for those (many of us, in fact) who find twelve words mystifyingly difficult to remember long-term, as long as you protect your wallet before logging out, you can log back in using a combination of your phone number and your KryptoGO password.

New users can set up an account as easily as before. The registration process only requires a phone number and is lightning fast.

Existing users

If you have used KryptoGO Wallet before this update, chances are you already have your own record in our database. Didn’t remember to back up your private keys or seed phrase? No worries.

Existing users who are already logged in (and have their wallet protected) prior to updating the app should see a dialog box pop up in the first instance the app is opened. The dialog box prompts the user to enter the password, and voilà! Through some backend data migration magic, your wallets should update to the newest architecture, keeping all your original data intact.

For existing users that are logged in, a dialog box prompts the user to enter the password.

Existing users who are not logged in (but have their wallet protected) will follow the same login process as new users. After phone verification, the app automatically searches through the database to see if it recognizes any wallets associated with the phone number. If it does, it prompts the user for the password. Then, voilà! Once all wallets are restored, you should see the latest updates applied.

For existing users that are not logged in, the app automatically searches through the database to see if it recognizes any wallets associated with the phone number.

 

🔐 On Security and Data Privacy

We’ve mentioned this time and time again: at KryptoGO, protecting our users’ assets and data is our first priority. Therefore, at the risk of sounding tediously repetitive, we’d like to emphasize that even after the Multiple Multi-wallet Update (KryptoGO Wallet version 2.0.0), KryptoGO Wallet remains a fully decentralized and non-custodial wallet. This means that you, and only you, are in full charge of your on-chain assets for wallets that you import to or create via KryptoGO. KryptoGO cannot access any of your assets on your behalf, and neither can anyone else unless they somehow got hold of your private keys or seed phrase.

In more technical terms, this means that your private keys and seed phrase are only stored locally on your own device and never to the cloud or to KryptoGO databases. While we do store an encrypted copy of your key, we do so because it is necessary for 1) verification purposes, and 2) for your security, preventing others from trying to access your KryptoGO account. An encrypted copy does not allow KryptoGO to access your assets. Furthermore, KryptoGO stores all your personal data in compliance with the ISO 27001 and 27701 standards, the industry standard for information security and data privacy. KryptoGO is one of the only crypto wallets that has achieved certifications for both, and we are both extremely proud and willing to flaunt this achievement :)

In addition, this update comes with multiple backend optimizations. Though we won’t be going into many details here, note that one huge improvement is that our databases now automatically and periodically query, aggregate, and store relevant on-chain information, such as transactions, regarding our users’ wallets. This means instead of users sending out requests through blockchain APIs every time they want to refresh their wallets, our backend handles the complex procedure. As an end result, work is delegated away from user-end devices, and users should notice better battery life when using the app, higher efficiency, and more comprehensive data. Win, win, and another win.

 

The Finer Details

By now, we’ve covered the gist of what this update is about. We encourage you to update the app and try out the functionality for yourself, but if you love reading our dev updates (in which case, ily 🥰), keep reading to see the details of some of these features.

Home Page (The Home Tab)

The updated Home page, like previous versions, is a comprehensive portfolio that consolidates all your assets from all wallets. The list view showcases your assets in order of monetary value.

The Home page showcases your assets in order of monetary value.

Tapping on a token shows you the details of that token, and the distribution of said token across all your wallets that can potentially hold that token.

Tapping on the Ether token shows all the EVM wallets associated with the account.

Wallet Page (The Wallet Tab)

The updated Wallet page now consists of multiple screens. The outermost screen shows your wallet group and all other imported single wallets.

Wallet page, showing 1 wallet group and 2 single wallets.

Tapping on a wallet group shows a comprehensive overview of all assets contained within all wallets in that group.

Wallet page, wallet group screen

Tapping on the small triangle in the header to the right of the wallet group’s name shows a selection modal that allows you to see assets from one of the wallets contained within the wallet group.

Selection modal for wallets

Chain Reordering

Do you use some chains more than others and want your preferred chain to be at the front of the chain slider? Tap on the three dots in the header of the wallet screen, choose Adjust Chain Order, and reorder the chains to your heart’s content.

Wallet screen > three dots on the top right > Adjust Chain Order

Sending and Receiving Assets

A wallet wouldn’t be any useful if you couldn’t move assets to and from it. The Send and Receive screens stayed largely the same as the previous versions. The one big difference is, now, you are able to select which wallet to send from or receive to via an updated wallet selection modal.

Adding Wallets

There are two ways to add a wallet:

  • Import a single wallet via private key, or
  • Generate a new wallet in your default wallet group.

The two options for adding a wallet.

If it’s confusing what the difference is, think of it like this: If you already have a wallet from somewhere else (For instance, Metamask, or Phantom), you can import that wallet into KryptoGO by entering the private key. If you just want a brand new wallet and do not care about memorizing another set of private keys, choosing “create a new wallet in your wallet group” generates a wallet for you. All you need to access the new wallet is the seed phrase that you should already have memorized.

Managing Wallets (remove wallet, reveal private key/seed phrase––all that good stuff)

For any operation that you can think of on wallets (except for renaming wallets, we’re still working on that), there’s a good chance you’ll find the option to do so in Manage Wallets, the second option found in the Account Screen.

Manage Wallets, the second option in the Account Screen

Here, you’ll see a list of all the wallets associated with your account, much like in the Wallet Page. The difference is, here, you can tap on any wallet (or wallet group) and you’ll see the relevant operations.

Manage Wallets Screen

For instance, tapping on an EVM wallet in the wallet group shows two operations: remove the EVM wallet from the group, or reveal the private key of this EVM wallet.

Two operations are shown, at the bottom, of this EVM wallet.

Restore Wallets

You can restore a wallet that you previously removed from a wallet group. The option to do so automatically appears if you have wallets to restore.

The option to restore an EVM wallet in my wallet group appears because I’ve previously removed it from my wallet group.

Payment Wallets

Payment wallets are wallets for each chain to which your contacts can transfer funds using just your phone number.

For instance, let’s say Alice wants to transfer some Ether to Ben. Alice has added Ben as a contact in KryptoGO, but she knows only Ben’s phone number and not his wallet addresses. For all she knows, Ben could have many EVM wallets (since that is what this Multiple Multi-wallet Update is all about)!

Therefore, to keep transferring funds super easy and accessible, with the new multiple multi-wallet architecture, every chain has a payment wallet associated with it. The payment wallet is where funds go if transferred via phone number. If Ben set his Ethereum payment wallet as 0x123…, Alice is able to transfer Ether straight to 0x123 just by knowing Ben’s phone number.

Setting up wallets as payment wallets

Infographics and User Experience

We’ve added a number of super cool infographics to help crypto beginners feel comfortable navigating KryptoGO Wallet, as well as showcase what they can do in our app.

There are also a number of user experience improvements that we’ll leave to you to find out!

 

Okay, this post is already getting too long for comfort. We won’t be able to cover everything here, but we don’t need to. What’s important is that this update solves many of your prior problems, and makes navigating the world of Web3 and crypto that much easier. It’ll also help us going forward as we keep on building exciting new features.

As always, let us know what you think via Discord, or any of our other social media links listed below.

Follow us:

Discord | Facebook | Twitter | Instagram | LinkedIn | Telegram