openapi: 3.1.0 info: title: Horizon version: 0.0.1 summary: Horizon provides 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 by the average application relative to the performance-oriented data representations used by Stellar Core. This API serves the bridge between apps and Stellar Core. Projects like wallets, decentralized exchanges, and asset issuers use Horizon to submit transactions, query an account balance, or stream events like transactions to an account. description: | Horizon provides 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 by the average application relative to the performance-oriented data representations used by [Stellar Core](https://developers.stellar.org/network/core-node). This API serves the bridge between apps and Stellar Core. Projects like wallets, decentralized exchanges, and asset issuers use Horizon to submit transactions, query an account balance, or stream events like transactions to an account. Horizon can be accessed via cURL, a browser, or one of the [Stellar SDKs](https://developers.stellar.org/docs/tools/sdks). To reduce the complexity of your project, we recommend you use an SDK instead of making direct API calls. This guide describes how to administer a production Horizon instance (refer to the [Developers' Blog](https://stellar.org/blog/developers/a-new-sun-on-the-horizon) for some background on the performance and architectural improvements of this major version bump). For information about developing on the Horizon codebase, check out the [Development Guide](https://github.com/stellar/stellar-horizon/blob/main/DEVELOPING.md). Before we begin, it's worth reiterating the sentiment echoed in the [Core Node](https://developers.stellar.org/network/core-node) documentation: **we do not endorse running Horizon backed by a standalone Stellar Core instance**, and especially not by a _validating_ Stellar Core. These are two separate concerns, and decoupling them is important for both reliability and performance. Horizon instead manages its own, pared-down version of Stellar Core optimized for its own subset of needs (we'll refer to this as a "Captive Core" instance). termsOfService: https://stellar.org/terms-of-service contact: name: Stellar Development Foundation url: https://stellar.org email: hello@stellar.org license: name: Apache 2.0 identifier: Apache-2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://horizon-testnet.stellar.org description: The Testnet Network - url: https://horizon-futurenet.stellar.org description: The Futurenet network tags: - name: Accounts description: Users interact with the Stellar network through accounts. Everything else in the ledger—assets, offers, trustlines, etc. are owned by accounts, and accounts must authorize all changes to the ledger through signed transactions. - name: Assets description: Assets are representations of value issued on the Stellar network. An asset consists of a type, code, and issuer. - name: Claimable Balances description: A Claimable Balance represents the transfer of ownership of some amount of an asset. Claimable balances provide a mechanism for setting up a payment which can be claimed in the future. This allows you to make payments to accounts which are currently not able to accept them. - name: Effects description: Effects represent specific changes that occur in the ledger as a result of successful operations, but are not necessarily directly reflected in the ledger or history, as transactions and operations are. - name: Fee Stats description: Fee stats are used to predict what fee to set for a transaction before submitting it to the network. - name: Liquidity Pools description: Liquidity Pools provide a simple, non-interactive way to trade large amounts of capital and enable high volumes of trading. - name: Ledgers description: Each ledger stores the state of the network at a point in time and contains all the changes - transactions, operations, effects, etc. - to that state. - name: Offers description: Offers are statements about how much of an asset an account wants to buy or sell. - name: Operations description: "Operations are objects that represent a desired change to the ledger: payments, offers to exchange currency, changes made to account options, etc. Operations are submitted to the Stellar network grouped in a Transaction." - name: Order Books description: An order book is a collections of offers for a specific pair of assets. - name: Paths description: Paths provide information about potential path payments. A path can be used to populate the necessary fields for a path payment operation. - name: Payments description: Payments are objects that represent balance transfer from one address to another. Payments are submitted to the Stellar network grouped in a Transaction. - name: Trade Aggregations description: A trade aggregation represents aggregated statistics on an asset pair (base and counter) for a specific time period. Trade aggregations are useful to developers of trading clients and provide historical trade data. - name: Trades description: When an offer is fully or partially fulfilled, a trade happens. Trades can also be caused by successful path payments, because path payments involve fulfilling offers. A trade occurs between two parties—base and counter. Which is which is either arbitrary or determined by the calling query. - name: Transactions description: Transactions are commands that modify the ledger state and consist of one or more operations. x-tagGroups: - name: Resources tags: - Accounts - Assets - Claimable Balances - Effects - Ledgers - Liquidity Pools - Offers - Operations - Payments - Trades - Transactions - name: Aggregations tags: - Order Books - Paths - Trade Aggregations - Fee Stats paths: /accounts: $ref: './components/endpoints/accounts.yml#/paths/~1accounts' /accounts/{account_id}: $ref: './components/endpoints/accounts.yml#/paths/~1accounts~1{account_id}' /accounts/{account_id}/transactions: $ref: './components/endpoints/accounts.yml#/paths/~1accounts~1{account_id}~1transactions' /accounts/{account_id}/operations: $ref: './components/endpoints/accounts.yml#/paths/~1accounts~1{account_id}~1operations' /accounts/{account_id}/payments: $ref: './components/endpoints/accounts.yml#/paths/~1accounts~1{account_id}~1payments' /accounts/{account_id}/effects: $ref: './components/endpoints/accounts.yml#/paths/~1accounts~1{account_id}~1effects' /accounts/{account_id}/offers: $ref: './components/endpoints/accounts.yml#/paths/~1accounts~1{account_id}~1offers' /accounts/{account_id}/trades: $ref: './components/endpoints/accounts.yml#/paths/~1accounts~1{account_id}~1trades' /accounts/{account_id}/data/{key}: $ref: './components/endpoints/accounts.yml#/paths/~1accounts~1{account_id}~1data~1{key}' /assets: $ref: './components/endpoints/assets.yml#/paths/~1assets' /claimable_balances: $ref: './components/endpoints/claimableBalances.yml#/paths/~1claimable_balances' /claimable_balances/{claimable_balance_id}: $ref: './components/endpoints/claimableBalances.yml#/paths/~1claimable_balances~1{claimable_balance_id}' /claimable_balances/{claimable_balance_id}/transactions: $ref: './components/endpoints/claimableBalances.yml#/paths/~1claimable_balances~1{claimable_balance_id}~1transactions' /claimable_balances/{claimable_balance_id}/operations: $ref: './components/endpoints/claimableBalances.yml#/paths/~1claimable_balances~1{claimable_balance_id}~1operations' /effects: $ref: './components/endpoints/effects.yml#/paths/~1effects' /fee_stats: $ref: './components/endpoints/feeStats.yml#/paths/~1fee_stats' /ledgers/{sequence}: $ref: './components/endpoints/ledgers.yml#/paths/~1ledgers~1{sequence}' /ledgers/{sequence}/transactions: $ref: './components/endpoints/ledgers.yml#/paths/~1ledgers~1{sequence}~1transactions' /ledgers/{sequence}/payments: $ref: './components/endpoints/ledgers.yml#/paths/~1ledgers~1{sequence}~1payments' /ledgers/{sequence}/operations: $ref: './components/endpoints/ledgers.yml#/paths/~1ledgers~1{sequence}~1operations' /ledgers/{sequence}/effects: $ref: './components/endpoints/ledgers.yml#/paths/~1ledgers~1{sequence}~1effects' /ledgers: $ref: './components/endpoints/ledgers.yml#/paths/~1ledgers' /liquidity_pools: $ref: './components/endpoints/liquidityPools.yml#/paths/~1liquidity_pools' /liquidity_pools/{liquidity_pool_id}: $ref: './components/endpoints/liquidityPools.yml#/paths/~1liquidity_pools~1{liquidity_pool_id}' /liquidity_pools/{liquidity_pool_id}/effects: $ref: './components/endpoints/liquidityPools.yml#/paths/~1liquidity_pools~1{liquidity_pool_id}~1effects' /liquidity_pools/{liquidity_pool_id}/trades: $ref: './components/endpoints/liquidityPools.yml#/paths/~1liquidity_pools~1{liquidity_pool_id}~1trades' /liquidity_pools/{liquidity_pool_id}/transactions: $ref: './components/endpoints/liquidityPools.yml#/paths/~1liquidity_pools~1{liquidity_pool_id}~1transactions' /liquidity_pools/{liquidity_pool_id}/operations: $ref: './components/endpoints/liquidityPools.yml#/paths/~1liquidity_pools~1{liquidity_pool_id}~1operations' /offers: $ref: './components/endpoints/offers.yml#/paths/~1offers' /offers/{offer_id}: $ref: './components/endpoints/offers.yml#/paths/~1offers~1{offer_id}' /offers/{offer_id}/trades: $ref: './components/endpoints/offers.yml#/paths/~1offers~1{offer_id}~1trades' /operations/{id}: $ref: './components/endpoints/operations.yml#/paths/~1operations~1{id}' /operations/{id}/effects: $ref: './components/endpoints/operations.yml#/paths/~1operations~1{id}~1effects' /operations: $ref: './components/endpoints/operations.yml#/paths/~1operations' /order_book: $ref: './components/endpoints/orderBooks.yml#/paths/~1order_book' /paths/strict-receive: $ref: './components/endpoints/paths.yml#/paths/~1paths~1strict-receive' /paths/strict-send: $ref: './components/endpoints/paths.yml#/paths/~1paths~1strict-send' /payments: $ref: './components/endpoints/payments.yml#/paths/~1payments' /trade_aggregations: $ref: './components/endpoints/tradeAggregations.yml#/paths/~1trade_aggregations' /trades: $ref: './components/endpoints/trades.yml#/paths/~1trades' /transactions/{transaction_hash}: $ref: './components/endpoints/transactions.yml#/paths/~1transactions~1{transaction_hash}' /transactions/{transaction_hash}/operations: $ref: './components/endpoints/transactions.yml#/paths/~1transactions~1{transaction_hash}~1operations' /transactions/{transaction_hash}/effects: $ref: './components/endpoints/transactions.yml#/paths/~1transactions~1{transaction_hash}~1effects' /transactions/{transaction_hash}/payments: $ref: './components/endpoints/transactions.yml#/paths/~1transactions~1{transaction_hash}~1payments' /transactions: $ref: './components/endpoints/transactions.yml#/paths/~1transactions' /transactions_async: $ref: './components/endpoints/transactions.yml#/paths/~1transactions_async'