Announcing ♨️ - a fast, secure and open source wallet app for the Steem blockchain (android & ios - out now)

in utopian-io •  6 months ago

For a couple of weeks in July and early August we were housesitting a fabulous place near the beach and it was 35°C (95 °F) for a while, so what better way then spending behind the computer inside? It was during this time @pharesim who was/is travelling (and also paid a visit to the SteemWhale fountain!) came by with his companions in the Steemlambo and we discussed Steem during the night. He mentioned he really missed out on a simple straightforward wallet app for Steem.

We discussed it a bit, I gave it some thoughts, researched a bit more later that night and the next day after I did some more research (I do still dev some apps, sometimes - see for previous work) discussed it some more with @pharesim. @pharesim & co took on with their trip and I was just experimenting some with signing transactions with dSteem and broadcasting them using the condensor api. Then I started experimenting with AES256 encryption for an encrypted, secure, wallet-file.

Rest assured this was all just testing, as I wasn't planning on actually building a full app, thinking it would draw too much time, which I desperately needed for @SteemFest, but then I just couldn't leave the idea sitting there on my computer, so I continued at nights resulting in not much sleep :P.

And now it's here. After some legal mumbo jumbo with them apples (needed to enroll with an "organisation" account instead of using my regular individual account - 3 weeks of back & forth reviewing the app - including the app review appeal board (!)) the ♨️ is live and available on both iOS and Android.

The app's complete code is open source, published under a Creative Commons License. So you can head over to my github repo and analyse the signing, storage and encryption of active keys (should you want to use the send-feature, not obligatory) and how the whole app works. The app is build using the open source Titanium Appcelerator app platform, where one can code in a combo of javascript and xml and stylesheets and have that compiled into native code, crossplatform!

I'm quite happy with v1 and here is what you can expect:

With the ♨️ you can monitor any account's balances on the Steem blockchain. Specifically you can:

  • Monitor any account's balances and recent Steem & SBD transactions
  • Optionally store your active key (or have it derived from your password) in a passphrase encrypted wallet file and send Steem & SBD to any user by signing broadcast messages with your key.


