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

# DeFi Protocol Positions



## OpenAPI

````yaml openapi.json GET /gateway/v1/wallet/protocols
openapi: 3.1.0
info:
  title: Hermod
  version: 0.0.1
servers:
  - url: https://api.asksurf.ai
security: []
paths:
  /gateway/v1/wallet/protocols:
    get:
      tags:
        - Wallet
      summary: Wallet DeFi Protocol Positions
      description: >-
        Returns all DeFi protocol positions for a wallet — lending, staking, LP,
        and farming with token breakdowns and USD values.


        **Lookup:** by `address`.
      operationId: wallet-protocols
      parameters:
        - description: >-
            Wallet address — must be a raw 0x-prefixed hex address, not an ENS
            name
          explode: false
          in: query
          name: address
          required: true
          schema:
            description: >-
              Wallet address — must be a raw 0x-prefixed hex address, not an ENS
              name
            examples:
              - '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045'
            type: string
        - description: Results per page
          explode: false
          in: query
          name: limit
          schema:
            default: 20
            description: Results per page
            examples:
              - 20
            format: int64
            maximum: 100
            minimum: 1
            type: integer
        - description: Pagination offset
          explode: false
          in: query
          name: offset
          schema:
            default: 0
            description: Pagination offset
            examples:
              - 0
            format: int64
            minimum: 0
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResponseWalletProtocolItem'
          description: OK
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAPIError'
          description: Error
      security:
        - AccessToken: []
components:
  schemas:
    DataResponseWalletProtocolItem:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/DataResponseWalletProtocolItem.json
          format: uri
          readOnly: true
          type: string
        data:
          items:
            $ref: '#/components/schemas/WalletProtocolItem'
          type:
            - array
            - 'null'
        meta:
          $ref: '#/components/schemas/OffsetMeta'
      required:
        - data
        - meta
      type: object
    DataAPIError:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/DataAPIError.json
          format: uri
          readOnly: true
          type: string
        error:
          $ref: '#/components/schemas/DataAPIErrorDetail'
      required:
        - error
      type: object
    WalletProtocolItem:
      additionalProperties: false
      properties:
        chain:
          description: Canonical chain name where the protocol operates
          type: string
        logo_url:
          description: Protocol logo image URL
          type: string
        positions:
          description: Individual positions held in this protocol
          items:
            $ref: '#/components/schemas/WalletProtocolPosition'
          type:
            - array
            - 'null'
        protocol_name:
          description: Human-readable protocol name
          type: string
        site_url:
          description: Protocol website URL
          type: string
        total_usd:
          description: Total USD value across all positions in this protocol
          format: double
          type: number
      required:
        - protocol_name
        - chain
        - total_usd
        - positions
      type: object
    OffsetMeta:
      additionalProperties: false
      properties:
        cached:
          description: Whether this response was served from cache
          type: boolean
        credits_used:
          description: Credits deducted for this request
          format: int64
          type: integer
        limit:
          description: Maximum number of items returned in this response
          format: int64
          type: integer
        offset:
          description: Number of items skipped (pagination offset)
          format: int64
          type: integer
        total:
          description: >-
            Total number of matching items (before pagination). Omitted when
            total is unknown.
          format: int64
          type: integer
      required:
        - limit
        - offset
        - credits_used
        - cached
      type: object
    DataAPIErrorDetail:
      additionalProperties: false
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
      type: object
    WalletProtocolPosition:
      additionalProperties: false
      properties:
        balance_usd:
          description: Total USD value of this position
          format: double
          type: number
        borrow_tokens:
          description: Tokens borrowed in this position
          items:
            $ref: '#/components/schemas/WalletProtocolToken'
          type:
            - array
            - 'null'
        lp_tokens:
          description: LP tokens in this position
          items:
            $ref: '#/components/schemas/WalletProtocolToken'
          type:
            - array
            - 'null'
        name:
          description: Position name or type like `Lending` or `Staking`
          type: string
        reward_tokens:
          description: Unclaimed reward tokens in this position
          items:
            $ref: '#/components/schemas/WalletProtocolToken'
          type:
            - array
            - 'null'
        supply_tokens:
          description: Tokens supplied/deposited in this position
          items:
            $ref: '#/components/schemas/WalletProtocolToken'
          type:
            - array
            - 'null'
      required:
        - name
        - balance_usd
      type: object
    WalletProtocolToken:
      additionalProperties: false
      properties:
        amount:
          description: Token amount held in this position
          format: double
          type: number
        chain:
          description: Canonical chain name like `ethereum` or `polygon`
          type: string
        name:
          description: Full token name
          type: string
        price:
          description: Current token price in USD
          format: double
          type: number
        symbol:
          description: Token ticker symbol
          type: string
        token_address:
          description: Token contract address
          type: string
      required:
        - symbol
        - amount
        - price
        - chain
      type: object

````