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

# Get Price

> GET /api/v1/price/:mint — Spot USD price for a token, derived from live pool state.

# Get Price

`GET /api/v1/price/:mint` returns the current **spot USD price** for a token, derived entirely from
live on-chain pool state — there is no external price feed.

<Info>
  This is a **spot/mid price oracle**, distinct from [`GET /api/v1/quote`](/api-reference/quote/index),
  which returns a size- and slippage-aware execution price for a specific amount. Use `/price` for
  display (portfolio values, token lists); use `/quote` before a swap.
</Info>

## How prices are derived

* **Stablecoins** are worth `$1`.
* The **native token (FOGO)** is priced from the **deepest** native↔stablecoin pool.
* **Every other token** is priced from its **deepest anchor-paired pool** (paired with a stablecoin
  or FOGO). Using the deepest pool by liquidity prevents a thin or seeded pool from skewing the price.

A token returns `price: 0` until an anchor-paired pool for it has been observed (and its decimals
resolved). `slot` and `updatedAt` are `0` in that case.

## Single lookup

<ParamField path="mint" type="string" required>
  Token mint address (base58-encoded public key).
</ParamField>

```bash cURL theme={"theme":"github-dark"}
curl "https://api.vulcx.xyz/api/v1/price/So11111111111111111111111111111111111111112" \
  -H "Authorization: Bearer $VULCX_KEY"
```

<ResponseExample>
  ```json 200 — Success theme={"theme":"github-dark"}
  {
    "success": true,
    "data": {
      "mint": "So11111111111111111111111111111111111111112",
      "price": 0.00909763,
      "slot": 588079915,
      "updatedAt": 1782798694
    }
  }
  ```
</ResponseExample>

## Batch lookup

Fetch up to **100** prices in one call with a comma-separated `mints` query parameter.

<ParamField query="mints" type="string" required>
  Comma-separated token mint addresses (base58), max 100.
</ParamField>

```bash cURL theme={"theme":"github-dark"}
curl "https://api.vulcx.xyz/api/v1/price?\
mints=So11111111111111111111111111111111111111112,uSd2czE61Evaf76RNbq4KPpXnkiL3irdzgLFUMe3NoG" \
  -H "Authorization: Bearer $VULCX_KEY"
```

<ResponseExample>
  ```json 200 — Success theme={"theme":"github-dark"}
  {
    "success": true,
    "data": {
      "prices": [
        { "mint": "So11111111111111111111111111111111111111112", "price": 0.00909763, "slot": 588079915, "updatedAt": 1782798694 },
        { "mint": "uSd2czE61Evaf76RNbq4KPpXnkiL3irdzgLFUMe3NoG", "price": 1, "slot": 0, "updatedAt": 0 }
      ]
    }
  }
  ```
</ResponseExample>

## Response fields

<ResponseField name="mint" type="string">The token mint address.</ResponseField>
<ResponseField name="price" type="number">Spot USD price. `0` when no price is known yet (no anchor-paired pool observed, or decimals pending).</ResponseField>
<ResponseField name="slot" type="integer">Fogo slot the price was derived at. `0` for the constant stablecoin price or an unknown token.</ResponseField>
<ResponseField name="updatedAt" type="integer">Unix seconds when the price was last updated. `0` for constants/unknowns — use it to detect staleness.</ResponseField>


## OpenAPI

````yaml GET /api/v1/price/{mint}
openapi: 3.1.0
info:
  title: Vulcx API
  description: >-
    Swap aggregator API on Fogo. Get quotes, build swap transactions, and
    retrieve raw instructions for multi-hop token swaps across Vortex, Fluxbeam,
    Fogo.fun, and Moonit.
  version: 1.0.0
  contact:
    name: Vulcx
    url: https://vulcx.finance
servers:
  - url: https://api.vulcx.xyz
    description: Production
security:
  - ApiKeyHeader: []
  - ApiKeyQuery: []
paths:
  /api/v1/price/{mint}:
    get:
      tags:
        - Price
      summary: Get token price
      description: >-
        Returns the current spot USD price for a token derived from live
        on-chain pool state. Stablecoins are anchored at $1; FOGO is priced from
        the deepest native↔stablecoin pool; all other tokens from their deepest
        anchor-paired pool. Returns `price: 0` when no price is known (no
        anchor-paired pool observed, or decimals pending).
      operationId: getPrice
      parameters:
        - name: mint
          in: path
          required: true
          description: Token mint address (base58-encoded public key).
          schema:
            type: string
            example: So11111111111111111111111111111111111111112
      responses:
        '200':
          description: Price retrieved successfully.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    $ref: '#/components/schemas/PriceResult'
components:
  schemas:
    PriceResult:
      type: object
      description: Spot USD price for a single token.
      properties:
        mint:
          type: string
          description: Token mint address.
          example: So11111111111111111111111111111111111111112
        price:
          type: number
          description: >-
            Spot USD price. `0` when no price is known (no anchor-paired pool or
            decimals pending).
          example: 0.00909763
        slot:
          type: integer
          description: >-
            Fogo slot the price was derived at. `0` for stablecoin constants or
            unknown tokens.
          example: 588079915
        updatedAt:
          type: integer
          description: >-
            Unix seconds when the price was last updated. `0` for
            constants/unknowns — use to detect staleness.
          example: 1782798694
      required:
        - mint
        - price
        - slot
        - updatedAt
  securitySchemes:
    ApiKeyHeader:
      type: http
      scheme: bearer
      description: >-
        API key sent as `Authorization: Bearer vulcx_...`. Required on every
        endpoint except `GET /health` and `GET /api/v1/tokens`.
    ApiKeyQuery:
      type: apiKey
      in: query
      name: key
      description: >-
        API key as a `?key=vulcx_...` query parameter — the only option for the
        WebSocket stream (`GET /api/v1/stream`), since browsers can't set custom
        headers on a WS handshake. Also accepted on REST endpoints as a fallback
        to the `Authorization` header.

````

## Related topics

- [Get Quote](/docs/swap/get-quote.md)
- [Introduction to Vulcx — best-price swaps on Fogo](/get-started/introduction.md)
- [Vulcx API reference — quote, swap & instructions](/api-reference/introduction.md)
- [Stream Quotes](/docs/swap/stream-quotes.md)
