# K9 Wallet Whitepaper
> [color=#F578FF] [TOC]
K9 Wallet is a multi-coin, cross-platform wallet app. In comparison to other wallet apps whose portal to the DApps world consists of a mere DApps browser, K9 Wallet aims to directly embrace and integrate a wide variaty of DApps and DeFi protocols as core functionality of the App for an intuitive and seamless experience on mobile.
Over the past few years we have seen a rapid growth in the adoption of DApps and DeFi protocols. This was primarily brought upon the tremendous growth of Dogecoin and other similarly themed Dog tokens such as [\$SHIB](https://www.shibatoken.com/), [\$KISHU](https://kishu.com/), [\$HOKK](https://www.hokk.finance/), as well as wide variety of meme tokens. This was also the year that the leading Decentralized Exchange, UniSwap, reached a trading volume identical to that Centralized Exchanges.
While K9 Wallet's initial inception was around the idea of following the trend of all these Dog themed tokens, we soon realized that there is a hole in the market that we could potentially fill.
Users of DApps and DeFi protocols consists of a wide variety of individuals, some are the newer tech savvy generation, some are veteran crypto investors, and others are completely new to the Crytpo space, but one thing that they all have in common is that they all know what they are doing. They all know how to backup their seed passphrase, how to copy the correct contract address of a token into UniSwap for trading, how to view the trading pairs in DexTools, how to connect their wallet to a DApp, how to follow wallet transactions on etherscan, etc. but if you try to explain this to an average user, they will have a hard time understanding any of this unless they put in the effort to learn, and this is where DeFi fails to gain mass adoption while Centralized Exchanges succeed. The harsh reality is that DApps and DeFi will fail to gain mass adoption unless it becomes more user friendly to the average user. The keyword is **User Experience**.
The idea of creating K9 Wallet stemed from the frustration of new users coming into the DeFi space and having to learn and understand multiple buzzwords, platforms, and techologies. The problem doesn't end there as the entire ecosystem is fragmented into multiple platforms, but for the most part, this is not a big issue while on a desktop computer as users can have multiple tabs open, all conected to their MetaMask Wallet, but this issue becomes apparent when attempting to go through the same process on a mobile Wallet App.
And thus, we embarked on a journey to create a friendlier and sleeker Mobile Wallet App with an intuitive User Experience.
## Core Technology
K9 Wallet is built using Google's [Flutter SDK](https://flutter.dev/). This gives us the ability build for all platforms; Android, iOS, macOS, Windows, Linux.
The Node provider we are currently considering is [GetBlock](https://getblock.io/)
We are still evaluating API data aggregators but the current contenders are: [bitquery](https://bitquery.io/), [thegraph](https://thegraph.com), or [nomics](https://nomics.com)
## Wallet Functionality
Majority of Mobile App wallets provide the standard wallet functionality, which are:
- Creating a wallet
- Importing wallet via seed phrase or private keys
- Exporting Private keys
- Signing transactions
K9 Wallet will be no different. We will be relying on the usage of free an open source software as there is no need to re-invent the wheel. The wallet library we will be using is TrustWallet's [wallet-core](https://github.com/trustwallet/wallet-core) library. This is currently one of the safest and most trusted wallet apps out there. K9 Wallet will be contributing to open source by creating a Flutter wrapper for the wallet-core library.
The wallets private keys will be encrypted and stored in [Android's KeyStore](https://developer.android.com/training/articles/keystore) or [iOS KeyChain](https://developer.apple.com/documentation/security/keychain_services) and optionally secured by a biometric lock depending on the users preferred security settings.
## NOTE on the DApps browser
While the DApps browser provides an easy access to all and any type of Decentralized application, the approval of shipping a DApps browser into a mobile app relies entirely on Apple and Google.
Recently, TrustWallet was [forced to remove the DApps browser](https://community.trustwallet.com/t/dapp-browser-removal-on-ios-version-of-trust-wallet/212293) from their iOS app in order to comply with Apples dictatorship-like regulations. For more context on why developers hate Apple so much, refer to [The Apple App Store Exposed](https://www.youtube.com/watch?v=32kXHmo0lmQ)
As a result, K9 Wallet will NOT include a DApps browser but instead integrate the most popular DApps and DeFi protocol directly in the Apps binary code.
## Swap Integration Example
Let's take a look at a the current flow of swapping tokens that is offered by the most popular Wallet Apps.
Let's breakdown what is happening on the diagram above:
1. When the user opens up their wallet app of choice, the app loads the wallets latest balance from the blockchain.
2. User will need to navigate to a dedicated DApps browser, which is nothing more than an Integrated webview in the app.
3. A user then has to manually enter the address app.uniswap.org into the DApps browser search bar, or search for it on google. This is severely flawed as there are [known phishig scams](https://beincrypto.com/google-advertises-uniswap-phishing-scams/)
4. The UniSwap interface then needs to load into the DApps browser.
5. The UniSwap interface then needs to connect to the users wallet, and load the users balance again. This time the balance loads in the UniSwap interface.
6. The User can then swap their tokens of choice, but keep in mind that the UniSwap interface, NOT the app, is what handles the swap transaction
As you see, there are quite a few steps that involves both the users interaction as well as code logic that is needed to accomplish a simple task.
We consider this process highly inefficient. Now let's take a look at what we aim to accomplish in K9 Wallet:
How is this possible?
DApps are simply interfaces that allow users to interact with smart contracts deployed on the blockchain. Once a smart contract is deployed, anyone that knows what they are doing can interact with it without having to use an interface.
K9 Wallet will make use of smart contracts directly without having to load any interface through a DApps browser. As long as DApps developers make their smart contracts open source, or preferable verified on etherscan, we can simply compile the solodity code to be included in K9 Wallet.
## All other DApps
As explained above in the UniSwap integration example, we can integrate any DApp directly inside K9 Wallet as long as the solidity code is available on github or etherscan.
However there is a bit of a downside to this approach. We basically have build up the mobile UI for each smart contract which will be included in K9 Wallet, but we believe the advantages highly outweight the disadvantages such as:
- Reducing Unessary and redundant API calls :heavy_check_mark:
- Mobile first optimized UI :heavy_check_mark:
- Responsive and smoother user experience :heavy_check_mark:
Some of the most popular DApps and DeFi protocols will be the first to be included in K9 Wallet, other will be added later.
## K9 Wallet Token
K9 Wallet token - $K9WT is an ERC20 token that resides on the Ethereum block which serves as the native token of K9 Wallet. A total of 2 billion tokens were minted. The Following usages will be applied to K9WT:
- Unlocking features in K9 Wallet
- Governance token
- K9 Trading Bot
#### K9 Wallet features
Features such as Dark mode and Live charts will require users to hold certain amount of K9WT in order to unlock. The amount may vary based on the price and availability of K9WT.
However, Given Apples restrictions, this will not be implicitly stated to the User. Furthermore, these features can also be unlock with In-App purchase via Apple or Google and the equivalent amount of K9WT will be airdropped into the Users Wallet for "Free".
The In-App purchase method will take precedence over holding K9WT. Meaning that if users do not wish to hold K9WT, they can opt-out by simply purchasing the feature through Apple or Google.
Again, this is simply a workaround to Apples restrictions.
#### K9WT Governance
As stated on [`All other DApps`](#AllotherDApps), We will be unable to integrate every DApp and DeFi protocol that is out there. However we will allow holders of K9WT to vote which DApps they want the most.
The development of K9 Wallet will be an ongoing process, and we will work hard to integrate as many DApps as possible, but take into priority the DApps our holders want the most.
#### K9 Bot
We plan to build a UniSwap and PancakeSwap Desktop app trading bot. The Bot will only be purchasable with K9WT and those tokens will be sent to a burn address.
Initial developement has begun, however since our current focus is on finishing the K9 Wallet app, we will not invest much time into the bot until late 2021 - early 2022 and we will provide more details about it on our Whitepaper v2.
payslip.finance is a DeFi service will be built around the K9 Wallet token. We have already registered [payslip.finance](http://payslip.finance) domain.
This is a simple service that allows users to pay other users with any ERC20 token on a periodic basis.
A simple usecase will be; Bob deposits 10 million K9WT into the smart contract to be payed out to Alice at 1 million per month. Alice needs to withdraw her funds every month, Bob can cancel the automatic payout at anytime.
This service will be available only via K9WT purchase + ETH gas fees for deploying the smart contract. Once the smart contract is deployed, the user will have full access to add as many payees as they wish and pay out in any ERC20 token they prefer.
The smart contracts for this service are under development and will be included into the K9 Wallet app. A web dashboard is planned for the future.
#### xDai Chain
Currently, 25% of the K9WT supply resides on the xDai chain. xDai chain is an Ethereum sidechain that provides Transaction times of less than 5 seconds and at the current price you get 500 transactions for $0.01
100 million - 200 million K9 Wallet tokens will be airdropped into users who create a new wallet or import their existing wallet into the K9 Wallet app. The exact amount is not yet confirmed as K9WTs price is still volatile in it's early stages.
All of these airdrops will happen on the xDai chain. We aim to target 1 - 2 million users, if you do the math, this is not financially viable on the ethereum blockchain, which is why we chose the xDai Chain.
## Marketing & Expenses
We reserved 200 millions tokens to be used for marketing and various other expenses, we will try not to dump tokens as much as we can. Recently we paid out 2 million K9WT to [<img alt="Twitter" src="https://img.shields.io/badge/artsbyroyal-%231DA1F2.svg?style=for-the-badge&logo=Twitter&logoColor=white"/>](https://twitter.com/artsbyroyal) who offered to redesign our logo.