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

# USD price for every token the live snapshot can value.

> Reflector tracks only a handful of majors, so this walks outward from those
through pool reserves — depth-weighting across pools the way the MVX pricing
graph does — and values LP shares from the pool invariant. Oracle prices are
never overwritten; pools only fill gaps.

Tokens unreachable from an oracle anchor are absent rather than zero:
"unknown" and "worthless" are different answers, and only the caller knows
which is safe to show.



## OpenAPI

````yaml /api-reference/stellar-aggregator-openapi.json get /api/v1/prices
openapi: 3.1.0
info:
  title: Stellar DEX Aggregator API
  description: >-
    Soroban DEX aggregator and routing engine for Stellar. Bounded multi-DEX
    routing across Soroban venues: Soroswap, Aquarius, Phoenix, Sushi, and
    Comet.


    ## Features

    - Forward & reverse quotes (given input → output, or target output → input)

    - Multi-path split allocation across pools to minimize price impact

    - Optional server-side simulated `TransactionEnvelope` requiring account
    sequence and signature

    - Auto-fallback when the on-chain budget rejects the requested config

    - Echoes USD value + protocol/referral fees
  license:
    name: MIT
    identifier: MIT
  version: 0.1.0
servers:
  - url: https://stellar-swap.xoxno.com
    description: Public deployment; verify network with /api/v1/config
security: []
tags:
  - name: Discovery
    description: Deployment, pools and referral fee policy
  - name: Health
    description: Liveness and readiness probes
  - name: Tokens
    description: Routable token catalog
  - name: Quote
    description: Routing, quoting, and transaction-envelope construction
paths:
  /api/v1/prices:
    get:
      tags:
        - Tokens
      summary: USD price for every token the live snapshot can value.
      description: >-
        Reflector tracks only a handful of majors, so this walks outward from
        those

        through pool reserves — depth-weighting across pools the way the MVX
        pricing

        graph does — and values LP shares from the pool invariant. Oracle prices
        are

        never overwritten; pools only fill gaps.


        Tokens unreachable from an oracle anchor are absent rather than zero:

        "unknown" and "worthless" are different answers, and only the caller
        knows

        which is safe to show.
      operationId: prices_handler
      responses:
        '200':
          description: USD price per token id
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/PriceEntry'
                propertyNames:
                  type: string
components:
  schemas:
    PriceEntry:
      type: object
      description: >-
        Hop budget for [`prices_handler`]. Measured on testnet: 2 hops price 148
        of

        392 tokens, 4 reaches most of the rest. Depth still bounds trust — a far

        token priced through deep pools is better than no price, and `depth_usd`

        lets the caller decide.
      required:
        - usd
        - source
        - hops
      properties:
        depth_usd:
          type:
            - number
            - 'null'
          format: double
          description: >-
            USD backing the price — summed depth of the pools that produced it,
            or

            an LP pool's TVL. Absent for oracle prices, which no pool depth
            bounds.

            Threshold on this to drop prices implied by untradeable pools.
        hops:
          type: integer
          format: int32
          description: >-
            Pool hops from the nearest oracle-priced token. `0` is an oracle
            price.
          minimum: 0
        source:
          type: string
          description: >-
            `oracle` (Reflector, authoritative), `pool` (depth-weighted average
            of

            the pools quoting it) or `lp` (a share valued from its pool). Apply
            your

            own trust policy: an oracle price cannot be manipulated here, a pool

            price can, to the extent its depth is small.
        usd:
          type: number
          format: double
          description: USD per whole token.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.