At Altangent Labs, we build applications to help the adoption of Bitcoin and digital assets. We created Blocktap.io to serve as a foundational data layer for cryptocurrency applications. Today we are proud to officially launch the public beta.

For the past year we have collected trades, order book data and much more from public exchange APIs, peer-to-peer networks and 3rd party providers. The volume of data collected is growing at an incredible pace and takes significant resources to clean, check for accuracy and store efficiently for real-time use. We host everything in a an enterprise-class data warehouse, and built the Blocktap.io platform to give high-performance access to users and real-time applications.

GraphQL

As software developers, we value useful tools. We use Blocktap.io ourselves every day for research and charting applications, so a powerful and flexible user experience has always been a priority. From the very start we decided to use GraphQL as our primary interface. GraphQL is a new API technology that allows users to write powerful queries against a data set, and as far as we can tell Blocktap.io is the only digital assets API that implements GraphQL. Instead of calling a cascade of RESTful APIs, you can write an expressive query to fetch the exact data you need. In layman's terms, users have direct access to our data warehouse and can ask for exactly what they want from the system.

Let's say you wanted to get the current USD price of Bitcoin across many exchanges and display it on your blog. Using the graphical query explorer, you could write a single query as follows:

query BitcoinUSD {
  asset(assetSymbol: "BTC") {
    assetName
    markets(filter: {quoteSymbol: {_eq: "USD"}}) {
      marketSymbol
      ticker {
        lastPrice
      }
    }
  }
}

Let's break it down -

  1. query BitcoinUSD is the name of our query, it can be whatever you like.
  2. asset(assetSymbol: "BTC") is the object(s) we are looking for. In this case, the currency with the symbol BTC.
  3. assetName is a property on currency that shows the currency's common name. In this case, it will return Bitcoin.
  4. markets(filter: {quoteSymbol: {_eq: "USD"}}) is a property that returns markets for the currency. In this case it filters markets to those quoted in US Dollars.
  5. marketSymbol is a property on a market that returns that full symbol for the market.
  6. ticker is a property on a market that returns a market summary aka a ticker.
  7. lastPrice is a ticker property that has the last traded price for the market.

Here are the results:

{
  "data": {
    "asset": {
      "assetName": "Bitcoin",
      "markets": [
        {
          "marketSymbol": "Bitfinex:BTC/USD",
          "ticker": {
            "lastPrice": "3499.00000000"
          }
        },
        {
          "marketSymbol": "bitFlyer:BTC/USD",
          "ticker": {
            "lastPrice": "3395.27000000"
          }
        },
        {
          "marketSymbol": "Bitstamp:BTC/USD",
          "ticker": {
            "lastPrice": "3384.58000000"
          }
        },
        {
          "marketSymbol": "Bittrex:BTC/USD",
          "ticker": {
            "lastPrice": "3384.93200000"
          }
        },
        {
          "marketSymbol": "CoinbasePro:BTC/USD",
          "ticker": {
            "lastPrice": "3381.60000000"
          }
        },
        {
          "marketSymbol": "Gemini:BTC/USD",
          "ticker": {
            "lastPrice": "3382.88000000"
          }
        }
      ]
    }
  }
}

You will notice that the results are structured like the query itself, formatted and ready to use as a JSON object in your application. You can re-run this query any time and the resulting data will be refreshed with the current prices. This is a very simple query that barely scratches the surface of what is possible. For more examples, please visit the Blocktap.io documentation.

Public Beta

During the beta, any users that sign up will have full access to all Blocktap.io features for personal use. All we ask is that you please provide attribution if you use our data. We are eager to hear feedback from users, so if you see things that can be improved, please tell us! We have a Gitter chat setup for technical support and will have a help desk system available in the near future.

Once the beta concludes, some features will only be available for paid subscriptions or by using our Bitcoin Lightning Network pay-per-request API. For more information about the professional tier, or for inquiries about commercial & enterprise use, please email contact us directly at blocktap@altangent.com.

We have additional data sets and features in development that will be announced in the coming weeks. Our goal is to build the best universal digital assets API, and we are only just getting started!

Sign up now for a beta API key, or try the graphical query explorer.