You're reading the Keybase blog.
There are more posts.

When you're done, you can install Keybase.

Keybase + Stellar is live for everyone!
May 14, 2019

Stellar logo

One year ago, we announced that Keybase is supported by the Stellar Development Foundation. And we promised something fun with the cryptocurrency. After much testing, it’s live now for all Keybase users, and for anyone new who installs Keybase.

A video of sending XLM in the Keybase appSending 1 Lumen (1 XLM) to my friend Max

Let’s talk about what Keybase has built, and why we’re different from other cryptocurrency wallets.

Goodbye to big, ugly addresses

A normal cryptocurrency experience involves passing an address around. Here’s what a Bitcoin address looks like:

Jimmy Wales tweeting his Bitcoin address

This is (1) confusing and (2) not secure against social engineering attacks. So Keybase hides them, while increasing security. The addresses still exist, of course, but they are signed into users’ signature chains, the same chains that announce device additions and removals.

In fact, here’s my sigchain link from Oct. 10 of last year, where my Keybase app generated, announced, and proved ownership of a Stellar address.

Again, this happens automatically inside Keybase’s wallet; all I did was click a button to create the account:

Creating a new Stellar account on Keybase

This “account” just has 2 keys in it, which I don’t need to see. The 2 keys look something like this:

stellar address GCFYHS4GXL6BVUCXBWXGTITROWLVYXQKQLF4YH5O5JT3YZXCYPAFBJZB for receiving funds; this is public
stellar private key SAV75USXIJOBMEQXPANUOQM6F5LIYOTLPDIDVRJBFFE2MDJXG24TAPUU7 access to this private key lets me send money

Again, Keybase removes the need to see these details. Without trusting a server.

Synchronizing of your Stellar private keys

So...how do you get your private keys - meaning, access to your accounts - from one device to another?

Keybase already has an end-to-end secure protocol for communicating secrets, without exposing them to servers or man-in-the-middle attacks. This is the same protocol that unlocks your chats and Keybase encrypted files on a new install. Keybase now uses this protocol to sync your Stellar keys.

So when you provision a new Keybase device, it automatically has access to your Stellar funds.

Of course, you can still export your private key, for use in a non-Keybase Stellar app:

Exporting a Stellar secret key from Keybase

Also, your Stellar “address” (a.k.a. your public key) can also be exported, either in string form or as a QR code.

Automatic conversion of amounts

In a Keybase chat, you can send someone Lumens, priced in real currency. For example, $5.00 or 20.00€ worth of Lumens. This conversion + transaction goes through quickly, usually in under 5 seconds.

Many wallet apps support conversion like this, but Keybase will do it on-the-fly in chat, too. So you could type “Hey chris, +3GBP for the post-Brexit funding” and it would send me 3 british pounds of XLM.

Tight integration with chat

Cryptography aside, a wallet really, really, really must be paired with a chat.

You must be able to talk about what you’re sending. Or what you’re asking for.

In Keybase, there’s a “$” button in direct chats. Click it, and you can send or request, inside chat.

The confirm screen looks like this (mobile version):

Confirm screen for sending Stellar lumens in the Keybase app

And here’s how it appears, afterwards inside chat (desktop version):

In-chat system message indicating the transfer of lumens

Max actually did buy me my salad today at lunch, and this is how I paid him back. This is easier than Venmo because we chat in Keybase anyway.

In addition to the “$” button for sending, you can tip using inline texts, as mentioned above. For example my brother might write “hey bro +6usd for a coupla poundahs for comin out the house”. That works in chat.

In group chats, you can tip one or more people in a single message. For example: “hey, thanks for the advice. +1usd@chris and +1.50usd@max”.

This is the fastest and most social way we know to spread cryptocurrency.

Multi-account management

Here you can see I have 3 accounts:

Multiple Stellar wallets in the Keybase app

The top is my “default” account, which I’ve given the name “coyne purse,” a name which is encrypted just for me. This is the account I use to send and receive on the Stellar network, when transacting with other Keybase users. However, Keybase will synchronize multiple accounts across my devices. I have 2 other accounts; I send from them not into Keybase chat, but to regular old Stellar addresses.

Notice I have some Lumens “+ more” in my acme account. Stellar supports other kinds of tokens—not just Lumens—and I hold other tokens in that account.

Only when I make an account my “default” is it announced on my sigchain.

Fast, cheap, and no electrical power

We can’t say this enough.

As we wrote before, Stellar transactions are very inexpensive (miniscule fraction of a penny), very fast (5 seconds), and most important, they’re not using as much electricity as a medium-sized country.

Finally, more soon

This is only the beginning. Stellar does a lot more than just Lumens. For example, it functions as a decentralized exchange, and it supports atomic path payments. In a Stellar wallet, you can hold tokens issued by a bank—for example US Dollar tokens issued by an American bank or “anchor.” And let’s say your friend across the Pacific only likes tokens issued by their bank—redeemable for Philippines Pesos. In this scenario, magically, you can send your dollars to your friend without worrying about who’s doing the conversion or worrying about whether you trust their bank. And they don’t need to trust your bank. Stellar finds the optimal trade path through the network...made market efficient by the underlying decentralized exchange. All that is beyond the scope of this post, but Stellar really should replace the international money transfer networks.

Keep watching as we add more to our Stellar features. And if you’ve made it this far and would like a few XLM, hit me with a message in keybase chat :-)

Crypto for everyone!


FAQ

How do I buy (or sell) Lumens?

Coinbase Pro just started selling them.

Also most other cryptocurrency exchanges do too.

What about sending outside Keybase?

Of course! Keybase can send to any Stellar wallet. It can also receive from any Stellar wallet.

What about “federated” addresses?

Ah, so you know something about Stellar...yes, using other wallets you can send to [username]*keybase.io to reach a Keybase user.

For example, I’m chris*keybase.io. Also, since I’ve proven ownership of @malgorithms on Twitter, you could send money on the Stellar network to malgorithms@twitter*keybase.io. That will go to me.

Can I use my account(s) with another Stellar service, such as StellarX?

Sure. You have 2 options here: (1) just send funds from your Keybase account to your StellarX account for trading. Or (2) actually share the same private key between Keybase and the service.

We strongly recommend option 1 for security reasons. A web page’s security is only as strong as the JavaScript they serve you that day.

Haven’t you lost your direction by integrating a cryptocurrency?

No! We love this partnership and believe it supports all our other work, too.

SDF is a non-profit, we like the Stellar technology, and we think it integrates very well in Keybase. Further, it doesn’t get in the way for people not interested in using it.

And if you’ve looked at the Keybase app recently, you’ve seen it has improved greatly in many other aspects.

Are you hiring?

Yes. Especially a Windows Engineer. Do you exist?

What about other cryptocurrency project XYZ?

For now, Keybase’s wallet will only support tokens that exist on the Stellar Network. Still, Keybase is a great place to pass those traditional addresses around securely. If, for example, you ever want to send me a Bitcoin or Zcash address, I’d want you to do it in Keybase chat. That would be encrypted and signed.

Where can I talk about this?

There’s an active, open team on Keybase called stellar.public. The team is owned by the Stellar Development Foundation. To join, just start up the Keybase app, and type stellar.public on the teams tab to request access.

How do I join Keybase?

On your phone or a computer, just visit https://keybase.io/download


This is a post on the Keybase blog.