> ## 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.

# Retrieve Fee Stats

> The fee stats endpoint provides information about per-operation fee stats over the last 5 ledgers.



## OpenAPI

````yaml openapi/horizon/bundled.yml GET /fee_stats
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:
  /fee_stats:
    get:
      tags:
        - Fee Stats
      summary: Retrieve Fee Stats
      description: >-
        The fee stats endpoint provides information about per-operation fee
        stats over the last 5 ledgers.
      operationId: RetrieveFeeStats
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeeStats'
              examples:
                RetrieveFeeStats:
                  $ref: '#/components/examples/RetrieveFeeStats'
      x-codeSamples:
        - lang: JavaScript
          label: '@stellar/stellar-sdk'
          source: |
            var StellarSdk = require("@stellar/stellar-sdk");
            var server = new StellarSdk.Horizon.Server(
              "https://horizon-testnet.stellar.org",
            );

            server
              .feeStats()
              .then(function (resp) {
                console.log(resp);
              })
              .catch(function (err) {
                console.error(err);
              });
components:
  schemas:
    FeeStats:
      type: object
      properties:
        last_ledger:
          type: string
          description: The last ledger's sequence number.
        last_ledger_base_fee:
          type: string
          description: The base fee as defined in the last ledger.
        ledger_capacity_usage:
          type: string
          description: >-
            The average capacity usage over the last 5 ledgers (0 is no usage,
            1.0 is completely full ledgers).
        fee_charged:
          allOf:
            - description: >-
                Information about the fee charged for transactions in the last 5
                ledgers.
            - $ref: '#/components/schemas/ChargedFeeDistribution'
        max_fee:
          allOf:
            - description: >-
                Information about max fee bid for transactions over the last 5
                ledgers.
            - $ref: '#/components/schemas/MaxFeeDistribution'
    ChargedFeeDistribution:
      allOf:
        - $ref: '#/components/schemas/BaseFeeDistribution'
        - type: object
          properties:
            max:
              description: Maximum (highest) fee charged over the last 5 ledgers.
            min:
              description: Minimum (lowest) fee charged over the last 5 ledgers.
            mode:
              description: Mode (middle) fee charged over the last 5 ledgers.
            p10:
              description: 10th percentile fee charged over the last 5 ledgers.
            p20:
              description: 20th percentile fee charged over the last 5 ledgers.
            p30:
              description: 30th percentile fee charged over the last 5 ledgers.
            p40:
              description: 40th percentile fee charged over the last 5 ledgers.
            p50:
              description: 50th percentile fee charged over the last 5 ledgers.
            p60:
              description: 60th percentile fee charged over the last 5 ledgers.
            p70:
              description: 70th percentile fee charged over the last 5 ledgers.
            p80:
              description: 80th percentile fee charged over the last 5 ledgers.
            p90:
              description: 90th percentile fee charged over the last 5 ledgers.
            p95:
              description: 95th percentile fee charged over the last 5 ledgers.
            p99:
              description: 99th percentile fee charged over the last 5 ledgers.
    MaxFeeDistribution:
      allOf:
        - $ref: '#/components/schemas/BaseFeeDistribution'
        - type: object
          properties:
            max:
              description: >-
                Maximum (highest) value of the maximum fee bid over the last 5
                ledgers.
            min:
              description: >-
                Minimum (lowest) value of the maximum fee bid over the last 5
                ledgers.
            mode:
              description: >-
                Mode (middle) value of the maximum fee bid over the last 5
                ledgers.
            p10:
              description: >-
                10th percentile value of the maximum fee bid over the last 5
                ledgers.
            p20:
              description: >-
                20th percentile value of the maximum fee bid over the last 5
                ledgers.
            p30:
              description: >-
                30th percentile value of the maximum fee bid over the last 5
                ledgers.
            p40:
              description: >-
                40th percentile value of the maximum fee bid over the last 5
                ledgers.
            p50:
              description: >-
                50th percentile value of the maximum fee bid over the last 5
                ledgers.
            p60:
              description: >-
                60th percentile value of the maximum fee bid over the last 5
                ledgers.
            p70:
              description: >-
                70th percentile value of the maximum fee bid over the last 5
                ledgers.
            p80:
              description: >-
                80th percentile value of the maximum fee bid over the last 5
                ledgers.
            p90:
              description: >-
                90th percentile value of the maximum fee bid over the last 5
                ledgers.
            p95:
              description: >-
                95th percentile value of the maximum fee bid over the last 5
                ledgers.
            p99:
              description: >-
                99th percentile value of the maximum fee bid over the last 5
                ledgers.
    BaseFeeDistribution:
      type: object
      properties:
        max:
          type: string
        min:
          type: string
        mode:
          type: string
        p10:
          type: string
        p20:
          type: string
        p30:
          type: string
        p40:
          type: string
        p50:
          type: string
        p60:
          type: string
        p70:
          type: string
        p80:
          type: string
        p90:
          type: string
        p95:
          type: string
        p99:
          type: string
  examples:
    RetrieveFeeStats:
      value:
        last_ledger: '43277313'
        last_ledger_base_fee: '100'
        ledger_capacity_usage: '1'
        fee_charged:
          max: '5500'
          min: '5000'
          mode: '5000'
          p10: '5000'
          p20: '5000'
          p30: '5000'
          p40: '5000'
          p50: '5001'
          p60: '5001'
          p70: '5066'
          p80: '5066'
          p90: '5500'
          p95: '5500'
          p99: '5500'
        max_fee:
          max: '616065406'
          min: '5000'
          mode: '10003'
          p10: '10000'
          p20: '10003'
          p30: '10003'
          p40: '20005'
          p50: '20005'
          p60: '50020'
          p70: '50020'
          p80: '150000'
          p90: '500000'
          p95: '500000'
          p99: '1490000'

````