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

# Get Market Rate

Retrieve the market rate for a token and fiat pair (v1 path; **same response shape** as `GET /v2/provider/rates/{token}/{fiat}`).

The `data` object contains **`buy`** and **`sell`** sides when applicable, each with `marketRate`, `minimumRate`, and `maximumRate` (strings). The older flat fields `marketBuyRate` / `marketSellRate` / `minimumRate` / `maximumRate` at the top level are **no longer** returned.

The optional **`position`** object (`bestPublicRate`, `yourEffectiveRate`, `deltaVsBest`) applies to this v1 path with the same semantics as the v2 route. See [Get Market Rate (v2)](/api-reference/provider/get-market-rate) for full `position` documentation.


## OpenAPI

````yaml openapi-v1.yaml GET /provider/rates/{token}/{fiat}
openapi: 3.0.3
info:
  title: Paycrest Aggregator API
  version: 1.0.0
  description: >
    OpenAPI schema for the Paycrest Aggregator API. This covers sender,
    provider, and general endpoints.
servers:
  - url: https://api.paycrest.io/v1
security: []
tags:
  - name: Sender
    description: Endpoints for senders to create and manage payment orders
  - name: Provider
    description: Endpoints for providers to manage and fulfill orders
  - name: General
    description: General protocol and utility endpoints
paths:
  /provider/rates/{token}/{fiat}:
    get:
      tags:
        - Provider
      summary: Get market rate
      parameters:
        - in: path
          name: token
          required: true
          schema:
            type: string
        - in: path
          name: fiat
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Market rate
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/StandardResponse'
                  - type: object
                    properties:
                      data:
                        $ref: '#/components/schemas/MarketRateResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    StandardResponse:
      type: object
      properties:
        status:
          type: string
          example: success
        message:
          type: string
          example: Operation successful
        data:
          type: object
          description: The actual response data (e.g., ReceiveAddressResponse, etc.)
    MarketRateResponse:
      type: object
      description: >-
        Market rate bounds split by side (same shape as `GET
        /v2/provider/rates/{token}/{fiat}`).
      properties:
        buy:
          $ref: '#/components/schemas/MarketRateSide'
        sell:
          $ref: '#/components/schemas/MarketRateSide'
    ErrorResponse:
      type: object
      properties:
        status:
          type: string
          example: error
        message:
          type: string
          example: Error message
        data:
          nullable: true
          description: >-
            null on most errors; an array of field-level errors on validation
            failures
          oneOf:
            - type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
            - type: object
              additionalProperties: true
    MarketRateSide:
      type: object
      description: Tolerance band for one side (buy or sell) of the market rate.
      properties:
        marketRate:
          type: string
        minimumRate:
          type: string
        maximumRate:
          type: string
        position:
          allOf:
            - $ref: '#/components/schemas/MarketPosition'
          description: >-
            Rate benchmark vs. best public peer. Omitted when no public
            benchmark exists (backward compatible).
    MarketPosition:
      type: object
      description: >
        Provider's rate standing versus the best public peer in the same
        corridor.

        Omitted when no qualifying public offers exist or the provider has no
        effective rate for the corridor (backward compatible).
      properties:
        bestPublicRate:
          type: string
          description: >-
            Best rate among enabled non-testnet public peers for this side
            (highest effective sell rate; lowest effective buy rate).
        yourEffectiveRate:
          type: string
          description: The provider's own effective rate for this corridor and side.
        deltaVsBest:
          type: string
          description: >
            `yourEffectiveRate − bestPublicRate`. For **sell** a positive delta
            means you offer a higher rate than the best peer (more competitive).
            For **buy** a negative delta means you offer a lower rate than the
            best peer (more competitive).
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: API-Key

````