I'm sitting at my favorite coffeeshop as I write this. For many years, it refused to accept credit cards because the owners didn't want to pay the merchant transaction fees, typically 3%. In fact, the credit card cartels and their transaction fees represent a significant, ongoing drain on our economy which we accept for a certain level of fluidity. In 2013, I asked if it was time for the U.S. Treasury to provide a digital cash solution.
Stellar, a new open source, decentralized currency and financial trading system may deliver on this promise.
The Stellar system, its team, advisors and progress to date very much impressed me. The more I explored, the more depth I discovered. By the end of my explorations, I was eager to dive deeper into the development platform. This isn't often the case when exploring new APIs.
In this tutorial, I'm going to give you a broad overview of the Stellar concept and platform. It's likely I'll offer future tutorials that dive into coding with the API.
What Is Stellar?
Stellar is a decentralized, nonprofit infrastructure for financial transactions and a new digital currency. It's designed to securely, fluidly and affordably support online transactions between different people and with different currencies, and to provide an open source platform for developers to build payment solutions into applications of all kinds.
How Does It Work?
Due to the detail and complexity involved, I'll paraphrase from Stellar's own introduction:
Stellar's network of decentralized servers power a distributed ledger which records every transaction in the ecosystem. The ledger records your money as credit which is issued by gateways. For example, gateways transfer dollars to credits on the Stellar platform, or Euros or Bitcoin; this is much like how Paypal operates today. Credit is issued to your online account which acts like a virtual wallet in exchange for your deposit. They have to be trusted to hold your money and honor your withdrawals.
Stellar holders can send credit to other people on the network using a variety of currencies. The network will automatically exchange currency credits at the lowest possible rate.
The servers communicate with each other to verify transactions and sync the ledger every two to five seconds. This mechanism is known as consensus.
Stellar's platform also enables new currencies, such as the Reveal Coin. These currencies can be created by application providers and exchanged for real world currencies at Stellar gateways. Any application developer can create their own currency or leverage stellars directly.
People can now easily send and exchange all these different gateway credits with each other. This allows people to not only buy and sell currencies in a foreign exchange like manner but also to convert currencies seamlessly during transactions.
Where Do I Store My Money?
You can store credits on the network with trusted providers. Transactions can be managed via the Web or with wallet client apps which are already available for iOS, Android and desktop:
Why Should I Trust Stellar?
Stellar operates as a nonprofit and is transparent about its mission and progress:
Our mission is to expand financial access and literacy worldwide. When individuals have access to financial services and the confidence that those services are working in their best interest, those individuals can independently improve their lives. Yet the current financial system is too costly and complicated, leaving millions of people on the sidelines. Just as the internet allowed anyone to send an email or create a blog, Stellar’s common financial platform now allows you to easily send, save, and receive money, without large fees or hassle.
All of the Stellar platform code is reviewable and open source.
Image credit: Lynne Cazaly on Twitter
Stellar's Advisors include MIT Media Lab Director Joi Ito and WordPress Founder Matt Mullenweg. Its Board includes former PayPal and current Stripe executives. Its diverse team notably includes nearly 50% women, unusual in most technology startups.
Stellar is a global platform; its introductory slideshow is translated in 11 languages: English, Vietnamese, Bahasa Indonesian, Spanish, Portuguese, Tagalog, Swedish, Serbian, Italian, Ukrainian, and Russian.
How Is Stellar Funded?
The Stellar Foundation was funded with a $3 million loan from Stripe which was subsequently repaid with 2% of issued stellars. It's allowed to use up to 5% of the initial stellars to fund operations (including the loan repayment).
Initially, 100 billion stellars have been created. They are distributed as follows:
- 50% for the world via the direct signup educational program
- 25% for nonprofits to reach underserved populations via the increased access program
- 20% for the bitcoin program
- 5% for operational costs
The Bitcoin exchange program will work as follows:
We will take a snapshot of the bitcoin blockchain at a particular date and will set up a claim page that will allow bitcoin holders to receive their pro-rata share of the stellars reserved under this program by verifying they control their address from that blockchain snapshot. For example, a user owning .001% of the bitcoins in the blockchain snapshot would receive .001% of the stellars set aside for bitcoin holders under this program, or 190,000 stellars.
Bitcoin users will have an obvious stake in Stellar.
You can read more about the Stellar funding model in its Mandate.
Just as an example, the Stellar Charts application, also completely open source, shows trading activity between legacy currencies, Bitcoin and stellars:
Getting Started With Stellar
You can sign up for Stellar at its website:
Step one is to connect your Facebook account to receive a bit of stellar currency:
Stellar is using Facebook to minimize abuse as it distributes currency to individuals worldwide:
We are currently using Facebook as a verification method to avoid spam but hope to add other methods soon. We will not post on your Facebook. In short, Facebook was the easiest way for us to get started with stellar distribution — it gives us an easy way to avoid people claiming their stellar many times. We know not everyone has a Facebook account, and over time, we hope to add additional channels.
I ran into some problems, probably unique to the fact that I don't use Facebook any more. My situation is probably quite unusual. I had actually let the domain I had registered for email for Facebook expire. I tried switching over to a Facebook account I use to manage Pages, but Stellar doesn't have a mechanism to disconnect a Facebook Connect link after it's made. So I tried re-registering with a new account at Stellar. That didn't work either:
I'm not overly concerned as my situation is not common.
Once you're into the system, Stellar offers a trading desk to exchange currencies:
When you receive your Stellar credits, you can send them to other Stellar users and my understanding is that you'll be reimbursed for your first transaction with more Stellar.
Here's a video guide to signing up with Stellar and getting started with its currency system:
Of course, the power behind Stellar may not be its own currency but its ability to exchange and trade between a variety of real world currencies.
Securing Your Stellar Account
In addition to Stellar's robust signup and verification system, including Facebook and email verification, it offers a recovery token and two factor authentication with Google Authenticator.
The Stellar Community
The Stellar Blog has a lot of detailed updates on it if you'd like to dive more deeply into their work. You can follow Stellar on Twitter at @stellarorg. They also have a ZenDesk Support Portal with a knowledge base and a regular newsletter. There are multiple community forums and IRC rooms. Check out their community page for more detail.
They look like a team that knows how to change the world and have fun at the same time:
Developing on the Stellar Platform
I was very impressed with the depth and quality of documentation and open source applets and libraries that Stellar provides.
There's a simple wizard that walks you through some initial sandbox examples with the API:
What Can You Build With Stellar's API?
Greg Brockman wrote a great summary of the kinds of apps that are appropriate for building with the Stellar API. Here are a few of his examples:
- Games. Many games already have virtual credits. Imagine embedding those credits into the Stellar ledger (or just making those credits be stellars). This would make them instantly tradable, and something that users could bring with them from game to game.
- Apps for tracking and paying back expenses among friends. Backing these apps by credits on the Stellar ledger would be very interesting, and mean that people can trade around their debts, and have those interact with other debts external to the app.
- Micropayment paywall. Stellar’s low transaction fees make it plausible for doing micropayments. You could imagine either a hosted solution or open-source code to make paywall implementation really easy.
- Prediction markets. Stellar makes it very easy to track and trade credits representing various predictions (independent of whether or not they’re convertible to cash).
Read his full post—it's excellent.
What Open Source Components Are Available For Stellar?
- The Stellar Client
- The Stellar Wallet
- The Stellar P2P Reference Server
- A Stellar Account Viewer
You can start building with any or all of these components today. If you're interested, I encourage you to check out the platform.
Be sure to sign up for the developer mailing list.
I'm eager to explore the Stellar Ecosystem and API further. I hope you're intrigued as well. Look for future posts on Stellar at my Tuts+ instructor page. Please feel free to post your questions and comments below. You can also follow me on Twitter @reifman or reach me via email directly. Now go sign up and get your stellar.
My coffeeshop finally began accepting credit cards when the law changed to allow them to pass on transaction fees to customers. As I prefer not to pay those fees, this is one of the only places where I still use cash. I for one would be pretty happy to buy my coffee with stellar and I think they would be pleased to accept it.
Stellar portends an intriguing future.