Should you decide to use the feature of signing transfer operations (sending steem or sbd), you will need to store your active key into a local wallet file. The contents of this wallet file is encrypted in similar ways as the cli_wallet- (Steem chain's official command line wallet) app. Note, you can also just use the app to monitor one or more steem account's balances and recent transactions.

Here is how the security model works in the ♨️, as well as several other security related features explained:

  1. The app uses AES256 encryption for storing your wallet file. The AES 256 initialisation vector normally changes with every install of the app so two wallet files with the same passphrase and same key contents would not even look the same. Therefore you also can't export the wallet-file, because you could not even re-import it. This app is therefore not meant to be the single storage place for your private keys!

  2. You have to use an obligatory difficult passphrase before you can create the wallet file. The app uses the zxcvbn library to check the complexity of your passphrase. Don't worry, this happens on your device, not online :P If you forget this passphrase, you would have to delete and reinstall the app and start from scratch by re-importing your key(s).

  3. Parts of the great dSteem library are used, namely the signing of transaction operations as well as public key derivation from active keys and the derivation of your active key should you use a password. The plain text keys are only used for signing the operation and never leave the device.

  4. Devices with Touch ID or Face ID (or Fingerprint on Android) can opt to use that feature to store and retrieve their passphrase onto the device's native keychain, for easier decrypting and signing of operations. How each OS treats the storage of that passphrase is a bit different, but on both iOS and Android those files are encrypted too, on iOS in the so-called secure enclave and on Android in an encrypted .dat file in the app's private-data folder.

  5. When sending to some account, the existence of the account is checked prior to actually broadcasting the transaction.

  6. Also when sending to some account, the app check's whether the address is not on the 'bad actors list'. If you (accidentally) try to send to one of these known fraudulent accounts the app prevents you from sending there.

  7. When sending, and you add a memo, the app validates the memo with a simple sanity check (again, all happening on device) to see if you did not (accidentally) paste a key (following this algorithm: starting with 5, 51 chars length) in the memo field. If that would be the case, the memo field would be reset and you alerted.

  8. No tracker software is installed, analytics are disabled. The only data which is send from the device is requested blockchain information, calls to the condensor api hosted on and signed operations. Oh, and the device connects to Coinmarketcap sometimes to retrieve the steem/sbd prices. However, seeing their api is going to deprecate, will change this in December to another price provider (most probs self-hosted, and multiple currencies beyond just USD).

Having said all this, I would encourage you to check the app's source code, especially the decrypt and encrypt parts.

Also I would firmly DIScourage you to use the send / active key encrypted storage features if you are using the app on a rooted or jailbroken device, simply because the integrity of the Operating System you are using might not be guaranteed.

Other features of the app:

  1. Add multiple accounts (as many as you like): Start of by adding one account, but then tapping on your main account name, will open an 'account picker dialog' where you can opt to add more accounts. You can monitor a whole list of accounts. If you hit send, you can add the active key for the selected account, should you have it. It is not required to have active keys on storage for just monitoring an account.

  2. QR scanner built in: At certain points in the app (in the 'send to:' and 'import private key' you can opt to fire up an in-app QR scanner, so you don't have to copy paste your active key, but can scan it from example from the security page on Steemit.

  3. QR code for 'receiving': An on device QR code library generates a unique colourful QR code to present to anyone who wants to send Steem or SBD to you.

  4. Integration of SBD / Steem to USD prices. The app regularly updates with Coinmarketcap and shows you the current worth in fiat, should you be interested in that.

Updates waiting to be reviewed and released by Apple (already live for Android):

  • more transaction history visible

Feature requests already added to github:

  • Implementing Steem's custom url signing for broadcasting any operation onto the Steem chain, using the ♨️
  • Implementing other fund related operations to be displayed in the transactions history (market_orders, transfer_to_vesting, powering up etc)

Want the app in your native language?
Feel free to checkout the english language dictionary file on github, copy it, and make a pull request, following these instructions:

Download the ♨️ for iOS or Android

View source:

SteemFest 3: 7 - 11 november 2018, Kraków Poland

SteemFest ticketshop opened 2 days ago! Check out my post about it here!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
  • Great contribution and advancement for the STEEM blockchain.
  • Could have used build instructions.
  • Just one commit? Looks like this was a secret for a while.

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.

Need help? Write a ticket on
Chat with us on Discord.


Thank you for your review, @helo!

So far this week you've reviewed 3 contributions. Keep up the good work!

  1. Thanks!
  2. Good input, basically is: Install appcelerator cli. then: appc run.
  3. Yes I first wanted to get this app under review and passed review by apple. From now on it will see commits. Like your translation :) Thanks!

Most definitely looking forward to trying out and using the wallet.

I downloaded it :)
Thank you for a wonderful application!!



Nicee! tip: if you want to follow / switch to other accounts, just tap on your username to do so.

excellent app something like this was missing, this way you can be more secure of our time and easier to send a transfer thanks friend @roelandp

Wonderful infos and great work @roelandp to introduce the app with amazing features. is no doubt a great addition and contribution here on Steem Blockchain. Lots of appreciations and support for you.
Here is wallet i downloaded.



If you want to follow and switch to other accounts, just tab your username to add & switch other accounts!

Cool app, I really like it. The design looks very nice too. It is very useful for someone like me because I am not tech savvy and with this app, I can check my balance on the go without having to log in using a browser every time.

TakosDiary Tako's Diary


thank you!

I downloaded and tried it. This is a good idea for checking the wallet on the go. The best thing about it is I can send and receive STEEM using QR code. I haven't tried to send or receive STEEM using QR code yet but I will try this feature soon.

I'm using note8 (on a full screen mode) and I notice that on the bottom of the app there is a Create Wallet function but when I click on it nothing happens. @roelandp



haha omg thanks for this. Thats the other views which should be hidden. Because you use the fullscreen mode and not the 'touchscreen' buttons, you see those. I will investigate this. thanks!

Made an issue out of it:


