xGov-9 AWallet - First open source Algorand wallet

Author Ludovit Scholtz (@scholtz)

Category Wallets

Focus Area Open Source Algorand Wallets

Open-Source Yes

ALGO Requested 10000

Abstract
AWallet is the first open source Algorand wallet. Wallet allows multisig features, ledger powered accounts, rekeying, making account online and protect algorand network, vanity account generation, ARC14 support, contains algorand native payment gateway, and more. AWallet is built as docker image so that anybody can run it locally in their environment and debug for example sandbox accounts.

We hope to continue to add more features.

With this ARC43 request we seek feedback on the product and possibly the help by community. The AWallet was built by community and is meant to be for Algorand community.

Link for details

2 Likes

I like Ludo and I like what they bring to the community, but I’ve just never been sold on AWallet. It seems like other wallets in the ecosystem are miles ahead in terms of development and while I appreciate the open-source nature, I’m not convinced this proposal is a priority at this time.

the thing is without integration into dapps there isnt really a market imo for such a wallet besides projects who wanna use the multisig features

personally i dont know if a web based wallet is the right thing after the myalgo fiasco which had a very specific vulnerability but still it feels weird to use a web wallet after it. the 2fa thing is a cool idea but again without integrations of the wallet not very useful for the average community

1 Like

Yeah, I didn’t mention it, but I did watch the YT video on demonstrating AWallet, and I was asking myself the same question over and over again, “How do you sign anything with it?” Without the integration, as you say, it’s a novel idea, but not extremely practical. That combined with the communities, understandable!, general distrust in web wallets right and this is not a great look.

The integration is there for few months now… You can connect to wallet connect.

You can have multisig account and sign any DApp transaction…

Check this video: How to use Algorand Defi - Wallet connect with ledger protected multisig account - YouTube

On the video is Alamex swap, but technically you can do any DApp which supports WalletConnect (all of them do because pera uses walletconnect)

I have used it in folks finance, pact, algodex, tinyman, algo governance, and more…

I suggest also taking look at the video above… :slight_smile:

Btw the recent feature where you can improve security of the ledger device with multisig account with 2FA pin which you can protect with fingerprint on the mobile is quite interesting… https://2fa-docs.a-wallet.net/

For the grant request i stated that i will do it, but actually it is so important that i did not wait for it…

I understand that web wallet “AWallet” is not being used by majority of algorand people because it is not promoted by the foundation, but with it i am trying to push the other wallets to implement these features as well… It is quite sad that pera does not have multisig support even though they can analyze the use cases from the AWallet and quite recently from defly… I wonder when they will implement 2FA… Because first you must have function model for multisig and rekeying and only after that you may even think about the 2FA multisig model… Algorand has best tech, but major wallet must support its main features as well…

2 Likes

ok definitely overlooked that sorry!

watched the video now and it seems to work but it isnt directly a “noob” user friendly UI. you kinda need to know what you are doing since even the opt into Vote tx isnt easily recognizable as such.

and i still wonder how safe your wallet is. i know its open source (which is great!) but for example the myalgo fiasco wasnt based on the wallet part of myalgo, it was another attack where i dont think the open sourceness would matter. while i understand that the specific problem myalgo had is pretty special since someone got access to stuff they were never supposed to get to but that definitely made me wonder if wallets as websites are a good thing or if we should stop using them. pera released a web version of pera and everyone i talk to says they dont use it because its another web wallet and they dont touch these ones after myalgo, so i dont know how your wallet should be more successful than they are (even tho it has better features obv but pera is well known)

1 Like

The best security is ensured only with HSM (Hardware security module) which does not allow you to export the private key, and every transaction must be signed by it.

No algorand wallet supports device based HSM, … for example even from pera mobile you can export the private key (mnemonics)

One alternative is to use Ledger devices… AWallet supports ledger, and you can even combine it with multisig… So if you have board of 5 people, they may have 5 ledger devices and when they want to sign transaction the number of signaturs in specified threshold must be met to be able to be able to submit it to the blockchain…

For the record AWallet uses indexdb storage which is encrypted with AES encryption with the password user enters when creating or opening the wallet. When user wants to sign transaction he opens the wallet, and for 5 minutes the data are in memory in browser until either timeout is reached, user logs out, or closes the browser. For the attack vector that happened to myAlgo, myAlgo is not open source… There are docker images of AWallet tagged with date, or people can compile it from the source they trust… It is quite easy to run the docker image in minikube in local computer, so you do not have to trust even the internet traffic to use it… But this scenarios are not really for general public :slight_smile: , but are possible.

I believe that the best balance for generic public is to do 2FA multisig accounts… One will be generated account with algosdk, second account will be server 2FA account which allows to sign tx with pin, and third the best would be to have ledger or some very secure recovery account. This way owners of the ledger can sign with standard account and their pin… But i dont know to predict the future, so perhaps they will want to keep the primary account the ledger and improve the security with mobile device… From my point of view to rely on single device is not very good… If your ledger mnemonics get stolen they can do whatever they want with your account… But if you have ledger in multisig, they would have to steal from you the sign threshold of accounts… And it is quite difficult to hack into server and hack into vault. Or perhaps the wife has access to your vault, and also mobile, and this way it is better to secure the 2FA device with fingerprint… Google authenticator does not protect pins with fingerprint, but microsoft authenticator or some others do.

2 Likes

actually i am looking for feedback and ideas how to improve UX or features… so if you can please collaborate more on how you think it might be better pls

1 Like