Hey,
We are building a web application, simple and accessible to a large public, that will serve as digital wallet, which can hold multiple currencies, and I decided to share here with you what we have as project in hope to get some feedback from you.
The main goal is to help people to get into crypto currencies, with a very simple and easy-to-use application. End user will not have to know how works the blockchain and even Stellar. They only have to know their login and choose currencies they want to use between different that will be proposed.
It will be first built for desktop web but will be made responsive, so also usable on mobile.
In the world we're living now, people are fighting to push their own product on top, but there will always be multiple concurrent technologies, and this app serve as a glue, aiming to be able to use them all.
Main features are receiving money, exchange between accessible currencies, and send (=/withdraw/pay). The payment will allow path payment, i.e pay with one currency and send another one. If you hold ETH and you want to pay a shop that only receive BTC, the app will convert it transparently.
I insist on the fact that Stellar will be totally transparent here, when you will send BTC, the app will send BTC assets to an anchor, which will really send BTC in turn. We are not currently planning to only send stellar asset between users.
In the future, users sending money to users within the same application may only send assets to reduce transaction cost and duration, but the goal is really to give users the feeling of using real currencies.
Indeed the underlying technology will be Stellar. There will be virtually no backend, most of the work will be done in the browser, with the use of Horizon, and the private keys will be held only by users. For a user-friendly login, a federation server will be used, that will resolve username to account ID. For the users not to have to memorize a complex seed, this one will be encrypted with a user chosen password, and stored on the blockchain inside the stellar account data. Only non-sensitive data will be stored on our servers.
To achieve this, we will also release an API called Wilson that will serve as an Anchor Discovery Service. Its role will be to hold a list of well-known anchors, which assets they serve, and the ability to help users to interact with them (by users here I mean stellar-aware developers). It will help stellar users to discover new assets, and to deposit/withdrawal them.
Currently there is no specification to interact with anchors.
When you will have an account with some trusted assets, you will be able to tell Wilson their code and issuer, and it will answer you the owner of it, where to send your BTC if you want to deposit to your account or where to send assets if you want to withdraw them on a specific address, for instance. Much the same as naoBTC and Stellereum works now, but with only one interlocutor and one API specification (without even having to know who are the asset holders, out of code and issuer ID).
To guarantee that Wilson is not cheating on the responses, anchors will be incitivized to sign messages with their signing key present in their toml that will be transfered to end user.
We will first release an alpha version with existing BTC and ETH anchors (Stellereum and naoBTC), and wish to add more in the future after having proofed the concept. At this point I hope that we will find an anchor resolving protocol specification for deposit/withdrawal for more complex currencies, particularly for fiat which will need KYC.
Link to our development server :
https://stellar-wilson.herokuapp.com
List of known anchors:
https://stellar-wilson.herokuapp.com/wilson?type=list
Any feedback is welcome, indeed.