I used "Android Debug Bridge ADB commands" to disable the Navigation bar and the status bar. Once applied the Navigation bar on Note8 will be hidden at all time. It's a small tweak and so far so good. I also provide these commands below in case you need them.

run: adb shell settings put global policy_control immersive.navigation=apps,
run: adb shell wm overscan 0,0,0,-168


aha thx. hackor! :P so you would say the "fullscreen" mode is something you 'hacked' and is not available to all users?

Or do you mean in your most recent reply that that fixed the viewport for the app for your fullscreen mode?

looking fwd.


@carlpei can you tell me, do you first launch the app and then go to fullscreen? Is this a native option of your android device?

I want to fix this, it's pretty ugly this way.


Hi, I just installed the app. Great work by the way, thanks so much! I also use it on a Note 8, and the app natively launched showing the bottom bit 'create wallet'. We have the option to hide or show the navigation keys at the bottom. If they're turned on, the 'create wallet' section isn't visible any longer even in fullscreen mode (as it natively launched). Feel free to ask if you need more info or screenshots on this.

you are an absolute boss.

Great product, Roeland!

Finally I can show my friends some 7-digit numbers on my phone :-P



interesting that decimal points are represented with commas, and 3 digit separates with periods. Is that a bug?


In Europe we seperate the numbers like that.


hehehe. Tap on the username to add as many accounts as you like! You should add @steemit :)


You should add @steemit :)

Done :-)


Heh. Good old Ned's power down


Yeah, lots of liquid cash in there :-)

@roelandp Thank you for creating an awesome Steem Wallet App! Could you please add some more features that the App can be also monitoring such as the main SP, Steem/SBD current live rate and also Estimated Account Value? I would love to see it that way! This is just my personal idea.
Thank you in advance!


Yes thanks, will look into some of the features, however the idea is to keep the app 'lightweight' and fund related, but i will look into adding whatever I can and looks good.

Thanks for your suggestions.

I downloaded the app, stumbled on it and told ya!

Great app, neat and fast.

This post is featured on my daily news show (in Chinese :D) today.

@roelandp , I downloaded this Steem wallet a few minutes ago. @nathanmars, in one of his posts/videos showed this wallet to us, the Steemians, and I decided to start using it. Thank you guys!

This is awesome, thanks for the great work and contribution to the STEEM blockchain @roelandp & @pharesim! 👏👍I will download the App now and check it out. 👌



Yes! I think you already downloaded the app, concluding from your screenshot :)


Yes I downloaded the app and it looks really nice. 😎👍


it all boils down to a good ava :) 👌👌👌👌👌


Yes 😎👏🎉

couldn't click download fast enough! Setting up now this is great! Thanks @roelandp

OMG this is absolutely fantastic!!! What a beautiful application. Just downloaded and I love how it displays my wallet so clean and crisp-like. I’ll definitely be doing a video review of this in the coming weeks. Excellent work @roelandp 👊🏻


Posted using Partiko iOS

That is an app where many steemians where waiting for.

Thanks @roelandp for all your work

Will test this today on iOS and Android and come back with Feedback and ideas.



Hello @roelandp First of all I congratulate you for such a good project, I want to take it to the entire Steemit community in Spanish, that's why I made a publication for all of them, you can see it in the following link:

I have downloaded and conducted an experiment and the results are real, great work and amazing news for the whole steemian.
thank you.


Amazing! Thank you for that it was badly needed for years!

I got it installed on my iPhone, when is it coming out on Android?


android is also available?


Android is available as well i guess

Congrats on revealing the potential of new payment method!

It seems the Steem team are in no rush to deliver the wallet they showed us at the last Steemfest, so this is good news. I think Sneak was saying it would be much more secure on Apple, but true security is always hard to achieve.

Now if only there were places I could go and pay with Steem :)


