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

# Get wallet portfolio

> A wallet's total portfolio value, broken down by chain and position type.



## OpenAPI

````yaml /openapi-v1.yaml get /v1/wallets/{address}/portfolio
openapi: 3.0.3
info:
  version: 1.0.0
  title: REST API
  description: REST-like API provides access to rich Zerion ecosystem.
  contact:
    name: Zerion API
    url: https://developers.zerion.io/
    email: api@zerion.io
servers:
  - description: Production API
    url: https://api.zerion.io
security:
  - APIKeyBasicAuth: []
tags:
  - name: wallets
    description: >-
      Operations related to wallets, such as portfolio charts, positions, and
      transactions.
  - name: wallet sets
    description: >-
      Operations on a wallet set, returning aggregated portfolio data across at
      most one EVM address and one Solana address queried together.
  - name: fungibles
    description: >-
      Operations related to fungible assets, such as list them all, search or
      get by ID.
  - name: chains
    description: Operations related to chains, such as list all chains.
  - name: swap
    description: Operations related to swapping and bridging assets.
  - name: gas
    description: Operations related to gas.
  - name: nfts
    description: >-
      Operations related to non fungible assets, such list them, search or get
      by ID.
  - name: dapps
    description: >-
      Operations related to decentralized applications, such as list them all,
      search or get by ID.
  - name: subscriptions to transactions
    description: Operations related to subscriptions to transactions.
paths:
  /v1/wallets/{address}/portfolio:
    get:
      tags:
        - wallets
      summary: Get wallet portfolio
      description: >
        Returns the portfolio overview of a wallet, with the total value broken
        down by chain and by position type.


        **Simple positions by default.** `filter[positions]` defaults to
        `only_simple`, so the totals cover tokens held directly in the wallet
        and exclude DeFi protocol positions. Pass `no_filter` to have protocol
        positions counted too.


        **Solana limitation.** Protocol positions are not supported for Solana
        addresses yet.


        **See also:** [Resource
        IDs](https://developers.zerion.io/endpoints-and-schema#resource-ids)
      operationId: getWalletPortfolio
      parameters:
        - name: filter[positions]
          in: query
          required: false
          description: >
            Which positions count toward the portfolio totals. Defaults to
            `only_simple`.


            - `only_simple` - tokens and native coins held directly in the
            wallet. DeFi protocol positions are left out.

            - `only_complex` - DeFi protocol positions only, such as staked
            assets and liquidity pools (for example Uniswap or Aave).

            - `no_filter` - both simple and protocol positions.


            All three values count as standard requests on this endpoint. Unlike
            `GET /v1/wallets/{address}/positions/`, `only_complex` and
            `no_filter` don't use your advanced-request quota.
          schema:
            type: string
            default: only_simple
            enum:
              - only_simple
              - only_complex
              - no_filter
        - $ref: '#/components/parameters/Currency'
        - $ref: '#/components/parameters/WalletAddress'
      responses:
        '200':
          $ref: '#/components/responses/PortfolioResponse'
        '400':
          $ref: '#/components/responses/MalformedParameters'
        '401':
          $ref: '#/components/responses/UnauthenticatedError'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    Currency:
      name: currency
      in: query
      required: false
      description: Denominated currency value of returned prices
      schema:
        type: string
        default: usd
        enum:
          - eth
          - btc
          - usd
          - eur
          - krw
          - rub
          - gbp
          - aud
          - cad
          - inr
          - jpy
          - nzd
          - try
          - zar
          - cny
          - chf
    WalletAddress:
      name: address
      in: path
      required: true
      description: >-
        The web3 wallet address. Must be a valid EVM or Solana address. The PnL
        endpoint additionally requires an address Zerion tracks, and returns 400
        otherwise; see that endpoint's description for what that excludes.
      example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
      schema:
        $ref: '#/components/schemas/WalletAddress'
  responses:
    PortfolioResponse:
      description: Response for requested wallet's portfolio
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Response-2'
    MalformedParameters:
      description: Parameters are malformed
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    title:
                      type: string
                      description: Error short title
                      example: Parameter is malformed
                    detail:
                      type: string
                      description: Long description of the error
                      example: Some validation errors will be described here
    UnauthenticatedError:
      description: Unathenticated request
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    title:
                      type: string
                      description: Error short title
                      example: Unauthorized Error
                    detail:
                      type: string
                      description: Long description of the error
                      example: >-
                        The API key is invalid, please, make sure that you are
                        using a valid key
    TooManyRequests:
      description: Too many requests error
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    title:
                      type: string
                      description: Error short title
                      example: Too many requests
                    detail:
                      type: string
                      description: Long description of the error
                      example: Your request had been throttled
  schemas:
    WalletAddress:
      oneOf:
        - $ref: '#/components/schemas/EVMAddress'
        - $ref: '#/components/schemas/SolanaAddress'
      description: A wallet address, which can be either an EVM or Solana address
    Response-2:
      type: object
      required:
        - links
        - data
      properties:
        links:
          $ref: '#/components/schemas/ResponseLinks-2'
        data:
          $ref: '#/components/schemas/Container-2'
    EVMAddress:
      type: string
      description: Ethereum-compatible address (EVM).
      pattern: ^0x[a-fA-F0-9]{40}$
      example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
    SolanaAddress:
      type: string
      description: Solana address
      pattern: ^[1-9A-HJ-NP-Za-km-z]{32,44}$
      example: 8BH9pjtgyZDC4iAQH5ZiYDZ1MDWC98xki2V8NzqqKW3K
    ResponseLinks-2:
      type: object
      required:
        - self
      properties:
        self:
          type: string
          format: url
          example: >-
            https://api.zerion.io/v1/wallets/0x42b9df65b219b3dd36ff330a4dd8f327a6ada990/portfolio
    Container-2:
      type: object
      required:
        - type
        - id
        - attributes
      properties:
        type:
          type: string
          description: Resource type
          enum:
            - portfolio
        id:
          type: string
          description: Portfolio unique ID
          example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
        attributes:
          $ref: '#/components/schemas/Attributes-3'
    Attributes-3:
      type: object
      properties:
        positions_distribution_by_type:
          $ref: '#/components/schemas/PositionsDistributionByType'
        positions_distribution_by_chain:
          $ref: '#/components/schemas/PositionsDistributionByChain'
        total:
          $ref: '#/components/schemas/Total'
        changes:
          $ref: '#/components/schemas/Change'
    PositionsDistributionByType:
      type: object
      required:
        - wallet
        - deposited
        - borrowed
        - locked
        - staked
      properties:
        wallet:
          type: number
          format: float
          description: Total value of asset on the wallet in selected currency
          example: 1864.774102420957
        deposited:
          type: number
          format: float
          description: Total value of deposited assets in selected currency
          example: 78.04192492782934
        borrowed:
          type: number
          format: float
          description: Total value of borrowed assets in selected currency
          example: 0.9751475798305564
        locked:
          type: number
          format: float
          description: Total value of locked assets in selected currency
          example: 5.780032725068765
        staked:
          type: number
          format: float
          description: Total value of staked assets in selected currency
          example: 66.13183205505294
    PositionsDistributionByChain:
      type: object
      additionalProperties:
        type: number
        format: double
        description: Total value of asset on the chain in selected currency
      example:
        arbitrum: 458.3555051522226
        aurora: 72.01031337463428
        avalanche: 17.128850607339444
        base: 55.01550749900544
        binance-smart-chain: 5.561075880033699
        celo: 31.293849330045006
        ethereum: 1214.009900354964
        fantom: 84.58514074264951
        linea: 8.258227109505139
        optimism: 573.032664994399
        polygon: 64.31407562634853
        xdai: 113.1679493137936
        zksync-era: 9.451002156306377
    Total:
      type: object
      required:
        - positions
      description: Total portfolio values across all wallet positions and NFT
      properties:
        positions:
          type: number
          format: float
          description: Total value of all positions
          example: 2017.4858230069574
    Change:
      type: object
      description: Portfolio changes
      required:
        - absolute_1d
        - percent_1d
      properties:
        absolute_1d:
          type: number
          format: float
          description: Daily absolute portfolio change value
          example: 102.0271468171374
        percent_1d:
          type: number
          format: float
          description: Daily portfolio change percent
          example: 5.326512552079021
  securitySchemes:
    APIKeyBasicAuth:
      type: http
      scheme: basic
      description: >-
        To test endpoints here, paste your API key from the
        [Dashboard](https://dashboard.zerion.io/) into the username field and
        leave the password empty.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.