Skip to content

These new docs are in beta. Please submit bugs to GitHub issues.


Note: This section outlines a deprecated way of setting up a new, production Horizon deployment. We’re leaving it around for posterity while we improve the docs outlining the new, recommended way of deploying Horizon 2.0+.

Horizon is responsible for providing an HTTP API to data in the Stellar network. It ingests and re-serves the data produced by the stellar network in a form that is easier to consume than the performance-oriented data representations used by stellar-core.

This document describes how to administer a production Horizon instance. If you are just starting with Horizon and want to deploy it quickly to test it out, consider the Quickstart Guide instead. For information about developing on the Horizon codebase, check out the Development Guide.

Why Run Horizon?

You don’t need to run your own Horizon instance to build on Stellar: the Stellar Development Foundation runs two Horizon servers, one for the public network and one for the test network: and These servers are free for anyone to use, and should be fine for development and small-scale projects. They are, however, rate limited, and we don’t recommended using them for production services that need strong reliability.

Running Horizon within your own infrastructure provides a number of benefits. You can:

  • Disable request rate limiting for guaranteed network access
  • Have full operational control without dependency on the Stellar Development Foundation
  • Run multiple instances for redundancy and scalability

Last updated Apr. 12, 2021

Page Outline