So this app uses AES256 encryption just like for example the original bitcoin wallet, and the Steem cli_wallet app. If you decide to store your active key (no need to do that if you don't want to use the 'send' feature). You will need to encrypt that active key with an obligatory strong passphrase. But optionally you can then store that passphrase inside the socalled 'secure enclave' a seperate physical storage area on the ios device, should the device support Touch ID or Face ID.


That's great, but the security risks tend to be around the edges. A user still has to access the encrypted store somehow and other apps could potentially compromise things. I'm no expert on this, but I've heard people like Steve Gibson and Bruce Schneier talking about how hard security can be. I'm not trying to put a downer on your project. We have to be realistic about the risks. I'm sure others will be checking your code and I hope they can spot potential problems.

Would be cool to add other functionality like the market, power up, or power down


yes will look into it :)

The UI looks clean

Nice and amazing app. I downloaded it.

Firstly, thanks @roelandp for your time and great effort in creating this awesome app. I have downloaded and tried it. I am not a high tech savvy. However, to be a user and with the aim to stick with this app in future, I have some wonder that I wanna ask you the advice.

  1. How about adding the proper time to check. Cos there are lots of users who have joined Steemit for a long time and they did lots of transactions. Sometimes, they want to recall the transactions with the proper time given.
  2. What do u think of pointing out the exact date of the transactions instead of some words like “5 days ago” or something like that?
  3. I really love if there is one more feature to know all the transactions from one sender or receiver. I mean I have some transactions from a special sender but not only in one day, so I want to know the summary of those transactions from that sender.
    Correct me if I am wrong with the opinions above. All the things above are what I think I really need and they would be more convenient for the users. Thank you!

Hi lenancie, thanks for your input.

  1. This would mean looping through your full account history, or using a centralised index version of the blockchain. Currently we use the live condensor apis, specifically get_account_history, which cannot be searched by 'time given'.

  2. By clicking on a TX in the list you can see the actual block and time (and memo text)!

  3. See point 1.


I’m short of words with this initiative as it blows my mind away. I’m checking it out right away. This is amazing. You’re much appreciated

Thanks for this! Awesome application. The QR receive code stores just the SteemID ? I thought it will be a URL or something...


yes thats the idea. lmk ur thoughts. could have the steemid in url format and then parse that

Great news and this application will be very convenient for our ecosystem, especially if there is no computer nearby! Thank you @roelandp

It's good to have a dedicated app for Wallet, but do we really need it as we have so many app in the market.

Posted using Partiko Android

This is sophisticated wallet for Steem and the best is that it's available on most used devices in the world iOS and Android.
Kudos @roelandp

Can you tell us frome where do you take so much time to do all this?
The Whale, SF Organization and now the Wallet? This is INSANE! hahaha...

Really..the Wallet seems to be very complex according to security and having the chance to use the QR code is a game changer for sure. By the way that Code can be used in some way as a contact card for example to exachange usernames account instantly in the SteemFest! :) I think it will be more than useful.

By the way didn't knew @pharesim has a Lambo.. he deserves one! And Im sure you really enjoyed that chat...

Cheers for this app man! Using and Rated!



Please look at @jukatravels for the SteemLambo. It's a SteemLambo not a Lamborghini. ----> :)


Heheheh Roger that!

Downloading now! Awesome work @roelandp and team!

I got it @roeland..!!!
Thank you for sharing this app..
This is very cool.. I will share this to my group...


congratulations @rollandp, this will be very useful for steemit users ... success continues for you

This is a good news. I think steem will develop more

Good Work @rollandp, this is great news for steemian. i will try use this app and make review.

Oha my god I Will definitely try this. Its make your experience much good in steemit

Wow this is very wonderful! Thanks for your doing great on steem!


Would I be able to perform Steem Dollar to STEEM conversions via steemwallet app? According to official Steemit FAQ, this is supposed to be an advanced user feature, and is currently only available to users using external wallets. Thank you a lot.


ok interesting. I will put it into the feat request. I really want to keep the app lightweight, but as this is a fund related request, I think i can add it!


It would be great to have that feature readily accessible for all of us “advanced users” who aren’t on a PC all day. And considering it’s a critical blockchain function for our two-token system, it makes sense to have it available for everyone to actually use.

If you add it to your app, let me know. That might convince me to download it. :)


ok ok :)


