# Celestia Node API

The Celestia Node API is the collection of RPC methods that can be used to
interact with the services provided by Celestia data availability nodes.
Node API uses auth tokens to control access to this API. See
[API authentication](/build/rpc/authentication) for the token command and
request header. A self-hosted node listens at `http://localhost:26658` by default;
send its token as `Authorization: Bearer <auth_token>`. Managed providers define
their own endpoint and credential requirements.

For a first integration, follow the [blob setup checklist](/build/post-retrieve-blob/overview).
For AI-assisted documentation search, connect to the
[Celestia documentation MCP server](/build/mcp).

## Machine-readable API specifications

The node API uses JSON-RPC, described by the versioned OpenRPC specifications
linked in the API explorer below.

For the separate celestia-app HTTP REST API, download the
[OpenAPI specification (Swagger 2.0)](/openapi.json) or use the
[upstream Swagger UI](https://celestiaorg.github.io/celestia-app/swagger/).
This gRPC-gateway contract is generated from the documented Mainnet Beta
celestia-app `v10.5.0` release. It is not the node JSON-RPC API or an
API hosted by this documentation site. Configure your client's base URL for your
celestia-app REST provider; the upstream specification does not set a host.
Provider and software versions determine which endpoints are available.

Release automation updates this file alongside the Mainnet Beta version constants.
Its `info.version` and `x-celestia-app-commit` identify the source release.
Duplicate operation IDs are made unique for API client compatibility.

## Fibre

The Mainnet Beta `v0.34.3` and Mocha `v0.34.3-mocha`
specifications include the Fibre API.
The [Mocha Fibre walkthrough](/build/post-retrieve-blob/fibre) covers node setup,
escrow funding, submission and retrieval, including tested request encodings
and the JSON-RPC size limit.

Both specifications also include `blob.SubscribeFromStartHeight`, which
replays blobs for a namespace from a start height, then streams new blobs.

## celestia-node v0.31.3 breaking changes

Starting with celestia-node v0.31.3:

- The `fraud` RPC namespace was removed. Calls to `fraud.Get` and
  `fraud.Subscribe` are no longer supported.
- The `type` field returned by `node.Info` is a string such as `"Bridge"` or
  `"Light"` instead of an integer.
- RPC request bodies are limited to 16 MiB. Larger requests are rejected.
- In the Go API, `blob.Commitment.String()` returns a hexadecimal string
  instead of raw bytes. This does not change the JSON encoding of commitment
  fields returned by RPC methods.

See the [celestia-node v0.31.3 release notes](https://github.com/celestiaorg/celestia-node/releases/tag/v0.31.3)
for the complete list of changes.