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

# List assets

> List assets available on the platform.

Public endpoint: unauthenticated by design. Geo restrictions are applied from the required `country` query parameter.



## OpenAPI

````yaml https://dsct1ci24fgcu.cloudfront.net/prod/merged/openapi.json get /v1/assets
openapi: 3.1.0
info:
  title: PWS Public API
  version: '1'
  description: >-
    Integrate with Payward Services to onboard users, manage accounts and funds,
    trade assets, and receive event notifications.
  contact:
    name: Payward Services
servers:
  - url: https://api.services.payward.com
security: []
tags:
  - name: Assets
    description: List the assets PWS is willing to swap.
    x-displayName: Assets
  - name: Conversions
    description: >-
      Rule-driven and on-demand fiat ↔ crypto value movement, including
      conversion rules and deposits.
    x-displayName: Conversions
  - name: Earn
    description: >-
      Manage Auto Earn preferences and retrieve allocation and reward
      information.
    x-displayName: Earn
  - name: Funding
    description: >-
      Discover deposit and withdrawal options, manage deposit addresses, and
      move funds between accounts.
    x-displayName: Funding
  - name: Derivative transfers
    description: >-
      Move funds between an account's spot balance and the same owner's futures
      balance.
    x-displayName: Derivative transfers
  - name: Portfolio
    description: 'Inspect a customer''s portfolio: balances, valuations, and transactions.'
    x-displayName: Portfolio
  - name: Ramp
    description: >-
      Support Ramp flows with discovery, quotes, limits, and hosted checkout
      experiences.
    x-displayName: Ramp
  - name: Reports
    description: Settlement and reconciliation reports for the partner.
    x-displayName: Reports
  - name: Swaps
    description: Account-funded quotes that lock a price until they expire or are executed.
    x-displayName: Swaps
  - name: Onchain quotes
    description: Wallet-funded quotes that return the data needed to settle onchain.
    x-displayName: Onchain quotes
  - name: Price trigger swaps
    description: Swaps that wait for a target price before submitting a trade.
    x-displayName: Price trigger swaps
  - name: Travel Rule verifications
    description: Travel Rule address ownership verification flows.
    x-displayName: Travel Rule verifications
  - name: Users
    description: >-
      User onboarding and status flows that the partner manages.


      - **Create User** provisions an account-owned user from an external
      reference and optional email.

      - **Get User** retrieves the user's profile, verification status, and
      required actions.


      Use the returned user `id` for calls that require the user's identifier.
    x-displayName: Users
  - name: Verifications
    description: Identity verification (KYC) submission and status for end users.
    x-displayName: Verifications
  - name: Webhooks
    description: >-
      Register HTTPS destinations to receive event deliveries, rotate signing
      secrets, and inspect, update, or delete existing subscriptions. Each
      subscription is owned by the authenticated partner; deliveries are signed
      with HMAC-SHA256 and retried on transient failures.
    x-displayName: Webhooks