I greatly appreciate your promise. It's a wonderful surprise that I get such a positive response so quickly. It will be great motivation for many of us to install this mobile wallet app. As official Steemit FAQ indicates, if you convert Steem Dollars to STEEM, the blockchain will process the transaction over a period of 3.5 days. At the end of the 3.5 days, the SBD will be gone and replaced by approximately $1 USD worth of STEEM tokens. The "approximately 1 USD worth of STEEM tokens" is based on the median STEEM price over the 3.5 days, using the price feeds from the Steem witnesses. Depending on price fluctuations during the 3.5 days it is possible to end up with more or less than $1 USD worth of STEEM per SBD at the end of the conversion.

thank you i really like it

Great app.. it will be very helpful for steem users

So this is what you produce while you don’t have a lot of time... :D

Posted using Partiko iOS



This definitely be good news to steem community, I'll download and try. If ok, to introduce to my community. Thanks for your effort anyway

Posted using Partiko Android

Downloaded it and rated it 5 star on play store .. Greatjob @roelandp


thank you!

Oh my... This will be very, very helpful. Thanks @roelandp!^^



oh wow dat font :p


Hahaha, it is cute xD

I need to screw around with this. Haven't quite gotten around to doing that just yet.

Awesome app Roeland!

Great job @roelandp.

Looked over the code real quick and seems solid. I was especially interested in the encryption, but I'm inexperienced with the package you used: Ti.SlowAES.

Nevertheless, thank you for your work!


Ti.SlowAes is just a little morph for the required addiotional packages' inclusion, but other than that it is just the 'slowAes' package originally provided by Google:

Ti stands for the app compiling software I used: Titanium Appcelerator.

Very cool! Can't wait to try it out!

Nice initiative.
People like you are making steemit better.

Oh my!!! This is exciting!!! I will be checking it out in details and the Integration of SBD / Steem to USD prices sounds awesome!

Great information i like it awesome bro👮

Good afternoon friend, I love the information of your post, from #Venezuela I'm always supporting your work, also I always learn tips on how to create my post thanks to you .... But I could suggest that you try to center or justify the text to you have more votes and read more ... congratulations greetings ...

Hi @roelandp! We are @steem-ua, a new Steem dApp, computing UserAuthority for all accounts on Steem. We are currently in test mode upvoting quality Utopian-io contributions! Nice work!

En in het Nederlands: vette app, goed bezig! ;-)

Important information and valuable..
Dear @roelandp

Posted using Partiko Android

Such things are the ones that will take steem to mass adoption!

Posted using Partiko Android

Wow! Wonderful app.
I downloaded it.


it is great app...Thank you @roelandp

will downnload it too thank u for this application

Super rad, thanks so much for your time and energy making this!

Lekker bezig @roelandp! Vroeg me af of je nog een roadmap had buiten de feature requests die al op GitHub staan?


hey! idee is om het een lichtgewicht wallet related app te houden. dus alles met je steem
funds. en signing broadcasting ontvankelijk maar geen UI voor post creatie en consumptie.

als je wensen hebt hoor ik het graag. tzt SMTs natuurlijk, maar geen grote roadmap.

Ok, I will try it out and see if this would be helpful to me.

BTW great work man.

Cool now I can see how broke I am in real time...sweet!

Posted using Partiko Android


Terlihat mewah..terima kasih telah menjaga platform ini dengan sangat baik. I like you


Definitely a very useful app! Thanks for sharing it with us sir @roelandp 😊.

I love this app because it helps me know the STEEM and SBD numbers that I own. The thing I like most is that no need to use the key to log into the account because the key is difficult to remember :)



jup, its' the blockchain, so that part is all transparent.

Btw, just so you know, click on your username, to add and switch more accounts!

@roelandp, you're a very smart man! I am in awe of your abilities!!!

This is awesome brother :) roelandp

Very nice information it is useful to all steemit family

Can you add additional security layer by providing out going transaction lock to secure. (enable - disable out going transactions)


Hi Daan007,

I think this is already enabled:

  • every outgoing tx you need to unlock your wallet with your passphrase or if you have Touch ID / Face ID enabled for this app, with that identity for ease of use.

