Tech Fleet’s open source cross-chain wallet built for Kadena

Tech Fleet
10 min readJun 5, 2022

https://techfleet.org

by Morgan Denner, Tech Fleet CXO
mdenner@techfleet.org
https://techfleet.org

Tech Fleet has primarily been a web2 apprenticeship agency since 2020. In 2022, we’ve started supporting web3 apprenticeships and building incubated web3 dapps. This article introduces the first web3 work we’re taking on as a community product incubator.

So far in our history we’ve helped web2 clients build products (non-blockchain applications). Since 2020 we’ve completed a total of 10 web2 projects; 2 projects are about to finish and 4 projects are about to start. Our pool of web2 UX, Product Management, and Development talent grows daily. As a DAO, we will vote to continue working with web2 clients of all shapes and sizes, providing pro bono work for nonprofits and offering paid client services to for-profits.

Our mission to create equal opportunity for Tech careers doesn’t stop with the web2 world. The world needs job-ready Tech workers for new industries like blockchain to keep up with globally growing talent demand. We seek to bridge the gap between web2 and web3 for UX Designers, UX Researchers, Product Managers, Developers, and whatever other Tech roles we can support.

Caption: Tech Fleet wants to bridge the gap between web2 and web 3 for UX, Product, and Development talent.

The first of many Tech Fleet incubated products for web3 will be a web extension cross-chain token and NFT wallet for Kadena, forked from Metamask and custom-built for the Kadena blockchain. This will add to a growing list of esteemed Kadena wallets like Chainweaver, Zelcore, X-wallet, and Hypercent’s wallet. Our wallet will be open source and have similar features to Metamask. We’ll provide a web extension version and a native mobile version with a browser for seamless mobile usage of your favorite Kadena dapps (imagine swapping for Kadena on your mobile phone, or playing Kadena Gallinas on your mobile phone, or playing Kadena Bulls Arkade on your mobile phone 🤯).

The vision

First release

For the purposes of this article we’ll call this “Wallet Dapp” until the team names it.

The vision for this wallet is to provide an experience where you don’t have to think hard to utilize the blockchain. That might sound easy to someone who’s never done it before but can be deceiving. Sending or receiving tokens on blockchains requires the knowledge of how the blockchains each operate. On some blockchains you have to take particular steps to successfully send tokens, or else…(what happens when you forget to set the memo when sending tokens to exchanges from the Stellar blockchain?).

Wallet Dapp will attempt to take the guess work away from the everyday user and offer something intuitive. It should provide a one-stop experience for holding tokens and NFT, similar to other web extension wallets like Phantom. We’ll work with teams across the Kadena ecosystem to provide easy ways to integrate with Wallet Dapp so you can connect it to Kadena Ecosystem dapps. Use it on anything from NFT marketplaces to DEXs to games to launchpads and beyond.

Future versions

In the future, Wallet Dapp could make it easy for a person to send tokens from ERC20 to and from KDA blockchain directly in the dapp, to and from any blockchain with an RPC connection ability that Kadena has bridged to, or bridging through pre-defined options in the app for users (think Anyswap). Other features like fiat onramp services could also be voted on in the future. Tech Fleet Community DAO could vote for Wallet Dapp DAO and create a governance token for it, allowing it to operate as a DAO on its own in the future (think Metamask DAO). Any theoretical fees that Wallet Dapp would collect would go to the Tech Fleet Community DAO treasury and distributed as voted upon.

Features

Disclaimer: the designs you see here are not final, and will change as the team explores the problem space and designs. Think of them as concepts to be fleshed out in detail, and changed when it makes sense, through Tech Fleet’s Agile User-Centered Design process.

Token wallet for Kadena, Ethereum, BSC, Polygon, and more

Since this dapp is copied from the Metamask code, it will have a similar baseline ability to hold tokens across many blockchains. The main difference between Metamask and Wallet Dapp is that Wallet Dapp is custom built to solve user problems on the Kadena blockchain. Wallet Dapp will be able to create secure “Kadena K accounts” and hold any token on Kadena. And just like Metamask it will also be able to create wallet accounts and hold any token on Ethereum, Binance Smart Chain, Polygon, and any other blockchain we make available for the dapp. We’ll make it easy for you to send cross-blockchain in the future (but not for MVP).

Here’s a picture of Metamask:

And here’s Wallet Dapp:

Send tokens on Kadena from any chain all at once

