Pyth rest API

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

Operations 11

GET /api/get_price_feed **Deprecated: use /v2/updates/price/{publish_time} instead** #
GET /api/get_vaa **Deprecated: use /v2/updates/price/{publish_time} instead** #
GET /api/get_vaa_ccip **Deprecated: use /v2/updates/price/{publish_time} instead** #
GET /api/latest_price_feeds **Deprecated: use /v2/updates/price/latest instead** #
GET /api/latest_vaas **Deprecated: use /v2/updates/price/latest instead** #
GET /api/price_feed_ids **Deprecated: use /v2/price_feeds instead** #
GET /v2/price_feeds Get the set of price feeds. #
GET /v2/updates/price/latest Get the latest price updates by price feed id. #
GET /v2/updates/price/stream SSE route handler for streaming price updates. #
GET /v2/updates/price/{publish_time} Get the latest price updates by price feed id. #
GET /v2/updates/publisher_stake_caps/latest Get the most recent publisher stake caps update data. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/pyth-rest-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

pyth-rest-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Benchmarks Price Differences Rest API
  version: 0.3.6
servers:
- url: https://hermes.pyth.network
  description: Base URL declared by the provider in apis.yml (roadmap#122).
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:
    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
    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
    RpcPriceIdentifier:
      type: string
      example: e62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43
    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'
    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
    ParsedPublisherStakeCap:
      type: object
      required:
      - publisher
      - cap
      properties:
        cap:
          type: integer
          format: int64
          minimum: 0
        publisher:
          type: string
    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=
    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
    EncodingType:
      type: string
      enum:
      - hex
      - base64
    GetVaaCcipResponse:
      type: object
      required:
      - data
      properties:
        data:
          type: string
    AssetType:
      type: string
      enum:
      - crypto
      - fx
      - equity
      - metal
      - rates
      - crypto_redemption_rate
      - commodities
      - crypto_index
      - crypto_nav
      - eco
      - kalshi
    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
    ParsedPublisherStakeCapsUpdate:
      type: object
      required:
      - publisher_stake_caps
      properties:
        publisher_stake_caps:
          type: array
          items:
            $ref: '#/components/schemas/ParsedPublisherStakeCap'
    GetVaaCcipInput:
      type: string
      format: binary
    BinaryUpdate:
      type: object
      required:
      - encoding
      - data
      properties:
        data:
          type: array
          items:
            type: string
        encoding:
          $ref: '#/components/schemas/EncodingType'
    PriceUpdate:
      type: object
      required:
      - binary
      properties:
        binary:
          $ref: '#/components/schemas/BinaryUpdate'
        parsed:
          type: array
          items:
            $ref: '#/components/schemas/ParsedPriceUpdate'
          nullable: true
    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