Airnode: The API gateway for blockchains

Burak Benligiray
API3
Published in
6 min readNov 6, 2020

--

API3 wants to talk to you about providing your API to the blockchain

This is the first post in our series, “Airnode: The first-party oracle node”.

What is Airnode? The best answer to this question depends on who you are talking to. If I was describing Airnode to a blockchain-person, I would simply call it a node designed for first-party oracles. Think of the oracles available right now, but imagine if they were operated by the API providers that are the owners of the data, rather than a third party. If they are a potential user, we typically get to business after that.

Most blockchain projects talk to other blockchain projects and that’s it. However, this is simply not an option if you want to solve the API connectivity problem. In the last two years, the number of API providers we have talked to about serving their data through oracles have reached high hundreds, and we have taken notes. Many aspects of the API3 solution have been designed based on this extensive fieldwork.

When I’m describing Airnode to an API-person, I call it “an API gateway for blockchains”, and it just clicks. Note that I didn’t have to use the word oracle. In fact, doing so would even be detrimental. This is not only because people are generally not familiar with oracles, but also because this is not primarily about oracles in the first place. As soon as you define the problem as one of API connectivity, the obvious solution is the infrastructure that will provide the API connection. In contrast, the oracle problem implies standalone oracles as a solution, which necessitates third-party middlemen.

Both the oracle node and the gateway serves the API data to the smart contract, and the difference is largely conceptual. However, the gateway is much more within the comfort zone of the API provider.

Although calling our oracle node an API gateway is convenient for communicating with API providers, this is not something that can be done for all oracle nodes. To understand why, you simply need to consider what an API gateway is. It’s a lightweight cloud service that wraps the API backend and makes it accessible over the Internet. In addition, it may also provide additional functionality such as authorization, caching, rate limiting, etc. What is important to note here is that setting up an API gateway on a cloud provider requires you to click some buttons and maybe do some DNS configuration once. After that, you don’t need to operate an API gateway, it’s a managed service that will sustain itself until you take it down. People will get confused if you try to sell them an API gateway that they will have to babysit.

Airnode: A piece of cloud service infrastructure

Definitions are not only good for getting a point across, but they also act as the blueprint of what you will be building. Airnode acts as an API gateway. It’s not a blockchain node, it’s a piece of cloud service infrastructure. This is very convenient, because the people who will be running Airnode already have a lot of experience with cloud providers and their entire infrastructure is already hosted on a cloud provider. Airnode is just another block of Lego that they will add to all that. In contrast, they have zero experience with operating blockchain nodes.

An edge-optimized API endpoint facilitated by multiple cloud services (source).

Okay, it’s designed to deliver a cloud service, but what does that mean? Simply put, a cloud service abstracts a full set of functionality, and provides that as a unified service that doesn’t require micromanagement from the user. The API gateway described above is a perfect example of a cloud service, and due to the similarity, it should be clear how Airnode would be used to provide a cloud service.

A good litmus test for deciding if a piece of software can become the part of the common cloud infrastructure is to try to imagine it being offered by AWS, GCP, Azure, etc. Can I picture that when I add an API gateway to my API, I would be able to click a checkbox to also add an Airnode to my API? I would say so, due to three main reasons:

  • Airnode treats cloud providers as first-class citizens; it’s designed to be hosted on a cloud provider.
  • It doesn’t require day-to-day operation/maintenance, so converting it to a managed service is trivial.
  • (Most importantly) It has definitive setup recommendations: Deploy it as a serverless function. Compared to this, most blockchain nodes cannot recommend a one-size-fits-all configuration.
Obligatory disclaimer, I added “Airnode” to the drop-down menu :)

See the slightly doctored screenshot above. This is the AWS interface for deploying an API Gateway. Note that the API is being specified using OpenAPI Specification 3, which is also what we use in our Oracle Integration Specification (OIS) format. This essentially means that if you configured your AWS API Gateway, you can use the exact same configuration to integrate Airnode to your API. Then, it is easy to imagine cloud providers offering Airnode-powered blockchain gateways for APIs with minimal effort. Note that I’m not presenting this as a best case scenario, but rather pointing out how in line Airnode is with the existing cloud provisioning paradigm.

Why should we care?

There are two kinds of technical innovation. One makes the car go X% faster, compresses images with Y% less signal loss, or cuts down on transaction gas costs by Z%. Competition is fierce in this arena, and anyone promising you more than a 10% improvement without any additional drawback is probably swindling you. These marginal improvements often don’t correspond to anything when it comes to business, which is also why academics that obtain state of the art results do not instantly quit and start their own business.

The second kind of technical innovation is much more inconspicuous, even trivial and boring for the sharpest of the technical minds. However, they make business models that weren’t possible before possible. In a way, the improvement they provide is 0 to 1, and this actually ends up having a significant commercial impact. Airnode is one of those. It’s an oracle node that is fully serverless; an already available kind of application and an already available kind of hosting solution. But when brought together, this pair makes it possible for API providers to extend their existing business model to the blockchain. More importantly, Airnode does this in a financially feasible (doesn’t require subsidies), reliable (not only for show and can be used in production) and scalable (feasible for a large number of APIs) way. Therefore, Airnode, the API gateway for blockchains, is a strong contender for being a key component of the solution to the API connectivity problem.

What’s to come with the rest of this series?

This will be a half-technical series about what Airnode is, its unique technical aspects, and what led us to some of the peculiar design choices that we made. It should be particularly interesting to:

  • Members who will participate in the API3 DAO that want to know more about what will be driving our services
  • Potential users of Airnode, and not necessarily within the API3 context
  • Developers who may want to contribute to Airnode, either through API3 DAO grants, or just because it’s an interesting open source project
  • Readers that are just looking for interesting stuff about oracles

Feel free to reach out to me at burak@api3.org for anything Airnode-related, and see you next week!

API3 wants to talk to you about providing your API to the blockchain

--

--