One hurdle for newcomers of Kadena is understanding the concept of the “multiple chain” architecture, and how to interact with dapps across all Kadena chains. Blockchains like Ethereum have one chain, and sending from one wallet to the next is straightforward enough. Go to Kadena and you add multiple dimensions to sending tokens. Kadena’s architecture exists on 20 separate chains (each its own blockchain) and more in the future. Dapps on the Kadena ecosystem are deployed on specific chains, requiring users to send Kadena to their own wallet on multiple different chains before they can start using Kadena dapps (each wallet can exist on chains 0 to 19 today). A big part of the user experience for Kadena today is sending funds chain-by-chain. For instance, if you wanted 500 KDA on your wallet for Chain 4, you might have to send 20 from chain 1, 400 from chain 0, and 80 from chain 3. You have to do that 3 separate times, pay for gas each time, and wait several minutes each time. Each time it could fail, or could be “stuck in the void” and you have to get it through a tool Kadena provides. Wallet Dapp wants to take that kind of mental workload and requirement of prior knowledge away from the user. Users should be able to send “800 KDA from Wallet A to Wallet B on KDA Chain 3” without knowing how Kadena’s blockchain works, or having to send separate transactions themselves. Wallet Dapp should do that work for them.

Caption: this is a concept of the flow to send tokens in Wallet Dapp.

Aimed at crypto newcomers and laypeople

Wallet Dapp makes the process of sending tokens simple for newcomers and laypeople who don’t understand the technical details. In addition to understanding about the multiple chain architecture, newcomers to Kadena may also not understand other intricacies of how Kadena’s blockchain works. In some cases users risk losing their tokens or NFT when sending over Kadena. For example, some users after the recent K account change continued to use old wallets and lost KDA to squatting bots. Another intricacy of Kadena is the fact that the wallet “must exist on a chain” to send to it simply by sending your first KDA transaction to it. If it “does not exist”, there are barriers for users (like losing an NFT if it gets sent to a wallet that does not exist on a specific chain).

Whatever the intricacies are for blockchain (any blockchain), Wallet Dapp should take the thinking away from the user so that they do not need to know how it all works to use it. In the examples above, Wallet Dapp will check these things for users before they send, and show them warnings when they are sending to a non-secure account or a wallet that “does not exist on a chain”. Whatever other logic exists for other blockchains will be handled in Wallet Dapp such that users don’t need to learn it all before sending crypto.

Caption: Newcomers to Kadena blockchain must understand the implications of sending to K accounts vs. “non-K accounts” lest they risk their funds being lost to squatting bots on other Kadena chains. Wallet Dapp should tell users when there’s any kind of risk they might face sending funds (failed tx, risk of lost funds, etc.).

Kadena Gas Stations

Gas is a concept you can’t escape as a user of crypto. Sending tokens, minting NFT, depositing liquidity, staking tokens, any time you interact with a blockchain it requires transaction gas fees. Sometimes gas on Ethereum can cost hundreds of dollars per transaction (like Ethereum network gas prices at times). Layer 2 solutions have been introduced to help solve Ethereum’s gas and scaling problem; Ethereum 2.0 is planned to solve these problems when there’s high network traffic.

Meanwhile, on the Kadena blockchain, Kadena’s infinitely scalable proof of work Layer 1 architecture solves the “Gas” problem for users. No more $100 gas fees for sending a token to your friend. When there’s high network traffic in theory, Kadena can scale to infinite chains to handle the throughput. Kadena’s innovations in the user experience of gas transactions make it possible for users to avoid costly trading of tokens and NFT. It allows teams and dapps to innovate even further because they’re not stuck behind the Design constraint of high transaction gas prices.

The best part: Kadena users not only pay very little gas transaction fees, but users don’t need to pay any gas at all with the introduction of the Kadena Gas Station. A project can deploy a Gas Station smart contract on the blockchain that will pay all of users’ gas costs. Users only need to pay for dapp-specific fees (like Liquidity Provider fees) after gas is paid for them. This wallet will utilize a Gas Station smart contract to pay for users’ gas costs when using the dapp (forking the Kadena gas station repo).

Cross-chain NFT wallet

This is a gap in Kadena wallets today as Kadena is a “young blockchain”. Wallet Dapp aims to be the first Kadena wallet that allows users to hold, send, or receive NFT. We’ll also make this feature available for other blockchains like Ethereum and BSC, creating the world’s first cross-chain NFT wallet for the world. Bullish.

Showing token values in the wallet

