Skip to content

Celestia transaction client overview

The Celestia transaction (tx) client enables developers and applications to read from and submit data to Celestia nodes without running their own node infrastructure.

Overview

The Celestia transaction client provides a streamlined API for two key purposes:

  • Reading data (via bridge nodes).
  • Submitting transactions (via core/consensus nodes).

Features

  • Read operations: Retrieve blobs, headers, and shares.
  • Submit operations: Submit data blobs to the Celestia network.
  • State queries: Check account balances.
  • Key management: Simplified keyring integration.
  • Flexible modes:
    • Read-only (Bridge nodes)
    • Full client (Bridge + Core nodes)

Clients

There are currently two client implementations in progress:

  • Go client: The primary and most stable client is written in Go. It supports full blob submission and retrieval flows.
  • Rust client: This client is a work in progress. It is being designed to offer a similar developer experience for Rust users.

Understanding read vs submit endpoints

The Celestia client is split into two key parts under the hood — one for reading data, and another for submitting data — and each needs a different type of node connection.

PurposeNode type requiredExample endpoint
Reading blobs/headersBridge nodehttps://your-quicknode-url.celestia-mocha.quiknode.pro/<token> or http://localhost:26658
Submitting blobs/txsConsensus node (Core)your-quicknode-url.celestia-mocha.quiknode.pro:9090 or celestia-testnet-consensus.itrocket.net:9090

Security tips

  • Always enable TLS when using authentication tokens.
  • Do not manually set both DAAuthToken and gRPC Authorization headers.
  • Use file-backed keyrings (BackendFile) for production use.