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

# List MicroVault source positions

> Returns each source attached to the vault with its permission mode, current position value, APY, and pending or claimable operations.

Read registered source modes, current positions, and in-flight source amounts.

<Note>
  MicroVaults are in private preview for enabled sandbox organizations on Ethereum Sepolia.
</Note>


## OpenAPI

````yaml swagger/swagger-combined.yaml GET /v2/microvaults/vaults/{vaultId}/sources
openapi: 3.0.0
info:
  title: Ground API
  description: Core API for Portfolio Wallets, gtokens, MicroVaults, and webhooks.
  version: 2.0.0
servers:
  - url: https://sandbox.groundtech.co
  - url: https://production.groundtech.co
security:
  - bearerAuth: []
tags:
  - name: System
    description: System health and utility endpoints.
  - name: Sandbox Faucets
    description: Sandbox-only test token faucets.
  - name: Portfolio Wallets
    description: >-
      Portfolio wallets with strategy allocation, deposits, withdrawals, and
      yield positions.
  - name: gVaults
    description: >-
      Direct access to gtokens with deposit access controls and optional fee
      wrappers.
  - name: MicroVaults
    description: >-
      Customer-owned onchain vaults with externally held ERC-20 shares. Private
      preview in sandbox on Ethereum Sepolia.
  - name: Webhook Endpoints
    description: Webhook endpoint management for portfolio wallet notifications.
paths:
  /v2/microvaults/vaults/{vaultId}/sources:
    parameters:
      - name: vaultId
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/UuidV4'
        description: >-
          Ground identifier of the MicroVault. This is distinct from its onchain
          contract address.
    get:
      tags:
        - MicroVaults
      summary: List source positions
      description: >-
        Returns each source attached to the vault with its permission mode,
        current position value, APY, and pending or claimable operations.
      operationId: listMicrovaultSources
      responses:
        '200':
          description: Configured sources and positions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MicroVaultSourceList'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    UuidV4:
      type: string
      format: uuid
      pattern: >-
        ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89aAbB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$
      example: 8f4c52d7-62ab-4db9-a964-92f481f6b851
    MicroVaultSourceList:
      type: object
      required:
        - sources
      properties:
        sources:
          type: array
          description: >-
            Sources attached to the vault, including permissions, positions,
            valuation, and in-flight operations.
          items:
            type: object
            additionalProperties: true
            properties:
              id:
                allOf:
                  - $ref: '#/components/schemas/UuidV4'
                description: Ground record identifier for the attached source.
              sourceId:
                allOf:
                  - $ref: '#/components/schemas/MicroVaultBytes32'
                description: Source identifier used in strategy and source-mode requests.
              sourceAddress:
                allOf:
                  - $ref: '#/components/schemas/NonzeroEvmAddress'
                description: Contract through which the vault enters or exits this source.
              positionTokenAddress:
                allOf:
                  - $ref: '#/components/schemas/NonzeroEvmAddress'
                description: Token whose balance represents the active source position.
              baseAssetAddress:
                allOf:
                  - $ref: '#/components/schemas/NonzeroEvmAddress'
                description: Token accepted by this source.
              positionKey:
                type: string
                nullable: true
                description: >-
                  Ground position identifier shared with the corresponding
                  portfolio yield source.
              displayName:
                type: string
                description: Display name shown for the yield source.
              providerName:
                type: string
                description: Provider or protocol operating the source.
              tickerLabel:
                type: string
                description: Compact source label suitable for portfolio displays.
              mode:
                type: string
                enum:
                  - active
                  - subscription_only
                  - redemption_only
                  - disabled
                description: Current source entry and exit policy for this vault.
              apyBps:
                type: integer
                nullable: true
                description: >-
                  Current annual percentage yield in basis points, or `null`
                  when unavailable.
              expectedProcessingSeconds:
                type: integer
                nullable: true
                description: >-
                  Typical asynchronous processing time in seconds, or `null` for
                  synchronous or unknown timing.
              maxProcessingSeconds:
                type: integer
                nullable: true
                description: >-
                  Upper processing-time estimate in seconds, or `null` when
                  unavailable.
              minimumDepositUnits:
                allOf:
                  - $ref: '#/components/schemas/MicroVaultUint256'
                nullable: true
                description: >-
                  Smallest source entry accepted, in base-asset units, or `null`
                  when no minimum is published.
              valuationAdapterAddress:
                allOf:
                  - $ref: '#/components/schemas/NullableNonzeroEvmAddress'
                description: >-
                  Adapter used to value the source position, or `null` when
                  valuation is direct.
              sourceKind:
                type: string
                description: >-
                  Integration type that determines entry, exit, and valuation
                  behavior.
              capabilities:
                type: object
                additionalProperties:
                  type: boolean
                description: >-
                  Whether the source supports synchronous and asynchronous
                  deposits and redemptions.
              enabled:
                type: boolean
                description: Whether this source remains enabled for the vault.
              depositsEnabled:
                type: boolean
                description: >-
                  Whether this vault may currently enter the source under its
                  local source policy.
              withdrawalsEnabled:
                type: boolean
                description: >-
                  Whether this vault may currently exit the source under its
                  local source policy.
              globallyEnabled:
                type: boolean
                description: Whether the source is enabled across the MicroVault product.
              globallyWithdrawalsEnabled:
                type: boolean
                description: >-
                  Whether source exits are enabled across the MicroVault
                  product.
              onchainEnabled:
                type: boolean
                description: >-
                  Whether the source is currently enabled in this vault's
                  onchain configuration.
              activePositionUnits:
                allOf:
                  - $ref: '#/components/schemas/MicroVaultUint256'
                nullable: true
                description: Position-token balance currently held for this source.
              positionValueAssets:
                allOf:
                  - $ref: '#/components/schemas/MicroVaultUint256'
                nullable: true
                description: Current position value in base-asset units.
              pendingDepositAssets:
                allOf:
                  - $ref: '#/components/schemas/MicroVaultUint256'
                nullable: true
                description: >-
                  Base assets committed to an asynchronous source entry that has
                  not completed.
              claimableBaseAssets:
                allOf:
                  - $ref: '#/components/schemas/MicroVaultUint256'
                nullable: true
                description: >-
                  Base assets available from completed asynchronous source
                  exits.
              componentFailure:
                type: string
                nullable: true
                description: >-
                  Valuation failure for this source, or `null` when it was
                  valued successfully.
              pendingOperations:
                type: integer
                description: Number of source operations still pending or ready to claim.
              operations:
                type: array
                description: Pending and claimable asynchronous operations for this source.
                items:
                  type: object
                  additionalProperties: true
                  properties:
                    operationId:
                      allOf:
                        - $ref: '#/components/schemas/MicroVaultUint256'
                      description: Onchain identifier of the source operation.
                    kind:
                      type: string
                      enum:
                        - async_deposit
                        - async_redeem
                      description: >-
                        Whether assets are entering or exiting the asynchronous
                        source.
                    status:
                      type: string
                      enum:
                        - pending
                        - claimable
                      description: >-
                        Whether processing remains or its result is ready to
                        claim.
                    createdAt:
                      type: string
                      format: date-time
                      description: Time when the source operation was created.
      example:
        sources:
          - id: e6c8b358-34cb-49ef-a7f0-e8e2ef7a619b
            sourceId: '0x1111111111111111111111111111111111111111111111111111111111111111'
            sourceAddress: '0x2222222222222222222222222222222222222222'
            positionTokenAddress: '0x2222222222222222222222222222222222222222'
            baseAssetAddress: '0x1c7d4b196cb0c7b01d743fbc6116a902379c7238'
            positionKey: ethereum_morpho_steakhouse_usdc
            displayName: Morpho Steakhouse USDC
            providerName: Morpho
            tickerLabel: Steakhouse USDC
            mode: active
            apyBps: 500
            expectedProcessingSeconds: null
            maxProcessingSeconds: null
            minimumDepositUnits: '1000000'
            valuationAdapterAddress: '0x7777777777777777777777777777777777777777'
            sourceKind: direct_erc4626
            capabilities:
              syncDeposit: true
              syncRedeem: true
              asyncDeposit: false
              asyncRedeem: false
            enabled: true
            depositsEnabled: true
            withdrawalsEnabled: true
            globallyEnabled: true
            globallyWithdrawalsEnabled: true
            onchainEnabled: true
            activePositionUnits: '99750000'
            positionValueAssets: '100000000'
            pendingDepositAssets: '0'
            claimableBaseAssets: '0'
            componentFailure: null
            pendingOperations: 0
            operations: []
    MicroVaultBytes32:
      type: string
      pattern: ^0x[0-9a-fA-F]{64}$
      example: '0x1111111111111111111111111111111111111111111111111111111111111111'
    NonzeroEvmAddress:
      type: string
      description: >-
        Valid nonzero EVM EOA or contract address. Mixed-case values must use a
        valid EIP-55 checksum.
      minLength: 42
      maxLength: 42
      pattern: ^0x(?!0{40}$)[0-9a-fA-F]{40}$
      example: '0x3bf25a73a1f1033c2d50ac65f3c9d6a44123db81'
    MicroVaultUint256:
      type: string
      pattern: ^(0|[1-9][0-9]*)$
      description: Unsigned base-10 integer in token base units.
      example: '1000000'
    NullableNonzeroEvmAddress:
      type: string
      nullable: true
      description: >-
        Deployed nonzero EVM contract address, or null while deployment is
        pending.
      minLength: 42
      maxLength: 42
      pattern: ^0x(?!0{40}$)[0-9a-fA-F]{40}$
      example: '0x7c4a1cb5a3d5c3c4e019c3f6ab29a0f98c21b814'
    AuthErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: Authentication or authorization error message.
        message:
          type: string
          nullable: true
          description: Additional auth middleware detail, when present.
        code:
          type: string
          nullable: true
          enum:
            - unauthenticated
            - forbidden
          description: >-
            Some auth and scope failures include a stable code; middleware
            errors may omit it.
  responses:
    Unauthorized:
      description: >-
        The request is missing a valid bearer token, or the token is invalid or
        expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AuthErrorResponse'
          example:
            error: Unauthenticated request
            message: Missing or invalid bearer token
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````