Today websites like KittyKad and KDLaunch pull pricing data from Kadena’s DEX’s (Kaddex, Adenak, and KDSwap). Wallet Dapp should show accurate price estimates (across all exchanges) for the value in users’ wallets at any given time.

Caption: concept of showing the value of users’ tokens (and NFT in the future if we can make that happen).

Easy access to Testnet faucets

Today the Kadena Testnet Faucet allows users to get testnet KDA tokens to use on testnet dapps. Teams who rely on early user testing often provide incentives for bug testing before launch, but today the process of getting faucet tokens is convoluted for newcomers and non-technical people.

Wallet Dapp could provide easy ways for users to receive testnet tokens right in the dapp for Kadena, Ethereum, BSC, and other blockchains, allowing them to test new dapps that have deployed on blockchain testnets. This feature can make life easier for teams who offer user beta testing. Using Wallet Dapp, users would have less barrier to beta testing for Kadena projects.

Exploring “Easy mode”

Beyond the things covered above, what does easy mode look like when each blockchain you interact with has its own logic for interacting with it? We’re going to explore and ideate what that could look like, but it would in theory focus on some of the confusing and frustrating aspects of blockchain to newcomers. Things like explaining how Kadena’s chains work or the requirements around secured accounts might play a role in making the experience more intuitive to users. The team will explore these topics each week through UX research.

Next steps

The project will run starting Monday, June 6th through Friday, July 29th

Apprentices and leads

Tech Fleet exists to provide mentorship opportunities plus real-world client work for individuals getting into the field for the first time. As such, our projects are structured as a “buddy system”: each role has a lead and several apprentices under it. They all cross-functionally work together everyday in their sprint work. The Wallet Dapp project will run for 8 weeks and will have the following roles:

Project lead Morgan Denner, CSPO

Research led by Zeenath Kazimi
Apprentices Ry Kron, Temofe Akaba, Shylaja Bagchi, and Clarissa H.

Design led by Melanie Keay
Apprentices Kirby Hsu, Hannah Blume, and Anthony Goldin

Development led by Morgan Denner, CSPO
Apprentices Sara Finnegan and Marco Penajoia

Product strategy co-led by Mint Pattanan Ketthin and Priyanka Pande
Apprentices Denisse Sequeira, Yvonne Fu Chen, Paschal Ezeudu, and Afonso Urbano

Tentative Sprint Plan

We start all projects with a high-level roadmap, and in true Agile fashion adjust the plan as we complete each week of work and proceed with the project. Here’s our sprint schedule and goals as of the start of the project:

Week 1:

  1. Have a project kickoff to understand the goals and scope
  2. Competitive analysis of other wallet dapps
  3. Review of the vision and the high fidelity prototype
  4. Prepare for user research about crypto wallets
  5. MVP scoping and requirements work

Week 2:

  1. Perform user research about the UX of crypto wallets
  2. Usability test of Wallet Dapp
  3. More competitive analysis
  4. Audience personas
  5. Product Requirements work for Wallet Dapp

Week 3:

  1. Usability test of Wallet Dapp with users
  2. Other UX research with users
  3. More competitive analysis
  4. Audience personas
  5. Design work continues for Wallet Dapp
  6. Product Requirements work for Wallet Dapp

Week 4:

  1. UX research with users
  2. Product Requirements work for Wallet Dapp
  3. Design work continues for Wallet Dapp
  4. Development begins for Wallet Dapp

Week 5:

  1. UX research with users
  2. Product Requirements work for Wallet Dapp
  3. Design work continues for Wallet Dapp
  4. Development continues for Wallet Dapp

Week 6:

  1. UX research with users
  2. Product Requirements work for Wallet Dapp
  3. Design work continues for Wallet Dapp
  4. Development continues for Wallet Dapp

Week 7:

  1. UX research with users
  2. Product Requirements work for Wallet Dapp
  3. Design work continues for Wallet Dapp
  4. Development continues for Wallet Dapp
  5. Test Wallet Dapp MVP with users
  6. Prepare for beta with the community

Week 8:

  1. UX research with users
  2. Product Requirements work for Wallet Dapp
  3. Design work continues for Wallet Dapp
  4. Development continues for Wallet Dapp
  5. Test Wallet Dapp MVP with users
  6. Launch to beta with the community

--

--

Tech Fleet

A place where UX'ers, product managers, and developers earn their wings in Tech through community education and team expereince. https://techfleet.org