This article is part of ProgrammableWeb's series on Crytocurrency and Blockchain. In this article we present an overview of the ecosystem including a brief overview of blockchain, Ethereum and more as well as some of the common API types you can expect to see.
I’m sure you’ve read many articles on the technical details of cryptocurrency, but here I’ll focus on what you’ll need to know to work with APIs in this space.
Let’s start with an overview of the ecosystem.
Cryptocurrency seizes the spotlight
Cryptocurrency is considered a digital-only method for financial transactions, meaning it has no physical representation like paper money and coins. However, exchanging certain cryptocurrencies for physical currencies in the same way people exchange U.S. dollars for Euros, and vice versa, is possible.
Hundreds of cryptocurrencies are in use. You may have heard of Litecoin, Ripple, Dodegcoin, and Ethereum. Coinmarketcap.com has a list of the current top 100, and it’s a service that also offers information on APIs. (A “market cap” of these currencies is the price per “coin” in U.S. dollars and the number of such coins available.)
The “crypto” piece of cryptocurrency indicates an encryption component, which is vital to the integrity of any transaction using it.
The core, underlying technology that makes cryptocurrencies possible is called “blockchain.”
“Bitcoin,” likely the first cryptocurrency people hear of when they start learning about this space, is believed to be the original cryptocurrency, and it’s the most popular. Bitcoin is in the news the most, and some businesses are accepting it as an alternative to U.S. currency for purchasing goods and, most significantly, for adding anonymity to transactions.
Let’s unpack the blockchain technology. It’s defined as a decentralized ledger of all transactions across a peer-to-peer network, but what exactly does that mean? A blockchain is an ever-growing list — a ledger — of transactions. Access to the ledger for the purpose of reading or recording transactions is provisioned through a distributed network of peer systems, the aggregate of which is responsible for the fault-tolerance and immutability of the ledger (similar to the features of a database cluster). Each transaction is represented in the blockchain as a block, which is a cryptographically secured record of a transaction and its timestamp. The blockchain is therefore a chain of these blocks.
The idea of a blockchain is that you doesn’t have to depend on a central authority like a bank or a government to validate a transaction, which guarantees the transaction’s immutability. No organization or person has the authority to make the transfer of money invalid or interfere in the transaction. The distributed nature of a cryptographically secured ledger guarantees that unchangeability. This is why many people describe cryptocurrency as a technology that eliminates the financial middleman who piggybacks on your financial dealings, taking a cut in the form of fees or taxes. (Theoretically, nobody gets a cut, but today’s cryptocurrency investors must wade through a swamp of predatory wallet holders, ponzi schemers, and other undesirables who seek to take that financial cut anyway.)
However, here is the key to a new business outlook: In addition to using blockchain as the basis of a cryptocurrency the way Bitcoin and other altcoins (like Dogecoin) do, people can also use it to verify other business processes that usually require a central server, such as invoices and e-signatures. These would no longer depend on a single “oracle of authority” to validate the operations.
How are people building applications based on blockchain? While there are many blockchain startups, the most commonly known example is Ethereum, which is a complete, blockchain-based platform that many developers are using to create applications.
Whereas Bitcoin and Litecoin are being used mostly as currencies, Ethereum takes a different approach. It’s described by its founding organization as “a decentralized platform that runs smart contracts.” In other words, it’s a developer platform built with blockchain technology, so developers canbuild new blockchain-driven applications by running on Ethereum as a blockchain framework.
You may have also heard of “tokens,” and wonder where these fit into cryptocurrencies and coins world. At first blush, tokens have the same technology and function similarly to Bitcoin, but Bitcoin runs on its own blockchain technology.
Tokens, on the other hand, can run on an existing blockchain.
From a utility standpoint, altcoins (meaning coins other than Bitcoins) are used strictly as currency, whereas tokens, while intending to have monetary value, can serve other utilities where they apply in their service. For example, XRP is the token necessary to use Ripple, and many companies building on top of Ethereum also create their own tokens. These can serve as a virtual currency that runs on Ethereum, while Bitcoin and Dogecoin run on their own blockchain.
Bringing these together, you can see how these start to fit together:
Although tokens can be used as currency, this is not the primary purpose. Companies building blockchain services will create a unique token to incentive the operation of their services. They have a value, but serve to run the blockchain service rather than operate solely for financial transactions.
But we’re still not done creating the entire ecosystem roadmap. There are still other tools that fit into the cryptocurrency ecosystem like wallets and exchanges.
Like the wallet in your back pocket or handbag that holds your cash, wallets are places to store these virtual currencies. Wallets need to specially handle each type of cryptocurrency, so while many wallets handle multiple currencies (Bitcoin and Litecoin and XRP, etc), many currencies can only be held in particular wallets. On a technical level, they store the private and public keys of your cryptocurrency. (This is the encryption piece to cryptocurrencies, the way of controlling access to those coins or tokens).
Wallets can be local, meaning you hold them on your own server; however, there is a growing industry of companies offering wallet or currency managing services.
Exchanges are where you can buy and sell cryptocurrency with or for U.S. dollars or other currencies. While the blockchain is decentralized, businesses still exist to manage the exchange of cryptocurrencies.
From a security point of view, exchanges are currently the vulnerable underbelly of cryptocurrency world. While the cryptocurrencies themselves are very secure, some exchanges require relatively standard logins in order to transact between currencies (i.e., exchanging Bitcoin for U.S. dollars). The cryptocurrency world is nascent, so the old adage is true, “Forewarned is forearmed.”
APIs in Blockchain
Whether it has to do with the cryptocurrencies themselves, the wallets, or the exchanges, virtually nothing happens without the invocation of APIs. Naturally, as services form around the many layers of blockchain and cryptocurrencies, a variety of different API types are beginning to surface. Here are some of the API types that you’ll most commonly see:
Sites that share information on the blockchain ecosystem, like the prices of cryptocurrencies. These would be akin to the various APIs that report on the prices of stocks traded on the NYSE and NASDAQ, but for the various cryptocurrencies instead.
Cryptocurrency exchanges commonly allow access of individual account information, and even placement of transaction orders. There are many opportunities for a third-party developer to build a single mobile app that allows users to access their accounts on multiple exchanges in the same way that a single app might give you access to your bank accounts at different financial institutions.
Popular cryptocurrency wallets provide APIs to transfer their currencies, or to make purchases and payments with merchants and service providers that accept cryptocurrency as a form of payment. This is like Paypal but where you’re holding cryptocurrencies rather than simply cash.
Developers are now providing APIs for those people working with Ethereum-based applications, or applications based on other developer-focused blockchains. For instance, Ripple’s XRP includes APIs to perform bank transactions. Bitcoin has an API in its definition as well.
The world of blockchain has exploded into a massive industry, with much to cover. In the next few articles, we’ll dive deep into each of these segments and how to build applications and businesses within them. We’ll also review some of today’s top APIs across the blockchain ecosystem.