Introducing SAFE Wallet app

I finally got around to testing this and it had me smiling and giggling like a school boy! Really, really great work @bochaco! :slight_smile:

I created a ThanksCoin wallets (safe://, hit the faucet (safe://, then transferred to another new ThanksCoin wallet. It was all super easy and happened near instantly!

If anyone wants to send me some ThanksCoin to 63ca83faf83e5c47f9ea5915961aeb171b740fe4d4d10c18581c867567fc2e99 please do! I will return any favours if someone has a pub key they want to test!


Sent ya some thanks. But seriously, the potential of this/having ‘banking’ on the safe network is awe inspiring.


Hi guys, i’ve just downloaded the safewallet app. Thanks @bochaco :wink:
If you want to send me some thankscoins my public key is: Swapcoin


You can send you self some Thankscoin by going to safe://

I’m getting this error each time I try to open Does anyone else get this error?
Already tried revoking authentication and authenticate again, but nothing works

I finally had some time to migrate the SAFE Wallet webapp to make use of the latest DOM API exposed by SAFE Browser (Peruse v0.7.0), which I just published (v0.0.12) on the Alpha-2 network at safe://

Likewise, I also updated the SAFE Faucet webapp and published it at safe://

I’m introducing a new feature with these new versions of the webapps, probably an small one, but I think it’s an important one.
You may already be aware of WebIDs and how they can be used on the SAFE Network, as per the PoC prepared for and presented at the past Decentralised Web Summit 20018 by MaidSafe. With WebIDs we can have decentralised user identities on the SAFE Network, which can also contain links to other type of information and services, e.g. the Patter social app allows users to post messages and link them to any WebID.

Now, with this new SAFE Wallet and SAFE Faucet, you can also create a link from a WebID to a ThanksCoin wallet, and you can transfer ThanksCoins using either the recipient’s wallet Public Key (as before), or a WebID provided by the recipient which contains a link to a ThanksCoin wallet.

For those who never used these applications before, in this old post you can find some details, but as a summary, and to update it with the extra step needed to optionally create your WebID/s, the following steps are what it’s needed to be able to get some free ThanksCoins and transfer them among different wallets using WebIDs:

  1. Create you own WebID/s as explained in this post
  2. Connect to the SAFE Wallet (safe://, create a new ‘ThanksCoin Wallet’ item, set its label, private and public keys, select a WebID to link it to, and a pin number. I recommend to switch the toggle to allow the app to store the transactions history as it’s a nice feature to see in action when transferring coins.
  3. Open the SAFE Faucet (safe://, provide your feedback, enter the wallet’s public key, or the WebID linked to your ThanksCoin wallet, click the ‘Get free ThanksCoins!’ button, and wait for a few seconds until a confirmation message is displayed. Go back to the SAFE Wallet to verify that the coins were successfully transferred to your ThanksCoin wallet.
  4. Create other ThanksCoins wallets so you can transfer coins among them.

Please note that these ThanksCoins have absolutely no value in any market, and they are not listed in any exchange even that there could be some other coins out there with the same name. These ThanksCoins are only useful to play with the SAFE Wallet app.

Lastly, an additional feature in this version of the SAFE Faucet is that the feedback is now being posted as messages to the safe://feedback.thankscoin#me WebID, so they are public and can be seen using Patter webapp.

For curious devs, source code for the safe-faucet webapp and safe-coins-wallet package.

I hope you find it fun to transfer some ThanksCoins around, using WebIDs, on the SAFE Network!!!


I tried it using both isntism and isntism.thankscoin but neither worked, then the wallet’s public ID did work, and then I realised, after writing a whole speech about what could be bugged out, that I maybe should have tried id.isntism…

Either way, it did manage to come trough in the end! now who to send some to…

edit: turns out safe://id.isntism did work, why did I have to add safe:// though?

1 Like

Haven’t tried it yet, but this is great news Gabriel.

I think this is probably because a valid WebID must be a URI. Given the context on SAFE, perhaps we can hard code the safe:// so it shows to the left of any input box, and then allow it to be entered with our without the safe:// prefix, but for now it is probably best to get people used to the idea of what a proper WebID looks like (ie with the safe:// part).

@bochaco If you haven’t already, I think this would be good to announce in the Solid forum.


Hi @isntism, I’m glad to hear you got it working. This is just because WebIDs are defined to be a URI as @happybeing is pointing out, you can read more about the spec here if you’d like to.

Also, the applications check if the recipient string starts with safe://, if so, they assume you’re intending to transfer your coins to a WebID rather to just a public key. The way these apps used to work were with just using the public key, i.e. the public key that you want to transfer the coin’s ownership to, and using the public key the apps figure out how to find the TX inbox to notify the recipient about a new transfer/TX.
Now, in addition to that capability, these apps are also allowing you to provide a WebID URI and they use it to resolve and find out where the TX inbox for the recipient is located.

Therefore, I see you created a WebID at safe://id.isntism#me, so if you then go to any of your ThanksCoin wallets in the SAFE Wallet app, you can select that WebID from the dropdown and link that ThanksCoin wallet to the WebID. At that point, you will be able to transfer coins from the SAFE Faucet or from any other ThanksCoin wallet (in the SAFE Wallet app), by simply using the WebID (safe://id.isntism) URI as the recipient of the transaction.

It’s just that the apps support both type of recipients, i.e. a WebID or a Public Key, so if you provide a URI it assumes it’s a WedID and not a public key. In the future the apps should be able to either do a fallback and attempt both, as well as being capable of detecting if it’s effectively a public key.

@isntism, if you want you can try to transfer some coins to my WebID: safe://webid.bochaco#me. I just transferred you a few to safe://id.isntism#me from my wallet :wink:


Makes sense, guess that it’s just another thing to us ordinary folk need to learn, protocol is part of an ID.


Indeed, just trying to push you to think more about how nice they are, think of this @isntism, I just shared with you my WebID (safe://webid.bochaco#me), from now on you would be able to interact with me regardless of the type of interaction, or type of information you are willing to share with me.

E.g. are you willing to send me a message? perhaps you wanna verify if I effectively signed a message that was posted on your Patter/social app wall? or you perhaps wanna send me some coins because you think I need it for a beer? …well, all you need is that WebID with the corresponding application, and that’s it, the application can infer the information required to perform such operations. I could even change the linked wallet, or change my avatar with a good looking one (it’s hard in my case I know), in any case you will never need to know or be aware of that and it will be transparent to you as a user.


Great work! I think these sort of apps make SAFENetwork feel real. You can almost taste the potential! :grinning:

1 Like

Glad to see Anita back! Faucet’s working for me though yet.

1 Like

@JPL, so do you have a wallet which public key is “grwesdadada” ? that error seems to indicate it cannot find it.

Yes, I created public/private key in Another error occurs with a webID

EDIT, oh hang on I didn’t create a thankscoin wallet - doh.

Yes working now!


Cool, just to be clear, the other type of item you can create in the wallet app for Pub/Priv keys is not related at all with the ThanksCoins wallet type, you don’t need the Pub/Priv key item, those are for storing random key pairs, let’s say you have some bitcoins so you keep the key pair there.


Send me some Thankscoin bro’s and broina’s! Pub address: nigel.nick

1 Like



@bochaco I have to admit I’m a horrible person and I rated your app multiple times for Thankscoin. I also left my pub key/WebID in the comments. I’m despicable and slightly ashamed.


This is already possible, just add more items of type “Password” to your wallet using the + button located in the top menu (well, or add any of the type of items you want). There will be other type of items in the future for sure, like WebIDs :wink: .

The SAFE Wallet app source code is now available here: