Pyth rest API

The rest API from Pyth — 11 operation(s) for rest.

OpenAPI Specification

pyth-rest-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Benchmarks Price Differences rest API
  version: 0.3.6
tags:
- name: rest
paths:
  /api/get_price_feed:
    get:
      tags:
      - rest
      summary: '**Deprecated: use /v2/updates/price/{publish_time} instead**'
      description: '**Deprecated: use /v2/updates/price/{publish_time} instead**


        Get a price update for a price feed with a specific timestamp


        Given a price feed id and timestamp, retrieve the Pyth price update closest to that timestamp.'
      operationId: get_price_feed
      parameters:
      - name: id
        in: query
        description: The id of the price feed to get an update for.
        required: true
        schema:
          $ref: '#/components/schemas/PriceIdInput'
      - name: publish_time
        in: query
        description: 'The unix timestamp in seconds. This endpoint will return the first update whose

          publish_time is >= the provided value.'
        required: true
        schema:
          type: integer
          format: int64
        example: 1717632000
      - name: verbose
        in: query
        description: 'If true, include the `metadata` field in the response with additional metadata about the

          price update.'
        required: false
        schema:
          type: boolean
      - name: binary
        in: query
        description: 'If true, include the binary price update in the `vaa` field of each returned feed. This

          binary data can be submitted to Pyth contracts to update the on-chain price.'
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Price update retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RpcPriceFeed'
      deprecated: true
  /api/get_vaa:
    get:
      tags:
      - rest
      summary: '**Deprecated: use /v2/updates/price/{publish_time} instead**'
      description: '**Deprecated: use /v2/updates/price/{publish_time} instead**


        Get a VAA for a price feed with a specific timestamp


        Given a price feed id and timestamp, retrieve the Pyth price update closest to that timestamp.'
      operationId: get_vaa
      parameters:
      - name: id
        in: query
        description: The ID of the price feed to get an update for.
        required: true
        schema:
          $ref: '#/components/schemas/PriceIdInput'
      - name: publish_time
        in: query
        description: 'The unix timestamp in seconds. This endpoint will return the first update whose

          publish_time is >= the provided value.'
        required: true
        schema:
          type: integer
          format: int64
        example: 1690576641
      responses:
        '200':
          description: Price update retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVaaResponse'
        '404':
          description: Price update not found
          content:
            text/plain:
              schema:
                type: string
      deprecated: true
  /api/get_vaa_ccip:
    get:
      tags:
      - rest
      summary: '**Deprecated: use /v2/updates/price/{publish_time} instead**'
      description: '**Deprecated: use /v2/updates/price/{publish_time} instead**


        Get a VAA for a price feed using CCIP


        This endpoint accepts a single argument which is a hex-encoded byte string of the following form:

        `<price feed id (32 bytes> <publish time as unix timestamp (8 bytes, big endian)>`'
      operationId: get_vaa_ccip
      parameters:
      - name: data
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/GetVaaCcipInput'
      responses:
        '200':
          description: Price update retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetVaaCcipResponse'
      deprecated: true
  /api/latest_price_feeds:
    get:
      tags:
      - rest
      summary: '**Deprecated: use /v2/updates/price/latest instead**'
      description: '**Deprecated: use /v2/updates/price/latest instead**


        Get the latest price updates by price feed id.


        Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.'
      operationId: latest_price_feeds
      parameters:
      - name: ids[]
        in: query
        description: 'Get the most recent price update for this set of price feed ids.


          This parameter can be provided multiple times to retrieve multiple price updates,

          for example see the following query string:


          ```

          ?ids[]=a12...&ids[]=b4c...

          ```'
        required: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PriceIdInput'
        example: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
      - name: verbose
        in: query
        description: 'If true, include the `metadata` field in the response with additional metadata about

          the price update.'
        required: false
        schema:
          type: boolean
      - name: binary
        in: query
        description: 'If true, include the binary price update in the `vaa` field of each returned feed.

          This binary data can be submitted to Pyth contracts to update the on-chain price.'
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Price updates retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RpcPriceFeed'
      deprecated: true
  /api/latest_vaas:
    get:
      tags:
      - rest
      summary: '**Deprecated: use /v2/updates/price/latest instead**'
      description: '**Deprecated: use /v2/updates/price/latest instead**


        Get VAAs for a set of price feed ids.


        Given a collection of price feed ids, retrieve the latest VAA for each. The returned VAA(s) can

        be submitted to the Pyth contract to update the on-chain price. If VAAs are not found for every

        provided price ID the call will fail.'
      operationId: latest_vaas
      parameters:
      - name: ids[]
        in: query
        description: 'Get the VAAs for this set of price feed ids.


          This parameter can be provided multiple times to retrieve multiple price updates,

          for example see the following query string:


          ```

          ?ids[]=a12...&ids[]=b4c...

          ```'
        required: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PriceIdInput'
        example: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
      responses:
        '200':
          description: VAAs retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
              example:
              - UE5BVQEAAAADuAEAAAADDQC1H7meY5fTed0FsykIb8dt+7nKpbuzfvU2DplDi+dcUl8MC+UIkS65+rkiq+zmNBxE2gaxkBkjdIicZ/fBo+X7AAEqp+WtlWb84np8jJfLpuQ2W+l5KXTigsdAhz5DyVgU3xs+EnaIZxBwcE7EKzjMam+V9rlRy0CGsiQ1kjqqLzfAAQLsoVO0Vu5gVmgc8XGQ7xYhoz36rsBgMjG+e3l/B01esQi/KzPuBf/Ar8Sg5aSEOvEU0muSDb+KIr6d8eEC+FtcAAPZEaBSt4ysXVL84LUcJemQD3SiG30kOfUpF8o7/wI2M2Jf/LyCsbKEQUyLtLbZqnJBSfZJR5AMsrnHDqngMLEGAAY4UDG9GCpRuPvg8hOlsrXuPP3zq7yVPqyG0SG+bNo8rEhP5b1vXlHdG4bZsutX47d5VZ6xnFROKudx3T3/fnWUAQgAU1+kUFc3e0ZZeX1dLRVEryNIVyxMQIcxWwdey+jlIAYowHRM0fJX3Scs80OnT/CERwh5LMlFyU1w578NqxW+AQl2E/9fxjgUTi8crOfDpwsUsmOWw0+Q5OUGhELv/2UZoHAjsaw9OinWUggKACo4SdpPlHYldoWF+J2yGWOW+F4iAQre4c+ocb6a9uSWOnTldFkioqhd9lhmV542+VonCvuy4Tu214NP+2UNd/4Kk3KJCf3iziQJrCBeLi1cLHdLUikgAQtvRFR/nepcF9legl+DywAkUHi5/1MNjlEQvlHyh2XbMiS85yu7/9LgM6Sr+0ukfZY5mSkOcvUkpHn+T+Nw/IrQAQ7lty5luvKUmBpI3ITxSmojJ1aJ0kj/dc0ZcQk+/qo0l0l3/eRLkYjw5j+MZKA8jEubrHzUCke98eSoj8l08+PGAA+DAKNtCwNZe4p6J1Ucod8Lo5RKFfA84CPLVyEzEPQFZ25U9grUK6ilF4GhEia/ndYXLBt3PGW3qa6CBBPM7rH3ABGAyYEtUwzB4CeVedA5o6cKpjRkIebqDNSOqltsr+w7kXdfFVtsK2FMGFZNt5rbpIR+ppztoJ6eOKHmKmi9nQ99ARKkTxRErOs9wJXNHaAuIRV38o1pxRrlQRzGsRuKBqxcQEpC8OPFpyKYcp6iD5l7cO/gRDTamLFyhiUBwKKMP07FAWTEJv8AAAAAABrhAfrtrFhR4yubI7X5QRqMK6xKrj7U3XuBHdGnLqSqcQAAAAAAGp0GAUFVV1YAAAAAAAUYUmIAACcQBsfKUtr4PgZbIXRxRESU79PjE4IBAFUA5i32yLSoX+GmfbRNwS3l2zMPesZrctxliv7fD0pBW0MAAAKqqMJFwAAAAAAqE/NX////+AAAAABkxCb7AAAAAGTEJvoAAAKqIcWxYAAAAAAlR5m4CP/mPsh1IezjYpDlJ4GRb5q4fTs2LjtyO6M0XgVimrIQ4kSh1qg7JKW4gbGkyRntVFR9JO/GNd3FPDit0BK6M+JzXh/h12YNCz9wxlZTvXrNtWNbzqT+91pvl5cphhSPMfAHyEzTPaGR9tKDy9KNu56pmhaY32d2vfEWQmKo22guegeR98oDxs67MmnUraco46a3zEnac2Bm80pasUgMO24=
      deprecated: true
  /api/price_feed_ids:
    get:
      tags:
      - rest
      summary: '**Deprecated: use /v2/price_feeds instead**'
      description: '**Deprecated: use /v2/price_feeds instead**


        Get the set of price feed IDs.


        This endpoint fetches all of the price feed IDs for which price updates can be retrieved.'
      operationId: price_feed_ids
      responses:
        '200':
          description: Price feed ids retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RpcPriceIdentifier'
      deprecated: true
  /v2/price_feeds:
    get:
      tags:
      - rest
      summary: Get the set of price feeds.
      description: 'Get the set of price feeds.


        This endpoint fetches all price feeds from the Pyth network. It can be filtered by asset type

        and query string.'
      operationId: price_feeds_metadata
      parameters:
      - name: query
        in: query
        description: Optional query parameter. If provided, the results will be filtered to all price feeds whose symbol contains the query string. Query string is case insensitive.
        required: false
        schema:
          type: string
          nullable: true
        example: bitcoin
      - name: asset_type
        in: query
        description: Optional query parameter. If provided, the results will be filtered by asset type. Possible values are crypto, equity, fx, metal, rates. Filter string is case insensitive.
        required: false
        schema:
          allOf:
          - $ref: '#/components/schemas/AssetType'
          nullable: true
        example: crypto
      responses:
        '200':
          description: Price feeds metadata retrieved successfully
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PriceFeedMetadata'
  /v2/updates/price/latest:
    get:
      tags:
      - rest
      summary: Get the latest price updates by price feed id.
      description: 'Get the latest price updates by price feed id.


        Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.'
      operationId: latest_price_updates
      parameters:
      - name: ids[]
        in: query
        description: 'Get the most recent price update for this set of price feed ids.


          This parameter can be provided multiple times to retrieve multiple price updates,

          for example see the following query string:


          ```

          ?ids[]=a12...&ids[]=b4c...

          ```'
        required: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PriceIdInput'
        example: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
      - name: encoding
        in: query
        description: Optional encoding type. If true, return the price update in the encoding specified by the encoding parameter. Default is `hex`.
        required: false
        schema:
          $ref: '#/components/schemas/EncodingType'
      - name: parsed
        in: query
        description: If true, include the parsed price update in the `parsed` field of each returned feed. Default is `true`.
        required: false
        schema:
          type: boolean
      - name: ignore_invalid_price_ids
        in: query
        description: If true, invalid price IDs in the `ids` parameter are ignored. Only applicable to the v2 APIs. Default is `false`.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Price updates retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceUpdate'
        '404':
          description: Price ids not found
          content:
            text/plain:
              schema:
                type: string
  /v2/updates/price/stream:
    get:
      tags:
      - rest
      summary: SSE route handler for streaming price updates.
      description: 'SSE route handler for streaming price updates.


        The connection will automatically close after 24 hours to prevent resource leaks.

        Clients should implement reconnection logic to maintain continuous price updates.'
      operationId: price_stream_sse_handler
      parameters:
      - name: ids[]
        in: query
        description: 'Get the most recent price update for this set of price feed ids.


          This parameter can be provided multiple times to retrieve multiple price updates,

          for example see the following query string:


          ```

          ?ids[]=a12...&ids[]=b4c...

          ```'
        required: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PriceIdInput'
        example: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
      - name: encoding
        in: query
        description: Optional encoding type. If true, return the price update in the encoding specified by the encoding parameter. Default is `hex`.
        required: false
        schema:
          $ref: '#/components/schemas/EncodingType'
      - name: parsed
        in: query
        description: If true, include the parsed price update in the `parsed` field of each returned feed. Default is `true`.
        required: false
        schema:
          type: boolean
      - name: allow_unordered
        in: query
        description: If true, allows unordered price updates to be included in the stream.
        required: false
        schema:
          type: boolean
      - name: benchmarks_only
        in: query
        description: If true, only include benchmark prices that are the initial price updates at a given timestamp (i.e., prevPubTime != pubTime).
        required: false
        schema:
          type: boolean
      - name: ignore_invalid_price_ids
        in: query
        description: If true, invalid price IDs in the `ids` parameter are ignored. Only applicable to the v2 APIs. Default is `false`.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Price updates retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceUpdate'
        '404':
          description: Price ids not found
          content:
            text/plain:
              schema:
                type: string
  /v2/updates/price/{publish_time}:
    get:
      tags:
      - rest
      summary: Get the latest price updates by price feed id.
      description: 'Get the latest price updates by price feed id.


        Given a collection of price feed ids, retrieve the latest Pyth price for each price feed.'
      operationId: timestamp_price_updates
      parameters:
      - name: publish_time
        in: path
        description: 'The unix timestamp in seconds. This endpoint will return the first update whose

          publish_time is >= the provided value.'
        required: true
        schema:
          type: integer
          format: int64
        example: 1717632000
      - name: ids[]
        in: query
        description: 'Get the most recent price update for this set of price feed ids.


          This parameter can be provided multiple times to retrieve multiple price updates,

          for example see the following query string:


          ```

          ?ids[]=a12...&ids[]=b4c...

          ```'
        required: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/PriceIdInput'
        example: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
      - name: encoding
        in: query
        description: Optional encoding type. If true, return the price update in the encoding specified by the encoding parameter. Default is `hex`.
        required: false
        schema:
          $ref: '#/components/schemas/EncodingType'
      - name: parsed
        in: query
        description: If true, include the parsed price update in the `parsed` field of each returned feed. Default is `true`.
        required: false
        schema:
          type: boolean
      - name: ignore_invalid_price_ids
        in: query
        description: If true, invalid price IDs in the `ids` parameter are ignored. Only applicable to the v2 APIs. Default is `false`.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Price updates retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PriceUpdate'
        '404':
          description: Price ids not found
          content:
            text/plain:
              schema:
                type: string
  /v2/updates/publisher_stake_caps/latest:
    get:
      tags:
      - rest
      summary: Get the most recent publisher stake caps update data.
      description: Get the most recent publisher stake caps update data.
      operationId: latest_publisher_stake_caps
      parameters:
      - name: encoding
        in: query
        description: 'Get the most recent publisher stake caps update data.

          Optional encoding type. If true, return the message in the encoding specified by the encoding parameter. Default is `hex`.'
        required: false
        schema:
          $ref: '#/components/schemas/EncodingType'
      - name: parsed
        in: query
        description: If true, include the parsed update in the `parsed` field of each returned feed. Default is `true`.
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: Publisher stake caps update data retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LatestPublisherStakeCapsUpdateDataResponse'
components:
  schemas:
    PriceFeedMetadata:
      type: object
      required:
      - id
      - attributes
      properties:
        attributes:
          type: object
          additionalProperties:
            type: string
        id:
          $ref: '#/components/schemas/RpcPriceIdentifier'
    LatestPublisherStakeCapsUpdateDataResponse:
      type: object
      required:
      - binary
      properties:
        binary:
          $ref: '#/components/schemas/BinaryUpdate'
        parsed:
          type: array
          items:
            $ref: '#/components/schemas/ParsedPublisherStakeCapsUpdate'
          nullable: true
    AssetType:
      type: string
      enum:
      - crypto
      - fx
      - equity
      - metal
      - rates
      - crypto_redemption_rate
      - commodities
      - crypto_index
      - crypto_nav
      - eco
      - kalshi
    RpcPriceFeedMetadata:
      type: object
      required:
      - emitter_chain
      properties:
        emitter_chain:
          type: integer
          format: int32
          example: 26
          minimum: 0
        prev_publish_time:
          type: integer
          format: int64
          example: 1717632000
          nullable: true
        price_service_receive_time:
          type: integer
          format: int64
          example: 1717632000
          nullable: true
        slot:
          type: integer
          format: int64
          example: 85480034
          nullable: true
          minimum: 0
    BinaryUpdate:
      type: object
      required:
      - encoding
      - data
      properties:
        data:
          type: array
          items:
            type: string
        encoding:
          $ref: '#/components/schemas/EncodingType'
    RpcPriceFeedMetadataV2:
      type: object
      properties:
        prev_publish_time:
          type: integer
          format: int64
          example: 1717632000
          nullable: true
        proof_available_time:
          type: integer
          format: int64
          example: 1717632000
          nullable: true
        slot:
          type: integer
          format: int64
          example: 85480034
          nullable: true
          minimum: 0
    GetVaaCcipResponse:
      type: object
      required:
      - data
      properties:
        data:
          type: string
    GetVaaCcipInput:
      type: string
      format: binary
    ParsedPublisherStakeCap:
      type: object
      required:
      - publisher
      - cap
      properties:
        cap:
          type: integer
          format: int64
          minimum: 0
        publisher:
          type: string
    EncodingType:
      type: string
      enum:
      - hex
      - base64
    GetVaaResponse:
      type: object
      required:
      - vaa
      - publishTime
      properties:
        publishTime:
          type: integer
          format: int64
          example: 1690576641
        vaa:
          type: string
          description: The VAA binary represented as a base64 string.
          example: UE5BVQEAAAADuAEAAAADDQC1H7meY5fTed0FsykIb8dt+7nKpbuzfvU2DplDi+dcUl8MC+UIkS65+rkiq+zmNBxE2gaxkBkjdIicZ/fBo+X7AAEqp+WtlWb84np8jJfLpuQ2W+l5KXTigsdAhz5DyVgU3xs+EnaIZxBwcE7EKzjMam+V9rlRy0CGsiQ1kjqqLzfAAQLsoVO0Vu5gVmgc8XGQ7xYhoz36rsBgMjG+e3l/B01esQi/KzPuBf/Ar8Sg5aSEOvEU0muSDb+KIr6d8eEC+FtcAAPZEaBSt4ysXVL84LUcJemQD3SiG30kOfUpF8o7/wI2M2Jf/LyCsbKEQUyLtLbZqnJBSfZJR5AMsrnHDqngMLEGAAY4UDG9GCpRuPvg8hOlsrXuPP3zq7yVPqyG0SG+bNo8rEhP5b1vXlHdG4bZsutX47d5VZ6xnFROKudx3T3/fnWUAQgAU1+kUFc3e0ZZeX1dLRVEryNIVyxMQIcxWwdey+jlIAYowHRM0fJX3Scs80OnT/CERwh5LMlFyU1w578NqxW+AQl2E/9fxjgUTi8crOfDpwsUsmOWw0+Q5OUGhELv/2UZoHAjsaw9OinWUggKACo4SdpPlHYldoWF+J2yGWOW+F4iAQre4c+ocb6a9uSWOnTldFkioqhd9lhmV542+VonCvuy4Tu214NP+2UNd/4Kk3KJCf3iziQJrCBeLi1cLHdLUikgAQtvRFR/nepcF9legl+DywAkUHi5/1MNjlEQvlHyh2XbMiS85yu7/9LgM6Sr+0ukfZY5mSkOcvUkpHn+T+Nw/IrQAQ7lty5luvKUmBpI3ITxSmojJ1aJ0kj/dc0ZcQk+/qo0l0l3/eRLkYjw5j+MZKA8jEubrHzUCke98eSoj8l08+PGAA+DAKNtCwNZe4p6J1Ucod8Lo5RKFfA84CPLVyEzEPQFZ25U9grUK6ilF4GhEia/ndYXLBt3PGW3qa6CBBPM7rH3ABGAyYEtUwzB4CeVedA5o6cKpjRkIebqDNSOqltsr+w7kXdfFVtsK2FMGFZNt5rbpIR+ppztoJ6eOKHmKmi9nQ99ARKkTxRErOs9wJXNHaAuIRV38o1pxRrlQRzGsRuKBqxcQEpC8OPFpyKYcp6iD5l7cO/gRDTamLFyhiUBwKKMP07FAWTEJv8AAAAAABrhAfrtrFhR4yubI7X5QRqMK6xKrj7U3XuBHdGnLqSqcQAAAAAAGp0GAUFVV1YAAAAAAAUYUmIAACcQBsfKUtr4PgZbIXRxRESU79PjE4IBAFUA5i32yLSoX+GmfbRNwS3l2zMPesZrctxliv7fD0pBW0MAAAKqqMJFwAAAAAAqE/NX////+AAAAABkxCb7AAAAAGTEJvoAAAKqIcWxYAAAAAAlR5m4CP/mPsh1IezjYpDlJ4GRb5q4fTs2LjtyO6M0XgVimrIQ4kSh1qg7JKW4gbGkyRntVFR9JO/GNd3FPDit0BK6M+JzXh/h12YNCz9wxlZTvXrNtWNbzqT+91pvl5cphhSPMfAHyEzTPaGR9tKDy9KNu56pmhaY32d2vfEWQmKo22guegeR98oDxs67MmnUraco46a3zEnac2Bm80pasUgMO24=
    ParsedPublisherStakeCapsUpdate:
      type: object
      required:
      - publisher_stake_caps
      properties:
        publisher_stake_caps:
          type: array
          items:
            $ref: '#/components/schemas/ParsedPublisherStakeCap'
    PriceIdInput:
      type: string
      description: 'A price id is a 32-byte hex string, optionally prefixed with "0x".

        Price ids are case insensitive.


        Examples:

        * 0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43

        * e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43


        See https://pyth.network/developers/price-feed-ids for a list of all price feed ids.'
      example: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
    PriceUpdate:
      type: object
      required:
      - binary
      properties:
        binary:
          $ref: '#/components/schemas/BinaryUpdate'
        parsed:
          type: array
          items:
            $ref: '#/components/schemas/ParsedPriceUpdate'
          nullable: true
    ParsedPriceUpdate:
      type: object
      required:
      - id
      - price
      - ema_price
      - metadata
      properties:
        ema_price:
          $ref: '#/components/schemas/RpcPrice'
        id:
          $ref: '#/components/schemas/RpcPriceIdentifier'
        metadata:
          $ref: '#/components/schemas/RpcPriceFeedMetadataV2'
        price:
          $ref: '#/components/schemas/RpcPrice'
    RpcPriceFeed:
      type: object
      required:
      - id
      - price
      - ema_price
      properties:
        ema_price:
          $ref: '#/components/schemas/RpcPrice'
        id:
          $ref: '#/components/schemas/RpcPriceIdentifier'
        metadata:
          allOf:
          - $ref: '#/components/schemas/RpcPriceFeedMetadata'
          nullable: true
        price:
          $ref: '#/components/schemas/RpcPrice'
        vaa:
          type: string
          description: The VAA binary represented as a base64 string.
          example: UE5BVQEAAAADuAEAAAADDQC1H7meY5fTed0FsykIb8dt+7nKpbuzfvU2DplDi+dcUl8MC+UIkS65+rkiq+zmNBxE2gaxkBkjdIicZ/fBo+X7AAEqp+WtlWb84np8jJfLpuQ2W+l5KXTigsdAhz5DyVgU3xs+EnaIZxBwcE7EKzjMam+V9rlRy0CGsiQ1kjqqLzfAAQLsoVO0Vu5gVmgc8XGQ7xYhoz36rsBgMjG+e3l/B01esQi/KzPuBf/Ar8Sg5aSEOvEU0muSDb+KIr6d8eEC+FtcAAPZEaBSt4ysXVL84LUcJemQD3SiG30kOfUpF8o7/wI2M2Jf/LyCsbKEQUyLtLbZqnJBSfZJR5AMsrnHDqngMLEGAAY4UDG9GCpRuPvg8hOlsrXuPP3zq7yVPqyG0SG+bNo8rEhP5b1vXlHdG4bZsutX47d5VZ6xnFROKudx3T3/fnWUAQgAU1+kUFc3e0ZZeX1dLRVEryNIVyxMQIcxWwdey+jlIAYowHRM0fJX3Scs80OnT/CERwh5LMlFyU1w578NqxW+AQl2E/9fxjgUTi8crOfDpwsUsmOWw0+Q5OUGhELv/2UZoHAjsaw9OinWUggKACo4SdpPlHYldoWF+J2yGWOW+F4iAQre4c+ocb6a9uSWOnTldFkioqhd9lhmV542+VonCvuy4Tu214NP+2UNd/4Kk3KJCf3iziQJrCBeLi1cLHdLUikgAQtvRFR/nepcF9legl+DywAkUHi5/1MNjlEQvlHyh2XbMiS85yu7/9LgM6Sr+0ukfZY5mSkOcvUkpHn+T+Nw/IrQAQ7lty5luvKUmBpI3ITxSmojJ1aJ0kj/dc0ZcQk+/qo0l0l3/eRLkYjw5j+MZKA8jEubrHzUCke98eSoj8l08+PGAA+DAKNtCwNZe4p6J1Ucod8Lo5RKFfA84CPLVyEzEPQFZ25U9grUK6ilF4GhEia/ndYXLBt3PGW3qa6CBBPM7rH3ABGAyYEtUwzB4CeVedA5o6cKpjRkIebqDNSOqltsr+w7kXdfFVtsK2FMGFZNt5rbpIR+ppztoJ6eOKHmKmi9nQ99ARKkTxRErOs9wJXNHaAuIRV38o1pxRrlQRzGsRuKBqxcQEpC8OPFpyKYcp6iD5l7cO/gRDTamLFyhiUBwKKMP07FAWTEJv8AAAAAABrhAfrtrFhR4yubI7X5QRqMK6xKrj7U3XuBHdGnLqSqcQAAAAAAGp0GAUFVV1YAAAAAAAUYUmIAACcQBsfKUtr4PgZbIXRxRESU79PjE4IBAFUA5i32yLSoX+GmfbRNwS3l2zMPesZrctxliv7fD0pBW0MAAAKqqMJFwAAAAAAqE/NX////+AAAAABkxCb7AAAAAGTEJvoAAAKqIcWxYAAAAAAlR5m4CP/mPsh1IezjYpDlJ4GRb5q4fTs2LjtyO6M0XgVimrIQ4kSh1qg7JKW4gbGkyRntVFR9JO/GNd3FPDit0BK6M+JzXh/h12YNCz9wxlZTvXrNtWNbzqT+91pvl5cphhSPMfAHyEzTPaGR9tKDy9KNu56pmhaY32d2vfEWQmKo22guegeR98oDxs67MmnUraco46a3zEnac2Bm80pasUgMO24=
          nullable: true
    RpcPrice:
      type: object
      description: 'A price with a degree of uncertainty at a certain time, represented as a price +- a confidence

        interval.


        The confidence interval roughly corresponds to the standard error of a normal distribution.

        Both the price and confidence are stored in a fixed-point numeric representation, `x *

        10^expo`, where `expo` is the exponent. For example:'
      required:
      - price
      - conf
      - expo
      - publish_time
      properties:
        conf:
          type: string
          description: The confidence interval associated with the price, stored as a string to avoid precision loss
          example: '509500001'
        expo:
          type: integer
          format: int32
          description: 'The exponent associated with both the price and confidence interval. Multiply those values

            by `10^expo` to get the real value.'
          example: -8
        price:
          type: string
          description: The price itself, stored as a string to avoid precision loss
          example: '2920679499999'
        publish_time:
          type: integer
          format: int64
          description: 'When the price was published. The `publish_time` is a unix timestamp, i.e., the number of

            seconds since the Unix epoch (00:00:00 UTC on 1 Jan 1970).'
          example: 1717632000
    RpcPriceIdentifier:
      type: string
      example: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43