paths:
  /v1/assets:
    get:
      tags:
        - Assets
      summary: List assets
      description: >-
        List assets available on the platform.


        Public endpoint: unauthenticated by design. Geo restrictions are applied
        from the required `country` query parameter.
      operationId: listAssets
      parameters:
        - in: query
          name: country
          schema:
            description: >-
              ISO 3166-1 alpha-2 country code used to apply geo restrictions
              (e.g., "US", "GB"). Required.
            type: string
            pattern: ^[A-Z]{2}$
          style: form
          example: DE
          required: true
        - in: query
          name: type
          schema:
            description: >-
              Filter assets by classification. Repeat the parameter to filter on
              multiple types.
            type: array
            default: []
            items:
              type: string
              enum:
                - fiat
                - crypto
                - xstock
                - stablecoin
            minItems: 0
            maxItems: 4
          style: form
          example:
            - crypto
        - in: query
          name: swap_trading
          schema:
            description: >-
              Filter to assets that are currently enabled for swap trading. Omit
              to ignore this dimension.
            type: boolean
          style: form
          example: true
        - in: query
          name: withdraw
          schema:
            description: >-
              Filter to assets that are currently enabled for withdrawal. Omit
              to ignore this dimension.
            type: boolean
          style: form
          example: true
        - in: query
          name: deposit
          schema:
            description: >-
              Filter to assets that are currently enabled for deposit. Omit to
              ignore this dimension.
            type: boolean
          style: form
          example: true
        - in: query
          name: sort
          schema:
            $ref: '#/components/schemas/Assets_SortField'
          style: form
          example: market_cap_rank
        - in: query
          name: sort_direction
          schema:
            description: >-
              Direction of the sort. Use asc for natural ascending order (rank 1
              first, oldest first, lowest first); desc for the inverse.
            type: string
            enum:
              - asc
              - desc
            default: asc
          style: form
          example: desc
        - $ref: '#/components/parameters/Assets_PageSize'
        - $ref: '#/components/parameters/PageToken'
        - in: query
          name: quote_symbol
          schema:
            $ref: '#/components/schemas/AssetSymbol'
            description: Symbol of the asset to use as the quote currency for valuations.
            default: USD
          style: form
          example: USD
        - in: query
          name: quote_type
          schema:
            description: >-
              Classification of the quote asset. Currently only fiat is
              supported.
            type: string
            enum:
              - fiat
            default: fiat
          style: form
          example: fiat
      responses:
        '200':
          description: Successful response
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    description: The list of matching assets.
                    type: array
                    items:
                      $ref: '#/components/schemas/Assets_Asset'
                  next_page_token:
                    description: >-
                      Opaque token for retrieving the next page. Absent when
                      there are no more results.
                    type: string
                    minLength: 1
                    maxLength: 256
                  quote_symbol:
                    description: >-
                      Quote asset symbol the prices are denominated in
                      (resolved, defaults to USD).
                    type: string
                  quote_type:
                    $ref: '#/components/schemas/Assets_QuoteAssetType'
                    description: >-
                      Classification of the quote asset (resolved, defaults to
                      fiat).
                  page_size:
                    description: >-
                      Maximum number of results returned on this page (resolved,
                      defaults to 20).
                    type: integer
                    format: int32
                    minimum: 1
                    maximum: 100
                  sort:
                    $ref: '#/components/schemas/Assets_SortField'
                    description: >-
                      Field the results were sorted by (resolved, defaults to
                      market_cap_rank).
                  sort_direction:
                    description: >-
                      Direction the results were sorted in (resolved, defaults
                      to asc).
                    type: string
                    enum:
                      - asc
                      - desc
                  type:
                    description: >-
                      Asset classifications the listing was filtered to. Empty
                      when no type filter was applied.
                    type: array
                    items:
                      $ref: '#/components/schemas/Assets_CatalogAssetType'
                  swap_trading:
                    description: >-
                      Swap-trading filter that was applied, echoed back. Absent
                      when not filtered.
                    type: boolean
                  withdraw:
                    description: >-
                      Withdrawal filter that was applied, echoed back. Absent
                      when not filtered.
                    type: boolean
                  deposit:
                    description: >-
                      Deposit filter that was applied, echoed back. Absent when
                      not filtered.
                    type: boolean
                required:
                  - data
                  - quote_symbol
                  - quote_type
                  - page_size
                  - sort
                  - sort_direction
              examples:
                first-page:
                  summary: First page of assets across crypto, fiat, and xStocks
                  value:
                    data:
                      - symbol: BTC
                        type: crypto
                        name: Bitcoin
                        website: https://bitcoin.org/
                        docs: https://bitcoin.org/bitcoin.pdf
                        description: Bitcoin is the world's largest cryptocurrency project.
                        listing_date: '2013-10-06'
                        price: '62081.0000'
                        market_cap: '1244183483835'
                        market_cap_rank: 1
                        trending_rank: 66
                        volume:
                          last_24h: '53096507160'
                        supply:
                          circulating: '20038918'
                          total: '20038918'
                          max: '21000000'
                          in_quote:
                            circulating: '1244036068358'
                            total: '1244036068358'
                            max: '1303701000000'
                        price_range:
                          high_24h: '63120.0000'
                          low_24h: '61540.0000'
                          high_1y: '73750.0000'
                          low_1y: '24900.0000'
                        price_change_percent:
                          last_1h: '-0.31'
                          last_24h: '-0.58'
                          last_7d: '-15.62'
                          last_30d: '-24.56'
                          last_1y: '-40.69'
                        ath:
                          value: '126080.0000'
                          timestamp: '2025-10-06T18:57:42Z'
                        buy_rate: '65.00'
                        market_dominance: '52.40'
                        status:
                          swap_trading:
                            enabled: true
                            disabled_against:
                              - symbol: USDT
                                type: stablecoin
                              - symbol: SOL
                                type: crypto
                          withdraw:
                            enabled: true
                          deposit:
                            enabled: true
                        logo:
                          width: 400
                          height: 400
                          href: >-
                            https://assets.kraken.com/marketing/web/icons-uni-webp/s_btc.webp
                          type: image/webp
                        decimals:
                          funding: 8
                          swap: 10
                      - symbol: ETH
                        type: crypto
                        name: Ethereum
                        listing_date: '2015-08-07'
                        price: '1659.8600'
                        market_cap: '200269280850'
                        market_cap_rank: 2
                        trending_rank: 55
                        volume:
                          last_24h: '27036726996'
                        price_range:
                          high_24h: '1688.4000'
                          low_24h: '1642.1000'
                        price_change_percent:
                          last_1h: '-0.53'
                          last_24h: '-4.92'
                          last_7d: '-17.38'
                          last_30d: '-31.16'
                          last_1y: '-36.02'
                        ath:
                          value: '4946.0500'
                          timestamp: '2025-08-24T19:21:03Z'
                        status:
                          swap_trading:
                            enabled: true
                            disabled_against:
                              - symbol: USDT
                                type: stablecoin
                              - symbol: SOL
                                type: crypto
                          withdraw:
                            enabled: true
                          deposit:
                            enabled: true
                        logo:
                          width: 400
                          height: 400
                          href: >-
                            https://assets.kraken.com/marketing/web/icons-uni-webp/s_eth.webp
                          type: image/webp
                        decimals:
                          funding: 10
                          swap: 10
                      - symbol: USD
                        type: fiat
                        name: US Dollar
                        listing_date: '2013-10-06'
                        status:
                          swap_trading:
                            enabled: true
                            disabled_against:
                              - symbol: AED
                                type: fiat
                              - symbol: USDT
                                type: stablecoin
                          withdraw:
                            enabled: true
                          deposit:
                            enabled: true
                        logo:
                          width: 400
                          height: 400
                          href: >-
                            https://assets.kraken.com/marketing/web/icons-uni-webp/s_usd.webp
                          type: image/webp
                        decimals:
                          funding: 2
                          swap: 4
                      - symbol: TSLAx
                        type: xstock
                        name: Tesla, Inc.
                        listing_date: '2025-06-30'
                        price: '248.5000'
                        market_cap: '799000000000'
                        market_cap_rank: 12
                        trending_rank: 8
                        volume:
                          last_24h: '1203456789'
                        price_change_percent:
                          last_1h: '0.15'
                          last_24h: '-1.02'
                          last_7d: '3.44'
                          last_30d: '-2.10'
                          last_1y: '18.73'
                        ath:
                          value: '488.5400'
                          timestamp: '2025-01-31T20:00:00Z'
                        status:
                          swap_trading:
                            enabled: true
                            disabled_against: []
                          withdraw:
                            enabled: true
                          deposit:
                            enabled: true
                        logo:
                          width: 400
                          height: 400
                          href: >-
                            https://assets.kraken.com/marketing/web/icons-uni-webp/s_tslax.webp
                          type: image/webp
                        decimals:
                          funding: 8
                          swap: 8
                    quote_symbol: USD
                    quote_type: fiat
                    page_size: 20
                    sort: market_cap_rank
                    sort_direction: asc
                    next_page_token: MjoyRHuBXSgoe0mDHt-iFALROW46EGdvk_trgja31Vwr7H4
                last-page:
                  summary: Last page of results; `nextPageToken` is omitted
                  value:
                    data:
                      - symbol: GBP
                        type: fiat
                        name: Pound Sterling
                        listing_date: '2013-10-06'
                        status:
                          swap_trading:
                            enabled: true
                            disabled_against: []
                          withdraw:
                            enabled: true
                          deposit:
                            enabled: true
                        logo:
                          width: 400
                          height: 400
                          href: >-
                            https://assets.kraken.com/marketing/web/icons-uni-webp/s_gbp.webp
                          type: image/webp
                        decimals:
                          funding: 2
                          swap: 4
                    quote_symbol: USD
                    quote_type: fiat
                    page_size: 20
                    sort: market_cap_rank
                    sort_direction: asc
        '400':
          description: Validation error
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
              examples:
                invalid-request:
                  $ref: '#/components/examples/assets-bad-request'
        '401':
          description: Authentication required
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedError'
              examples:
                authentication-failed:
                  $ref: '#/components/examples/assets-unauthenticated'
        '403':
          description: Forbidden
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
              examples:
                caller-is-not-allowed:
                  $ref: '#/components/examples/assets-forbidden'
        '404':
          description: Not found
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
              examples:
                not-found:
                  $ref: '#/components/examples/assets-not-found'
        '429':
          description: Rate limit exceeded
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceExhaustedError'
              examples:
                rate-limit-exceeded:
                  $ref: '#/components/examples/assets-resource-exhausted'
        '500':
          description: Internal server error
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalError'
              examples:
                internal-error:
                  $ref: '#/components/examples/assets-internal'
        '501':
          description: Error response
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnimplementedError'
              examples:
                not-implemented:
                  $ref: '#/components/examples/assets-unimplemented'
        '503':
          description: Service unavailable
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnavailableError'
              examples:
                service-unavailable:
                  $ref: '#/components/examples/assets-unavailable'
        '504':
          description: Deadline exceeded
          headers:
            X-Trace-Id:
              $ref: '#/components/headers/TraceId'
            Strict-Transport-Security:
              $ref: '#/components/headers/StrictTransportSecurity'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeadlineExceededError'
              examples:
                request-deadline-exceeded:
                  $ref: '#/components/examples/assets-deadline-exceeded'
      security: []
