Building a Bitcoin Platform with Coinbase

Gordon Wintrob
GET PUT POST
Published in
7 min readFeb 25, 2016

Welcome to GET PUT POST, a newsletter all about APIs. Each edition features an interview with a startup about their API and ideas for developers to build on their platform. Last week I sat down with Dan Romero, Director of International Expansion & Banking at Coinbase, and we spoke about apps on the frontier of digital currency.

Enjoy the interview :)

What is Coinbase and what can developers do with your API?

Coinbase is a website that allows people to buy and sell bitcoin. We have an API that also lets you store bitcoin, use it at merchants, and all other kinds of good stuff.

Most things you can do with Bitcoin at the protocol level you can do with Coinbase and there are some additional features like being able to take dollars and change them into bitcoins. It’s an on-ramp and an off-ramp into the Bitcoin ecosystem. Plus, you can put it in a vault — either hosted or multi-sig — and a bunch of other more advanced features. But, at it’s simplest, it’s buying and selling bitcoin.

Who are two or three sample customers?

I think there are three buckets of customers.

For merchants like Dell, Expedia, and Reddit, we have a set of tools that we’ve built on top of our APIs. These let merchants accept a bitcoin payment from any address, and then instantly call an API call to sell that bitcoin. This lets merchants accept bitcoin without dealing with fluctuations in its price.

The second group is application developers building interesting things for Bitcoin. Companies like Lawnmower. The idea is I can swipe a debit or credit card. They use Plaid or another API to be able to look at my debit card purchases. If I buy something for $1.55, 45 cents is automatically spent to round up that transaction and buy bitcoin. So you’re incrementally buying a position in bitcoin every time you’re swiping. Another good example is companies doing remittances.

The last group is the exchange. Coinbase is easy for self-service, but the exchange is a little bit more like the New York Stock Exchange where I put an order on the order book to buy or sell. The customer that uses this API is looking for very high uptime and is constantly consuming, via web sockets, pricing and order book changes so that they can programmatically trade. We’re starting to have some very high-frequency traders.

For access to the Exchange API, are there SLAs and other agreements that traders pay a premium for?

It’s a great question and something I think we’ll have to figure out over the next 6 to 12 months. Uptime is something that we’ve been getting a lot better on. But early on, we had to deal with the growing pains of building our own exchange and maintaining the reliability.

We are much more in the mold of Silicon Valley where we have an open API that’s easy to access. This is very different from traditional finance where if you’re an exchange operator, your data is actually a massive business. I think for the New York Stock Exchange it’s a couple hundred million dollar a year business just to sell the data to companies like Bloomberg, hedge funds, and other people who want that advantage. In that model, there are games like tiered access that can be very lucrative.

How does Coinbase think about building a platform for developers versus building for customers directly?

A platform means that the sum of people building on it is more valuable than the actual company itself. I think this is one of the things that irks me about a lot of API companies. If you’re capturing the majority of the value, then you’re not a platform, you’re just a good business. Whereas a true platform, literally enables other businesses that can be bigger than the underlying platform.

Facebook is a great example. If it was a true, sustainable platform, a company like Zynga wouldn’t necessarily be where it is. When Facebook moved to mobile, they had to say the platform here is actually the OS and we can’t allow Zynga to have a native runtime inside of our app.

This is something we have to be careful with to create a thriving developer ecosystem and be a true platform at Coinbase. For example, we built a tip button on top of our API about a year ago and there was another company in the space that was actually doing that. Frankly, that decision didn’t move the needle for us and it isolated someone who could have potentially been a good partner. We need to focus on our core competencies: buying and selling bitcoin, connecting to banks, the hard legal and regulatory things.

What would you like to see some other people build using your APIs?

First, natively integrating Bitcoin at the browser level. Probably do an MVP using a browser extension.

Brave is an interesting experiment. It’s the former CEO of Mozilla and creator of JavaScript Brendan Eich. They are building in ad-blocking natively. If they block an ad, there’s some way of doing micropayments both to the actual publisher of the website and to the user. It’s an interesting economic model. There’s no native economics to the internet, so what happens? You have display advertising and e-commerce, but it could be supported like a utility like electricity or water.

The user might not even understand that Bitcoin is happening in the background because it’s just the right protocol to move money on the internet. But the idea is you now have a way to surf what I would call the “premium internet.” That partially scares me because of net neutrality, but people value a quality experience that’s not like littered with display ads and paywalls.

One challenge is that you have more people on mobile and it’s really hard to rip out the native browser. Much easier in Android. Apple’s made some strides with how UIWebViews work, but not having the same JavaScript performance as the native Safari, that can be a hampering thing. I think smart people can figure out creative ways to get around that.

Second, we need a way for banks that move money today to be able to use Bitcoin as an alternative to what I’ll lump together as SWIFT (international wires) and there’s this thing that supports that called correspondent banking. SWIFT is essentially like shitty bank-to-bank email that was designed in the 1970s. SWIFT lets a bank in London wire money to a bank in LA and they just settle at the end of the day. The way the correspondent banking system works is the biggest banks that have operations in multiple countries are gatekeepers and charge rent on all the small banks.

What really sets Bitcoin apart is that it’s the first time you can digitally settle value. What would be interesting is having someone go out and build a product where a small bank in LA can connect to the Bitcoin network and a bank in Europe can connect to the Bitcoin network and let them talk directly. This company would make Bitcoin plugins for your bank to a local exchange and slowly start replacing correspondent banking.

To summarize, it’s like SMTP for banks. SWIFT is that today but we need an open version, so that everyone can communicate whether they use Hotmail, Gmail, or self-hosted email. Bitcoin is the TCP/IP and you need SMTP on top of that. Too many people are building apps when in actuality you still need to be building infrastructure.

What about startup opportunities for Ethereum versus Bitcoin?

I think there’s more opportunity at the infrastructure layer in Bitcoin and in distributed apps for Ethereum.

It’s going to start with a gray area that credit card companies won’t support and expand from there. This isn’t a business to recommend, but if you wanted to build an online poker site that couldn’t be shut down by the government, you could create a decentralized Ethereum app. You can build all sorts of apps where you don’t pay a rake to the system. Imagine there’s a paradigm shift where you can buy a self-driving car, loan it to a decentralized Uber application, and the car drives itself around earning money.

Have anything to add? Tweet at me. Sign up to receive the next edition here.

--

--