DocumentationBlog

High-level overview

What is Apibara#

Apibara is a framework and protocol to build real-time, composable streams of Web3 and Web2 data. Apibara solves the challenge of streaming blockchain data: blocks are not immutable, their data can be invalidated in response to a chain reorganization.

At the lowest-level, Apibara defines a streaming protocol used to share data between nodes. Nodes produce new streams of data by transforming and composing data from one ore more input streams. Source nodes are special nodes that have no input but produce a stream of data from other sources external to Apibara, like a blockchain or a pub-sub queue.

Most developers will use Apibara through its SDK and application protocol. This protocol is used to communicate between the node and the application to produce a new stream of application-specific data. The node is responsible for managing the low-level details like connecting to the input streams and serving the output streams to clients. The application’s job is to transform input data into zero or more output messages.

Why Apibara#

Here are a few reasons why Apibara is a great choice to build your project’s data pipeline:

  • The protocol is extremely lean and based on gRPC, resulting in very low latency when ingesting real-time data.
  • The protocol is composable, it encourages other developers to build on top of your application.
  • You can build applications using any language that supports gRPC, leveraging your team’s existing skills.
  • Apibara is completely open-source so you don’t have to worry about vendor lock-in.

Getting started#