components:
  schemas:
    Assets_SortField:
      description: >-
        Field to sort the results by. Use sort_direction to control ascending vs
        descending.
      type: string
      enum:
        - trending_rank
        - market_cap_rank
        - market_cap
        - price
        - volume_last_24h
        - price_change_percent_last_1h
        - price_change_percent_last_24h
        - price_change_percent_last_7d
        - price_change_percent_last_30d
        - price_change_percent_last_1y
        - symbol
        - name
        - listing_date
      default: market_cap_rank
    AssetSymbol:
      description: Symbol identifying an asset within its asset category.
      type: string
      minLength: 1
      maxLength: 16
    Assets_Asset:
      description: A tradable asset.
      type: object
      properties:
        symbol:
          description: Ticker symbol (e.g., "BTC", "ETH", "USD").
          type: string
        type:
          $ref: '#/components/schemas/Assets_CatalogAssetType'
          description: Classification of the asset.
        name:
          description: Human-readable English name of the asset.
          type: string
        website:
          description: Official project website URL. Absent when unknown.
          type: string
          format: uri
          minLength: 1
        docs:
          description: Official project documentation URL. Absent when unknown.
          type: string
          format: uri
          minLength: 1
        description:
          description: English-language project description. Absent when unknown.
          type: string
          minLength: 1
        listing_date:
          description: The date the asset was first listed on Payward.
          type: string
        price:
          $ref: '#/components/schemas/Price'
          description: >-
            The latest price of the asset, in the requested quote asset. Omitted
            when unavailable.
        market_cap:
          description: >-
            The current market capitalization of the asset, in the requested
            quote asset.
          type: string
        market_cap_rank:
          description: The rank of the asset based on the total market capitalization.
          type: integer
          format: int32
        trending_rank:
          description: >-
            The trending rank of the asset compared to all other trending
            assets.
          type: integer
          format: int32
        volume:
          $ref: '#/components/schemas/Assets_AssetVolume'
          description: >-
            Trading volume over recent windows, denominated in the requested
            quote asset.
        supply:
          $ref: '#/components/schemas/Assets_AssetSupply'
          description: >-
            Token supply figures. Absent for assets where supply is not
            applicable (e.g., fiat).
        price_range:
          $ref: '#/components/schemas/Assets_PriceRange'
          description: >-
            Highest and lowest traded price over recent windows, in the
            requested quote asset.
        price_change_percent:
          $ref: '#/components/schemas/Assets_PriceChangePercent'
          description: Percentage change in the asset price over each rolling time window.
        ath:
          $ref: '#/components/schemas/Assets_AssetAth'
          description: >-
            All-time-high price for the asset, with the timestamp it was
            reached.
        buy_rate:
          description: >-
            Share of recent successful swaps in which users received this asset,
            as a percentage from 0 to 100. Omitted when unavailable.
          type: string
          minLength: 1
        market_dominance:
          description: >-
            Market share of this asset as a percentage of global cryptocurrency
            market capitalization, from 0 to 100. Omitted when unavailable.
          type: string
          minLength: 1
        status:
          $ref: '#/components/schemas/Assets_AssetStatus'
          description: Per-action availability for this asset.
        logo:
          $ref: '#/components/schemas/Assets_AssetLogo'
          description: Logo image.
        decimals:
          $ref: '#/components/schemas/Assets_AssetDecimals'
          description: Decimal precision for the asset across funding and swap operations.
      required:
        - symbol
        - type
        - name
        - status
        - logo
        - decimals
    Assets_QuoteAssetType:
      description: Classification of the fiat asset used to quote valuations.
      type: string
      enum:
        - fiat
    Assets_CatalogAssetType:
      description: Classification of an asset available in the catalog.
      type: string
      enum:
        - fiat
        - crypto
        - xstock
        - stablecoin
    BadRequestError:
      title: Bad Request
      description: Request validation failed or the request could not be processed.
      oneOf:
        - title: Bad Request
          allOf:
            - $ref: '#/components/schemas/PwsValidationErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsValidationError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        status:
                          type: integer
                          format: int32
                          const: 400
                        code:
                          type: string
                          enum:
                            - bad_request
        - title: Gateway
          description: >-
            Gateway-level validation failure returned before the request reaches
            the service.
          allOf:
            - $ref: '#/components/schemas/PwsValidationErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsValidationError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        type:
                          type: string
                          const: service_error
                        status:
                          type: integer
                          format: int32
                          const: 400
                        code:
                          type: string
                          const: gateway
    UnauthenticatedError:
      title: Unauthenticated
      description: Authentication credentials are missing, invalid, or not accepted.
      oneOf:
        - title: Unauthenticated
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        status:
                          type: integer
                          format: int32
                          const: 401
                        code:
                          type: string
                          enum:
                            - unauthenticated
        - title: Gateway
          description: Authentication failure returned by the API gateway.
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        type:
                          type: string
                          const: service_error
                        status:
                          type: integer
                          format: int32
                          const: 401
                        code:
                          type: string
                          const: gateway
    ForbiddenError:
      title: Forbidden
      description: The caller is not allowed to perform this operation.
      oneOf:
        - title: Forbidden
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        status:
                          type: integer
                          format: int32
                          const: 403
                        code:
                          type: string
                          enum:
                            - forbidden
        - title: Gateway
          description: Authorization failure returned by the API gateway.
          allOf:
            - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
            - type: object
              required:
                - error
              properties:
                error:
                  allOf:
                    - $ref: '#/components/schemas/PwsGeneralError'
                    - type: object
                      required:
                        - status
                        - code
                      properties:
                        type:
                          type: string
                          const: service_error
                        status:
                          type: integer
                          format: int32
                          const: 403
                        code:
                          type: string
                          const: gateway
    NotFoundError:
      description: The requested resource was not found.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 404
                    code:
                      type: string
                      enum:
                        - not_found
    ResourceExhaustedError:
      description: The request was rate limited or a resource quota was exhausted.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 429
                    code:
                      type: string
                      enum:
                        - resource_exhausted
    InternalError:
      description: An unexpected server-side error occurred.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 500
                    code:
                      type: string
                      enum:
                        - internal
    UnimplementedError:
      description: The requested operation is not implemented.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 501
                    code:
                      type: string
                      enum:
                        - unimplemented
    UnavailableError:
      description: The service is temporarily unavailable.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 503
                    code:
                      type: string
                      enum:
                        - unavailable
    DeadlineExceededError:
      description: The request deadline was exceeded before a response could be produced.
      allOf:
        - $ref: '#/components/schemas/PwsGeneralErrorEnvelope'
        - type: object
          required:
            - error
          properties:
            error:
              allOf:
                - $ref: '#/components/schemas/PwsGeneralError'
                - type: object
                  required:
                    - status
                    - code
                  properties:
                    status:
                      type: integer
                      format: int32
                      const: 504
                    code:
                      type: string
                      enum:
                        - deadline_exceeded
    Price:
      description: >-
        Price of one unit of an asset or instrument in the applicable quote
        units.
      type: string
      minLength: 1
      maxLength: 64
      pattern: ^[0-9]+(\.[0-9]+)?$
    Assets_AssetVolume:
      description: >-
        Trading volume over recent windows, denominated in the requested quote
        asset.
      type: object
      properties:
        last_24h:
          description: >-
            The 24-hour trading volume for the asset, in the requested quote
            asset.
          type: string
    Assets_AssetSupply:
      description: >-
        Token supply figures. Absent for assets where supply is not applicable
        (e.g., fiat).
      type: object
      properties:
        circulating:
          description: Number of tokens currently in circulation.
          type: string
        total:
          description: The total number of tokens that currently exist.
          type: string
        max:
          description: The maximum number of tokens that can ever exist.
          type: string
        in_quote:
          $ref: '#/components/schemas/Assets_AssetSupplyInQuote'
          description: >-
            Same supply figures valued at the current market price, denominated
            in the requested quote asset.
    Assets_PriceRange:
      description: >-
        Highest and lowest price over recent windows, in the requested quote
        asset. Each bound is included when it is known.
      type: object
      properties:
        high_24h:
          description: >-
            Highest market trade price over the last 24 hours, in the requested
            quote asset.
          type: string
        low_24h:
          description: >-
            Lowest market trade price over the last 24 hours, in the requested
            quote asset.
          type: string
        high_1y:
          description: >-
            Highest market trade price over the last year, in the requested
            quote asset.
          type: string
        low_1y:
          description: >-
            Lowest market trade price over the last year, in the requested quote
            asset.
          type: string
    Assets_PriceChangePercent:
      description: Percentage change in the asset price over each rolling time window.
      type: object
      properties:
        last_1h:
          description: The price change percentage over the last 1 hour.
          type: string
        last_24h:
          description: The price change percentage over the last 24 hours.
          type: string
        last_7d:
          description: The price change percentage over the last 7 days.
          type: string
        last_30d:
          description: The price change percentage over the last 30 days.
          type: string
        last_1y:
          description: The price change percentage over the last 1 year.
          type: string
    Assets_AssetAth:
      description: All-time-high price for the asset, with the timestamp it was reached.
      type: object
      properties:
        value:
          description: The all-time high price of the asset.
          type: string
        timestamp:
          description: Timestamp when the asset reached its all-time high price.
          type: string
      required:
        - value
        - timestamp
    Assets_AssetStatus:
      description: Per-action availability for this asset.
      type: object
      properties:
        swap_trading:
          $ref: '#/components/schemas/Assets_SwapTradingStatus'
          description: Eligibility for swap trading.
        withdraw:
          $ref: '#/components/schemas/Assets_FundingStatus'
          description: Eligibility for withdrawals.
        deposit:
          $ref: '#/components/schemas/Assets_FundingStatus'
          description: Eligibility for deposits.
      required:
        - swap_trading
        - withdraw
        - deposit
    Assets_AssetLogo:
      description: Logo image.
      type: object
      properties:
        width:
          description: Width of the image in pixels.
          type: integer
          format: int32
        height:
          description: Height of the image in pixels.
          type: integer
          format: int32
        href:
          description: URI of the logo image.
          type: string
        type:
          description: MIME type of the image (e.g., "image/webp").
          type: string
      required:
        - width
        - height
        - href
    Assets_AssetDecimals:
      description: Decimal precision for the asset across funding and swap operations.
      type: object
      properties:
        funding:
          description: >-
            Number of decimals supported when funding (depositing/withdrawing)
            this asset on its native protocol.
          type: integer
          format: int32
        swap:
          description: Number of decimals supported when trading this asset via swap.
          type: integer
          format: int32
      required:
        - funding
        - swap
    PwsValidationErrorEnvelope:
      description: Error envelope for request validation failures.
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/PwsValidationError'
          description: Validation error details.
    PwsValidationError:
      description: Standard PWS API error object for request validation failures.
      type: object
      required:
        - type
        - status
        - instance
        - code
      properties:
        type:
          description: Machine-readable error class.
          type: string
        status:
          description: HTTP status code returned for this error.
          type: integer
          format: int32
        instance:
          description: Request identifier for this specific error occurrence.
          type: string
        code:
          description: Stable machine-readable error code.
          type: string
        doc_url:
          description: Optional link to documentation for this error.
          type: string
          format: uri
        causes:
          description: Validation failures that contributed to the error.
          type: array
          items:
            $ref: '#/components/schemas/PwsErrorCause'
    PwsGeneralErrorEnvelope:
      description: Error envelope for operational or domain failures.
      type: object
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/PwsGeneralError'
          description: General error details.
    PwsGeneralError:
      description: Standard PWS API error object for non-validation failures.
      allOf:
        - $ref: '#/components/schemas/PwsErrorBase'
        - type: object
          properties:
            causes:
              description: Additional error details, when present.
              type: array
              items:
                type: object
                additionalProperties: true
    Assets_AssetSupplyInQuote:
      description: >-
        Same supply figures valued at the current market price, denominated in
        the requested quote asset.
      type: object
      properties:
        circulating:
          description: Number of tokens currently in circulation.
          type: string
        total:
          description: The total number of tokens that currently exist.
          type: string
        max:
          description: The maximum number of tokens that can ever exist.
          type: string
    Assets_SwapTradingStatus:
      description: Eligibility for swap trading.
      type: object
      properties:
        enabled:
          description: Whether the asset is currently enabled for swap trading.
          type: boolean
        disabled_against:
          description: >-
            Assets that cannot be paired with this one in a swap. Empty when the
            asset can be paired with any other tradable asset.
          type: array
          items:
            $ref: '#/components/schemas/Assets_AssetReference'
      required:
        - enabled
        - disabled_against
    Assets_FundingStatus:
      description: Eligibility for funding operations.
      type: object
      properties:
        enabled:
          description: Whether the asset is currently enabled.
          type: boolean
      required:
        - enabled
    PwsErrorCause:
      description: A single request validation failure.
      type: object
      required:
        - field
        - message
      properties:
        field:
          description: Dot-notation path to the offending request field.
          type: string
        message:
          description: Human-readable explanation of the failed validation rule.
          type: string
    PwsErrorBase:
      description: Common fields present on every PWS API error object.
      type: object
      required:
        - type
        - status
        - instance
        - code
      properties:
        type:
          description: Machine-readable error class.
          type: string
        status:
          description: HTTP status code returned for this error.
          type: integer
          format: int32
        instance:
          description: Request identifier for this specific error occurrence.
          type: string
        code:
          description: Stable machine-readable error code.
          type: string
        doc_url:
          description: Optional link to documentation for this error.
          type: string
          format: uri
    Assets_AssetReference:
      description: An asset reference without an amount.
      type: object
      properties:
        symbol:
          $ref: '#/components/schemas/AssetSymbol'
          description: Asset ticker symbol (e.g., "BTC", "USD", "TSLAx").
        type:
          $ref: '#/components/schemas/Assets_AssetType'
          description: Classification of the asset.
      required:
        - symbol
        - type
    Assets_AssetType:
      description: Classification of the asset.
      type: string
      enum:
        - fiat
        - crypto
        - xstock
        - stablecoin
        - equity
  parameters:
    Assets_PageSize:
      name: page_size
      in: query
      description: >-
        Maximum number of results to return. Ignored when `page_token` is
        present.
      required: false
      schema:
        type: integer
        format: int32
        minimum: 1
        maximum: 100
        default: 20
      style: form
      example: 20
    PageToken:
      name: page_token
      in: query
      description: >-
        Opaque token returned as `next_page_token` in the previous response.
        Omit to request the first page.
      required: false
      schema:
        type: string
        minLength: 1
        maxLength: 256
      style: form
      example: MjoyRHuBXSgoe0mDHt-iFALROW46EGdvk_trgja31Vwr7H4
  headers:
    TraceId:
      description: Trace identifier for the request. Include it when contacting support.
      schema:
        type: string
        example: 4bf92f3577b34da6a3ce929d0e0e4736
    StrictTransportSecurity:
      description: Enforces HTTPS for the duration specified by `max-age`.
      schema:
        type: string
        example: max-age=31536000; includeSubDomains; preload
    CacheControl:
      description: Prevents caching of sensitive financial data. Always `no-store`.
      schema:
        type: string
        enum:
          - no-store
        example: no-store
  examples:
    assets-bad-request:
      summary: Invalid request
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 400
          code: bad_request
          causes:
            - field: country
              message: must be a valid ISO 3166-1 alpha-2 country code
    assets-unauthenticated:
      summary: Authentication failed
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 401
          code: unauthenticated
    assets-forbidden:
      summary: Caller is not allowed
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 403
          code: forbidden
    assets-not-found:
      summary: Resource not found
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 404
          code: not_found
    assets-resource-exhausted:
      summary: Rate limit exceeded
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 429
          code: resource_exhausted
    assets-internal:
      summary: Internal server error
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 500
          code: internal
    assets-unimplemented:
      summary: Operation is not implemented
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 501
          code: unimplemented
    assets-unavailable:
      summary: Service unavailable
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 503
          code: unavailable
    assets-deadline-exceeded:
      summary: Request deadline exceeded
      value:
        error:
          type: assets_error
          instance: 5f4d2a8e-91a4-4d6c-8a17-9b1e2c3f4a5b
          status: 504
          code: deadline_exceeded

````