> ## 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 NFT portfolio

> This endpoint returns the NFT portfolio overview of a web3 wallet.

This endpoint supports testnets. To get data for testnets use `X-Env` header.

If the address was not added before it is possible that this endpoint will return `202` status. It means that portfolio for the wallet is not prepared yet, but will be available soon. In that case the client have to request this endpoint periodically, while `200` status wasn't returned.

> NOTE: Don't forget to stop retries after some reasonable period of time. If the `200` status is not returned within 2 minutes it most probably means that some unexpected error occurred and the client should stop the polling.




## OpenAPI

````yaml /openapi-v1.yaml get /v1/wallets/{address}/nft-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 — 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}/nft-portfolio:
    get:
      tags:
        - wallets
      summary: Get wallet NFT portfolio
      description: >
        This endpoint returns the NFT portfolio overview of a web3 wallet.


        This endpoint supports testnets. To get data for testnets use `X-Env`
        header.


        If the address was not added before it is possible that this endpoint
        will return `202` status. It means that portfolio for the wallet is not
        prepared yet, but will be available soon. In that case the client have
        to request this endpoint periodically, while `200` status wasn't
        returned.


        > NOTE: Don't forget to stop retries after some reasonable period of
        time. If the `200` status is not returned within 2 minutes it most
        probably means that some unexpected error occurred and the client should
        stop the polling.
      operationId: getWalletNftPortfolio
      parameters:
        - $ref: '#/components/parameters/Currency'
        - $ref: '#/components/parameters/WalletAddress'
        - name: X-Env
          in: header
          description: Custom header that allows you to get data for testnets.
          required: false
          schema:
            type: string
            enum:
              - testnet
      responses:
        '200':
          $ref: '#/components/responses/NFTPortfolioResponse'
        '202':
          $ref: '#/components/responses/NFTPortfolioProcessingResponse'
        '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. Returns
        400 if the address is not tracked by Zerion.
      example: '0x42b9df65b219b3dd36ff330a4dd8f327a6ada990'
      schema:
        $ref: '#/components/schemas/WalletAddress'
  responses:
    NFTPortfolioResponse:
      description: Response for requested wallet's portfolio
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Response-6'
    NFTPortfolioProcessingResponse:
      description: Request accepted, but nft portfolio is still being aggregated
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProcessingResponse'
    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-6:
      type: object
      required:
        - links
        - data
      properties:
        links:
          $ref: '#/components/schemas/ResponseLinks-6'
        data:
          $ref: '#/components/schemas/Container-9'
    ProcessingResponse:
      type: object
      required:
        - links
      properties:
        links:
          $ref: '#/components/schemas/ResponseLinks-6'
        data:
          type: object
    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-6:
      type: object
      required:
        - self
      properties:
        self:
          type: string
          format: url
          example: >-
            https://api.zerion.io/v1/wallets/0x42b9df65b219b3dd36ff330a4dd8f327a6ada990/nft-portfolio/?currency=usd
    Container-9:
      type: object
      required:
        - type
        - id
        - attributes
      properties:
        type:
          type: string
          example: wallet_nft_portfolio
        id:
          type: string
          description: NFT portfolio unique ID
          example: nft-portfolio-0x42b9df65b219b3dd36ff330a4dd8f327a6ada990
        attributes:
          $ref: '#/components/schemas/Attributes-9'
    Attributes-9:
      type: object
      properties:
        positions_distribution_by_chain:
          $ref: '#/components/schemas/PositionsDistributionByChain-2'
    PositionsDistributionByChain-2:
      type: object
      properties:
        arbitrum:
          type: number
          format: float
          description: Total value of NFTs on arbitrum chain in selected currency
          example: 140.14877478334236
        aurora:
          type: number
          format: float
          description: Total value of NFTs on polygon chain in selected currency
          example: 75.59585404617037
        avalanche:
          type: number
          format: float
          description: Total value of NFTs on avalanche chain in selected currency
          example: 54.39483513803602
        binance-smart-chain:
          type: number
          format: float
          description: Total value of NFTs on bsc chain in selected currency
          example: 1439.98965199211
        ethereum:
          type: number
          format: float
          description: Total value of NFTs on ethereum chain in selected currency
          example: 1439.98965199211
        fantom:
          type: number
          format: float
          description: Total value of NFTs on fantom chain in selected currency
          example: 104.5039957833603
        loopring:
          type: number
          format: float
          description: Total value of NFTs on loopring chain in selected currency
          example: 0
        optimism:
          type: number
          format: float
          description: Total value of NFTs on optimism chain in selected currency
          example: 55.111921042409875
        polygon:
          type: number
          format: float
          description: Total value of NFTs on polygon chain in selected currency
          example: 37.55943746454931
        solana:
          type: number
          format: float
          description: Total value of NFTs on solana chain in selected currency
          example: 0
        xdai:
          type: number
          format: float
          description: Total value of NFTs on xdai chain in selected currency
          example: 74.08441891963194
      additionalProperties:
        type: number
        format: float
        description: Total value of NFTs in selected currency on specified chain.
        example: 123.5
  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.

````