Software Components

The Ocean Protocol network is brought to life by many interacting symbiotic software components.

Before reading this page, you should understand some Ocean-specific terminology.


Marketplaces run Aquarius to store and manage metadata about the assets available in their marketplace. It provides an HTTP API for interacting with an off-chain database (OceanDB).


Publishers run Brizo to manage interactions with marketplaces and consumers. It interacts with the publisher’s cloud and/or on-premise infrastructure. The most basic scenario for a publisher is to provide access to the assets the publisher owns or manages, but Brizo can do much more.


A computer running a blockchain client (such as Parity Ethereum) where the associated blockchain network is running the Ocean Protocol 💧 keeper-contracts (smart contracts).

See also: Run a Keeper


An example marketplace front-end for consumers to explore, download, and publish assets within the Ocean Protocol network. Implemented using React and 🦑 squid-js.

Squid Libraries

Client libraries used by applications (such as Pleuston or Jupyter notebooks) to interact with Ocean components, including Keepers, Aquarius nodes, Brizo nodes, etc.

How Squid is Used

OceanDB Drivers

OceanDB is an off-chain database for storing metadata about assets.

These drivers are extended from a high-level module implementing OceanDB functions. You can create your own plugins based on its abstracted interface:

Secret Store

A Parity Secret Store: software for distributed key pair generation, distributed key storage, and threshold retrieval. It’s used to store asset access-control keys.

There are several clients for integrating the Parity Secret Store into Ocean: