> ## 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 on-chain quotes

> Lists onchain quotes for the authenticated user.



## OpenAPI

````yaml /api-reference/openapi_v3_pws.json get /v1/accounts/{account_id}/onchain-quotes
openapi: 3.1.0
info:
  title: Payward Services API
  description: >-
    The Payward Services (PWS) public API.


    PWS exposes Swaps (institutional FX-style trading), Conversions (rule-driven
    and one-shot fiat ↔ crypto value movement), retail-style Quotes and Price
    Trigger Swaps, end-user Users / Verifications, Funds (deposits, withdrawals,
    addresses, transactions), Portfolio, Earn, Reports, Webhooks, and Ramp
    (hosted fiat-to-crypto on-ramp checkout).


    All requests must be authenticated. All monetary values are decimal strings;
    all timestamps are ISO 8601 UTC. List endpoints are cursor-paginated. Errors
    follow a uniform shape (see `*ErrorResponse` schemas).
  version: v1
  contact:
    name: Payward Services API Support
    url: https://docs.payward.com
    email: api-support@payward.com
servers:
  - url: https://api.services.payward.com
    description: Production
security:
  - ApiKey: []
    ApiNonce: []
    ApiSign: []
tags:
  - name: Users
    description: >-
      Users and headless-user onboarding flows that the partner manages.


      - **Create User** provisions a user with full identity verification fields
      collected up front.

      - **Create Headless User** provisions a lightweight user when your
      licensing agreement allows you to manage KYC data outside Payward.

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

      - **Update User** updates user profile fields and may re-trigger
      verification.


      Use the returned user `id` for calls that require the user's identifier.
  - name: Assets
    description: >-
      Catalog of assets available on the platform with retail-display metadata
      (logos, market data, descriptions).
  - name: Conversions
    description: >-
      Rule-driven and one-shot fiat ↔ crypto value movement, including
      conversion rules, deposits, and whitelisted wallets.
  - name: Earn
    description: >-
      Manage auto-earn preferences and retrieve allocation and reward
      information.
  - name: Funds
    description: >-
      Deposits, withdrawals, addresses, methods, and the consolidated
      funding-transactions ledger.
  - name: Portfolio
    description: End-user portfolio summary, history, and transaction views.
  - name: Price Trigger Swaps
    description: Limit-style orders that execute when a configured price trigger is met.
  - name: On-chain Swaps
    description: >-
      Wallet-funded onchain quote trading for xStock and USDC pairs. On-chain
      quotes settle on-chain through the Payward on-chain proxy contract.
  - name: Ramp
    description: >-
      Hosted fiat-to-crypto on-ramp checkout: country / fiat / payment-method /
      cryptocurrency-asset discovery, transaction limits and prospective quotes,
      and the hosted checkout URL.
  - name: Reports
    description: Settlement and reconciliation reports for the partner.
  - name: Swaps
    description: >-
      Direct partner-to-Payward swap quotes and executions (institutional
      FX-style trading).
  - name: Verifications
    description: Identity verification (KYC) submission and status for end users.
  - name: Webhooks
    description: Manage webhook subscriptions for asynchronous event delivery.
paths:
  /v1/accounts/{account_id}/onchain-quotes:
    get:
      tags:
        - On-chain Swaps
      summary: List on-chain quotes
      description: Lists onchain quotes for the authenticated user.
      operationId: listOnchainQuotes
      parameters:
        - $ref: '#/components/parameters/AccountIdPath'
        - in: query
          name: page_token
          schema:
            description: >-
              Opaque page token returned by a previous response's
              `next_page_token`. Omit to start from the beginning.
            type: string
            minLength: 1
            maxLength: 256
          style: form
          example: MjoyRHuBXSgoe0mDHt-iFALROW46EGdvk_trgja31Vwr7H4
        - in: query
          name: page_size
          schema:
            description: >-
              Maximum number of onchain quotes to return. Defaults to 50 if
              omitted. Maximum 200.
            type: integer
            format: int32
            minimum: 1
            maximum: 25
            default: 50
          style: form
          example: 20
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    description: On-chain quotes for the requested page.
                    type: array
                    items:
                      description: Full representation of an onchain quote.
                      type: object
                      properties:
                        id:
                          description: Unique identifier for this onchain quote.
                          type: string
                        status:
                          description: Current lifecycle status of the onchain quote.
                          type: string
                          enum:
                            - offered
                            - executing
                            - executed
                            - expired
                            - failed
                            - pending
                        expires_at:
                          $ref: '#/components/schemas/google.protobuf.Timestamp'
                        from:
                          description: Source asset and amount for the trade.
                          type: object
                          properties:
                            symbol:
                              description: >-
                                Asset ticker symbol (e.g. "BTC", "USD",
                                "TSLAx").
                              type: string
                            name:
                              description: >-
                                Human-readable name of the asset (e.g. "Bitcoin"
                                for BTC). Populated by the server in responses.
                              type:
                                - string
                                - 'null'
                            type:
                              description: Classification of the asset.
                              type: string
                              enum:
                                - fiat
                                - crypto
                                - xstock
                                - stablecoin
                            amount:
                              description: >-
                                Decimal amount as a string to preserve
                                precision.
                              type: string
                        to:
                          description: Destination asset and amount for the trade.
                          type: object
                          properties:
                            symbol:
                              description: >-
                                Asset ticker symbol (e.g. "BTC", "USD",
                                "TSLAx").
                              type: string
                            name:
                              description: >-
                                Human-readable name of the asset (e.g. "Bitcoin"
                                for BTC). Populated by the server in responses.
                              type:
                                - string
                                - 'null'
                            type:
                              description: Classification of the asset.
                              type: string
                              enum:
                                - fiat
                                - crypto
                                - xstock
                                - stablecoin
                            amount:
                              description: >-
                                Decimal amount as a string to preserve
                                precision.
                              type: string
                  next_page_token:
                    description: >-
                      Opaque token for the next page of results. Absent when
                      there are no more pages.
                    type: string
                    minLength: 1
                    maxLength: 64
              examples:
                onchain-quotes:
                  summary: Latest On-chain quotes for the authenticated user
                  value:
                    data:
                      - id: XQAAAAAAAAAAA3
                        status: offered
                        expires_at: '2026-04-23T16:20:30Z'
                        from:
                          symbol: USDC
                          name: USD Coin
                          type: stablecoin
                          amount: '1853.40'
                        to:
                          symbol: TSLAx
                          name: Tesla xStock
                          type: xstock
                          amount: '10'
                      - id: XQAAAAAAAAAAA2
                        status: executed
                        expires_at: '2026-04-23T16:10:30Z'
                        from:
                          symbol: TSLAx
                          name: Tesla xStock
                          type: xstock
                          amount: '10'
                        to:
                          symbol: USDC
                          name: USD Coin
                          type: stablecoin
                          amount: '1853.40'
                      - id: XQAAAAAAAAAAA1
                        status: expired
                        expires_at: '2026-04-23T16:00:30Z'
                        from:
                          symbol: USDC
                          name: USD Coin
                          type: stablecoin
                          amount: '1853.40'
                        to:
                          symbol: TSLAx
                          name: Tesla xStock
                          type: xstock
                          amount: '10'
                    next_page_token: AAZUbz9WQAAAAAAAACrUqPGCRjzHZvqDr8PUyYwbx41j4AuH
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemBadRequest'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemUnauthenticated'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemForbidden'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemNotFound'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemResourceExhausted'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemInternal'
        '501':
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemUnimplemented'
        '503':
          description: Service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemUnavailable'
        '504':
          description: Deadline exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDeadlineExceeded'
      security:
        - ApiKey: []
          ApiNonce: []
          ApiSign: []
components:
  parameters:
    AccountIdPath:
      in: path
      name: account_id
      required: true
      description: >-
        ID of the account the request applies to. This refers to one of the
        accounts held by the user the request is acting on behalf of (typically
        the user's main account, but any of the user's accounts is accepted).
        Routes the request to that specific account container.
      schema:
        $ref: '#/components/schemas/AccountId'
      example: W4BE9868GY65TB6523
  schemas:
    google.protobuf.Timestamp:
      description: RFC 3339 timestamp.
      type: string
      format: date-time
    ProblemBadRequest:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:BadRequest
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    ProblemUnauthenticated:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:Unauthenticated
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    ProblemForbidden:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:Forbidden
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    ProblemNotFound:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:NotFound
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    ProblemResourceExhausted:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:ResourceExhausted
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    ProblemInternal:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:gateway/ReadUpstream
            - tag:kraken.com,2025:gateway/WriteResponse
            - tag:kraken.com,2025:gateway/Connect
            - tag:kraken.com,2025:gateway/Fatal
            - tag:kraken.com,2025:Internal
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    ProblemUnimplemented:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:Unimplemented
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    ProblemUnavailable:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:gateway/Connect
            - tag:kraken.com,2025:Unavailable
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    ProblemDeadlineExceeded:
      type: object
      properties:
        type:
          description: URL uniquely identifying the error type relative to an operation
          type: string
          enum:
            - tag:kraken.com,2025:DeadlineExceeded
        status:
          description: HTTP status (provided for convenience)
          type: integer
          format: uint16
          minimum: 0
        title:
          description: Short human-readable summary
          type: string
        detail:
          description: Help to solve the problem
          type:
            - string
            - 'null'
        instance:
          description: Link to debug data for this particular error
          type:
            - string
            - 'null'
        data: {}
        source:
          description: Whether the service or gateway threw the error.
          type: string
          enum:
            - Gateway
      required:
        - data
        - source
        - status
        - title
        - type
    AccountId:
      type: string
      description: Canonical identifier for an account in the Payward public API.
      minLength: 14
      maxLength: 42
  securitySchemes:
    ApiKey:
      type: apiKey
      name: API-Key
      in: header
      description: Your public API key. Identifies the partner making the request.
    ApiNonce:
      type: apiKey
      name: API-Nonce
      in: header
      description: Monotonically increasing nonce included in the request signature.
    ApiSign:
      type: apiKey
      name: API-Sign
      in: header
      description: HMAC signature over the request, computed with your private key.

````