Skip to main content

API Providers

Your SDK does not talk to the chain directly. It talks to a provider: a service that runs a cardano-node and an indexer and exposes them through an API, so your app can read data and submit transactions without operating any infrastructure. You met providers when you chose your tools and used one to query the chain. This section is the reference for the providers themselves: what each offers and how to run it.

How a provider works

A provider runs the node (which syncs the chain), an indexer (which makes the node's data queryable), and an API layer that serves it to your SDK over HTTP or WebSocket. A managed provider runs all of this for you; self-hosting means running it yourself.

A provider is an interface, not just a service

The diagram above is the service side. Inside your SDK a provider is also an interface: a small contract the SDK calls, with two halves.

  • A read side: fetch a UTXO set, protocol parameters, and account or asset info (Mesh names this IFetcher; Evolution exposes the same reads through its provider).
  • A write side: submit a signed transaction (Mesh's ISubmitter).

Because the SDK only depends on that contract, anything that implements it is a valid provider. The three below are hosted or self-hosted implementations, but you can implement the contract yourself to point at a private indexer, your own node, a GraphQL source, or even an in-memory fixture for tests. Two pages already do exactly this: the failover and cache wrapper that composes several providers behind one interface, and the offline fetcher that serves fixed UTXOs to a test suite with no network at all.

The providers

To choose a provider for your SDK, see Choosing a provider. For the wider managed-versus-self-hosted decision, including Maestro, see production infrastructure. The three documented here:

ProviderAPIAccess
BlockfrostRESTManaged, API key (free tier)
KoiosREST, GraphQLCommunity-run or self-hosted, key optional
OgmiosWebSocket, JSON-RPCSelf-hosted against your own node (paired with Kupo as the "Kupmios" stack), or hosted via Demeter

Next steps

  • Blockfrost: the quickest hosted start, with a free tier
  • Koios: community-run, no key required for basic use
  • Ogmios: low-level WebSocket access to a node you run