# Overview
Airnode is a fully-serverless oracle node that is designed specifically for API providers to operate their own oracles. Its code base is a monorepo managed using Lerna (opens new window). The Airnode monorepo (opens new window) has several packages. Some of these packages are used by dApp developers and API providers to interact with or to build Airnode. A few are simply used for internal Airnode development.
Read about each package in the monorepo.
Airnode packages are cross platform, available as npm packages or docker containers. You should also be able to clone, build and use the packages on any platform. However there is no guarantee that the development only features (e.g. test or examples) will work out of the box. It is recommend to use UNIX based systems for development. If you are using Windows, consider WSL2 (opens new window).
airnode-adapter: (opens new window) The module that makes an API call, processes the response and returns a single value.
airnode-admin: (opens new window) A package/CLI tool to interact with the Airnode contracts across chains.
airnode-abi: (opens new window) Encoding and decoding utilities for Airnode according to the Airnode ABI specifications.
airnode-deployer: (opens new window) Tools to automate Airnode deployment.
airnode-examples: (opens new window) A public list of examples showcasing the features of Airnode.
airnode-node: (opens new window) The node part of Airnode that allows for connecting multiple blockchains to the rest of the world.
airnode-ois: (opens new window) Types for Oracle Integration Specification (OIS).
airnode-operation: (opens new window) Development and testing utilities for the core parts of Airnode.
airnode-protocol: (opens new window) Contracts that implement Airnode RRP (request–response protocol).
airnode-validator: (opens new window) A package that can be used to validate and convert airnode specification files.