Let me know if this is what you mean?

Wow what a great initiative!!! Great works from you guys! I have to check it out now, just came on and found this good news, I hail your positive spirits for not abandon that great project, some projects die down on computer like that due to negative thoughts and feelings but you keep it real and now your efforts is appreciated, you guys discussion make this platform great by came up with something new and great, thanks to @pharesim and co for such productive discussion which turn out great for every to enjoy... Thanks all, thank the @roelandp for your efforts in support many here on Steemit, bless you..we can't thank you enough. Great work.

I just downloaded it . It has a great UI and is very easy to use . Great initiative brother . Will make it in use when market will be stable .

Just downloaded and did a test send to my local friend... works great, good invention. This could really stimulate the Steem economy by allowing more retailers to easily accept Steem.

thank you for your info ...nice

Wow great work @roelandp I will check out the app and looking forward to all those features!!!

Posted using Partiko Android

Thanks for the hand-up. Appreciate it very much!


I think I was number 7 to download from the app store, thanks for your hard work!

Excelente iniciativa para el mejor control de la economía steem . Lo celebro

Great work roelandp! I will try this in android, thanks for the contribution ♥

this is great

Thanks for the great information

Posted using Partiko Android

wow I am love this innovation already.
I am getting this on my phone right away.

So many phishing and scam accounts this days, the block transfer to bad actors list feature is definitely needed.

Maravillosa esta billetera, ademas por las descripción super segura, me encanta pronto la estaré probando ;) aun en sus vacaciones trabajando, pero es bueno saber que valió la pena esto sera un rotundo éxito. Saludos y un fuerte abrazo

Awesome work guys, tipuvote! 2


thanks @cardboard!

Could we have clarity on the key expressions:
I have a Master Password & a posting Key.
What is the "active key"?
And whats up with the latest, greatest
"holes" that


Hi luca1777,

For your steem account you have several keys all with their own specific authorities / permissions.

Normally for posting blogs, comments & voting you would use your posting key.

For other actions like transferring funds, updating your account's meta-data and for example voting for witnesses, you use your active key.

Then there is also a memo key which can be used to encrypt/decrypt memo's in transfers and there is your owner key which has most permissions and can be used to update any of the other keys.

Your master password (passphrase / seed) is a string used to create your account and if you have not manually changed the underlying posting, active, owner, memo keys, by default all other key formats are derrived from that master password.

The SteemWallet app uses the active-key for signing transactions and also stores that key in encrypted format. If you happen to not have your active key at hand, but you do have your master-password, upon importing that, the app derrives your active-key from that masterpassword you supply, then creates the public counterpart for that active key and compares that to your public (active) key as present in the current state of the blockchain. If those match, we store the 'derrived' active key in the encrypted wallet.

I know it's many times key, public, active, passphrase, seed etc. It gets some training to get used to it. Please see (if you are loggedin with your account) to see your (derrived) keys.

  • Idk about "holes" that steemconnect had, steemwallet does not use steemconnect.

this is some beautiful update bruh

great app keep it up bro

This post is supported by $2.75 @tipU upvote funded by @cardboard :)
@tipU voting service guide | STEEM Monsters Lottery | For investors.

Hi @roelandp
I have read all the comments and your post twice...
I'm super excited to use this User friendly interface....

If help needed please guide us if possible..



will try this. as i think it will be an essential for steemit.

Downloading now review soon to come!

Posted using Partiko iOS

Are you planning to make the wallet compatible with SMT? Also "steemlambo" :))))


yes that is the idea!


It's a joke, a lamborghini bought with steem


oh right, just like my steemyacht ;)

Downloaded it now, navigating and learning it now.


Quite excited to the next update version.

Great job!

@roelendp Wow such a cool app! I have been wondering why no one has tried to do a STEEM wallet now some did. Awesome! Anyway are there plans to incorporate the internal market in the wallet or may just maybe you can make a decentralized exchange built-in if possible. What do you think?


downloaded it, excited to use it in the near future whenever I got extra fund to transfer to someone. gonna test it soon.