> ## Documentation Index
> Fetch the complete documentation index at: https://developers.stellar.org/llms.txt
> Use this file to discover all available pages before exploring further.

# List All Ledgers

> This endpoint lists all ledgers and can be used in streaming mode. Streaming mode allows you to listen for new ledgers as they close. If called in streaming mode, Horizon will start at the earliest known ledger unless a cursor is set, in which case it will start from that cursor. By setting the cursor value to now, you can stream ledgers since your request time.

> [!TIP]
>
> **Supports Streaming**
>
> This endpoint supports streaming. To read more about this, visit the [streaming section](/docs/data/apis/horizon/api-reference/structure/streaming.md).


## OpenAPI

````yaml openapi/horizon/bundled.yml GET /ledgers
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
servers:
  - url: https://horizon-testnet.stellar.org
    description: The Testnet Network
  - url: https://horizon-futurenet.stellar.org
    description: The Futurenet network
security: []
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.
paths:
  /ledgers:
    get:
      tags:
        - Ledgers
      summary: List All Ledgers
      description: >-
        This endpoint lists all ledgers and can be used in streaming mode.
        Streaming mode allows you to listen for new ledgers as they close. If
        called in streaming mode, Horizon will start at the earliest known
        ledger unless a cursor is set, in which case it will start from that
        cursor. By setting the cursor value to now, you can stream ledgers since
        your request time.
      operationId: ListAllLedgers
      parameters:
        - $ref: '#/components/parameters/CursorParam'
        - $ref: '#/components/parameters/OrderParam'
        - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ledger'
              examples:
                ListAllLedgers:
                  $ref: '#/components/examples/ListAllLedgers'
components:
  parameters:
    CursorParam:
      name: cursor
      in: query
      required: false
      description: >-
        A number that points to a specific location in a collection of responses
        and is pulled from the paging_token value of a record.
      schema:
        type: integer
        example: 6606617478959105
    OrderParam:
      name: order
      in: query
      required: false
      description: >-
        A designation of the order in which records should appear. Options
        include `asc` (ascending) or `desc` (descending). If this argument isn’t
        set, it defaults to `asc`.
      schema:
        type: string
        enum:
          - asc
          - desc
    LimitParam:
      name: limit
      in: query
      required: false
      description: >-
        The maximum number of records returned. The limit can range from 1 to
        200 - an upper limit that is hardcoded in Horizon for performance
        reasons. If this argument isn’t designated, it defaults to 10.
      schema:
        type: integer
        example: 10
  schemas:
    Ledger:
      type: object
      properties:
        _embedded:
          type: object
          properties:
            records:
              type: array
              items:
                type: object
                properties:
                  _links:
                    type: object
                    properties:
                      self:
                        $ref: '#/components/schemas/link'
                      transactions:
                        $ref: '#/components/schemas/link'
                      operations:
                        $ref: '#/components/schemas/link'
                      payments:
                        $ref: '#/components/schemas/link'
                      effects:
                        $ref: '#/components/schemas/link'
                    required:
                      - self
                      - transactions
                      - operations
                      - effects
                  id:
                    $ref: '#/components/schemas/id'
                  paging_token:
                    $ref: '#/components/schemas/paging_token'
                  hash:
                    $ref: '#/components/schemas/hash'
                  pre_hash:
                    $ref: '#/components/schemas/hash'
                  sequence:
                    type: integer
                    format: int32
                  successful_transaction_count:
                    type: integer
                    format: int32
                  failed_transaction_count:
                    type: integer
                    format: int32
                  operation_count:
                    type: integer
                    format: int32
                  tx_set_operation_count:
                    type: integer
                    format: int32
                  closed_at:
                    type: string
                  total_coins:
                    type: string
                  fee_pool:
                    type: string
                  base_fee_in_stroops:
                    type: integer
                    format: int32
                  base_reserve_in_stroops:
                    type: integer
                    format: int32
                  max_tx_set_size:
                    type: integer
                    format: int32
                  protocol_version:
                    type: integer
                    format: int32
                  header_xdr:
                    type: string
          required:
            - id
            - paging_token
            - hash
            - sequence
            - successful_transaction_count
            - failed_transaction_count
            - operation_count
            - tx_set_operation_count
            - closed_at
            - total_coins
            - fee_pool
            - base_fee_in_stroops
            - base_reserve_in_stroops
            - max_tx_set_size
            - protocol_version
            - header_xdr
    link:
      type: object
      properties:
        href:
          type: string
          format: link
        templated:
          type: boolean
      required:
        - href
    id:
      type: string
    paging_token:
      type: string
    hash:
      type: string
  examples:
    ListAllLedgers:
      value:
        _embedded:
          records:
            - _links:
                effects:
                  href: /ledgers/1/effects/{?cursor,limit,order}
                  templated: true
                operations:
                  href: /ledgers/1/operations/{?cursor,limit,order}
                  templated: true
                self:
                  href: /ledgers/1
                transactions:
                  href: /ledgers/1/transactions/{?cursor,limit,order}
                  templated: true
              id: e8e10918f9c000c73119abe54cf089f59f9015cc93c49ccf00b5e8b9afb6e6b1
              paging_token: '4294967296'
              hash: e8e10918f9c000c73119abe54cf089f59f9015cc93c49ccf00b5e8b9afb6e6b1
              sequence: 1
              transaction_count: 0
              successful_transaction_count: 0
              failed_transaction_count: 0
              operation_count: 0
              tx_set_operation_count: 0
              closed_at: '1970-01-01T00:00:00Z'
              total_coins: '100000000000.0000000'
              fee_pool: '0.0000000'
              base_fee_in_stroops: 100
              base_reserve_in_stroops: 100000000
              max_tx_set_size: 50
            - _links:
                effects:
                  href: /ledgers/2/effects/{?cursor,limit,order}
                  templated: true
                operations:
                  href: /ledgers/2/operations/{?cursor,limit,order}
                  templated: true
                self:
                  href: /ledgers/2
                transactions:
                  href: /ledgers/2/transactions/{?cursor,limit,order}
                  templated: true
              id: e12e5809ab8c59d8256e691cb48a024dd43960bc15902d9661cd627962b2bc71
              paging_token: '8589934592'
              hash: e12e5809ab8c59d8256e691cb48a024dd43960bc15902d9661cd627962b2bc71
              prev_hash: e8e10918f9c000c73119abe54cf089f59f9015cc93c49ccf00b5e8b9afb6e6b1
              sequence: 2
              transaction_count: 0
              successful_transaction_count: 0
              failed_transaction_count: 0
              operation_count: 0
              closed_at: '2015-07-16T23:49:00Z'
              total_coins: '100000000000.0000000'
              fee_pool: '0.0000000'
              base_fee_in_stroops: 100
              base_reserve_in_stroops: 100000000
              max_tx_set_size: 100
        _links:
          next:
            href: /ledgers?order=asc&limit=2&cursor=8589934592
          prev:
            href: /ledgers?order=desc&limit=2&cursor=4294967296
          self:
            href: /ledgers?order=asc&limit=2&cursor=

````