Appearance
Integrations
An integration is a deployed Airnode over exactly one API. It is the unit that runs.
Airnode itself is a library, not a service. An integration supplies the OpenAPI document of the API being wrapped and starts a server with it. That is the whole of the contract, so an integration that needs no bespoke behaviour is a handful of lines and a document. They are built together, and a deployer decides which one to run.
This split is what keeps the bar low for providers. The machinery is written once and the thing that differs per API is a document the provider already has.
Integrations are meant to be many, so these docs describe what they share rather than any particular one. AirnodeHub is the list of them, and each listing's page carries the details of the API behind it, so all you need here is how an integration works in general.
Nodary
The worked example wraps the Nodary API, aggregated price data from one of the providers powering API3's data feeds. It serves one operation, latestFeeds, which returns the latest value of every feed Nodary serves, keyed by feed name, or only the feeds named.
A feed name is the pair it prices, such as ETH/USD, and the feeds cover crypto, stablecoin, liquid staking and forex pairs. Each value is aggregated from multiple sources, so what the Airnode serves is Nodary's one number for the pair rather than any single exchange's.
One signature that reaches the producer
Nodary is worth reading about as a first-party case. Since both Nodary and this Airnode are operated by API3, there is only one signature, with no middlemen involved.
What the attestation means
An attestation says this Airnode obtained this response from this upstream at this time. Whether it means more than that depends on the API being wrapped, because not every upstream is a function. An API that answers the same request differently each time, a language model being the obvious case, leaves nothing to reproduce: the attestation is provenance and nothing else. Two Airnodes over such an upstream will never agree, so aggregating across them, which is exactly the right move for a price, means nothing there.
Status
We build and deploy every integration that exists today, and list each one on AirnodeHub. An operation can be priced, in which case it is metered per call through x402 and settled in USDC, and an operation with no price stays free. Pricing is opt-in per deployment, so an integration over a paid upstream charges only once the deployment supplies a payout address, and serves everything free until then.