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

# Get best vault

> Returns the single best vault opportunity for the user, based on balance and yield analysis.



## OpenAPI

````yaml https://api.vaults.fyi/v2/documentation/json get /v2/portfolio/best-vault/{userAddress}
openapi: 3.0.3
info:
  title: Vaults.fyi API
  version: 2.0.0
  description: >-
    The Vaults.fyi V2 API offers a streamlined, better structured, and more
    performant interface for accessing DeFi vault data. This simplified version
    delivers optimized performance while maintaining comprehensive coverage
    across networks. Basic API key use is limited to 10 requests per minute.
servers:
  - url: https://api.vaults.fyi
    description: Vaults.fyi API
security: []
tags:
  - name: General
    description: >-
      Core informational endpoints providing essential reference data such as
      networks, assets, and vaults listings for orientation and exploration.
  - name: Detailed Vaults
    description: >-
      Comprehensive vault data endpoints delivering in-depth analytics including
      APY metrics, TVL statistics, rewards breakdowns, and risk scores.
  - name: Benchmarks
    description: >-
      Vaults.fyi curated benchmark endpoints providing aggregated yield
      performance data for USD and ETH denominated assets across selected
      networks.
  - name: Historical
    description: >-
      Endpoints returning time-series historical data for vault metrics,
      enabling trend analysis and performance tracking over customizable
      periods.
  - name: Portfolio
    description: >-
      Advanced endpoints providing detailed information about user balances,
      active positions, historical interactions, and tailored investment
      opportunities.
  - name: Transactions
    description: >-
      Endpoints for executing vault deposits, withdrawals, and reward claims
      with ready-to-sign transaction payloads.
  - name: NRT
    description: >-
      NRT (Near-Real-Time) endpoints return live vault data updated continuously
      throughout the day, including current share price, total supply, TVL, and
      APY.
  - name: Health
paths:
  /v2/portfolio/best-vault/{userAddress}:
    get:
      tags:
        - Portfolio
      summary: Get best vault
      description: >-
        Returns the single best vault opportunity for the user, based on balance
        and yield analysis.
      operationId: getBestVault
      parameters:
        - schema:
            type: array
            items:
              type: string
              minLength: 1
          in: query
          name: allowedAssets
          required: false
          description: Assets to be included by symbol(ticker).
        - schema:
            type: array
            items:
              type: string
              minLength: 1
          in: query
          name: disallowedAssets
          required: false
          description: >-
            Assets to be excluded by symbol(ticker). The parameter is ignored if
            "allowedAssets" is specified.
        - schema:
            type: array
            items:
              type: string
              minLength: 1
          in: query
          name: allowedProtocols
          required: false
          description: Protocols to be included by name.
        - schema:
            type: array
            items:
              type: string
              minLength: 1
          in: query
          name: disallowedProtocols
          required: false
          description: >-
            Protocols to be excluded by name. The parameter is ignored if
            "allowedProtocols" is specified.
        - schema:
            type: integer
            default: 100000
          in: query
          name: minTvl
          required: false
          description: Minimum TVL in USD of the vaults to be included
        - schema:
            type: number
            minimum: 0
          in: query
          name: minVaultScore
          required: false
          description: Minimum vault score required for a vault to be included
        - schema:
            type: boolean
          in: query
          name: onlyTransactional
          required: false
          description: >-
            Include only vaults that are supported in the transactional
            interface.
        - schema:
            type: boolean
            default: 'true'
          in: query
          name: onlyAppFeatured
          required: false
          description: Include only vaults that are featured in app.vaults.fyi
        - schema:
            type: boolean
            default: false
          in: query
          name: allowCorrupted
          required: false
          description: Allow inclusion of corrupted vaults.
        - schema:
            type: boolean
            default: 'false'
          in: query
          name: allowVaultsWithWarnings
          required: false
          description: Whether to include vaults with warnings. Defaults to false.
        - schema:
            type: array
            items:
              type: string
              enum:
                - mainnet
                - optimism
                - arbitrum
                - polygon
                - gnosis
                - base
                - unichain
                - swellchain
                - celo
                - worldchain
                - berachain
                - ink
                - bsc
                - hyperliquid
                - plasma
                - avalanche
                - katana
                - linea
                - mega-eth
                - monad
                - etherlink
                - eip155:1
                - eip155:10
                - eip155:42161
                - eip155:137
                - eip155:100
                - eip155:8453
                - eip155:130
                - eip155:1923
                - eip155:42220
                - eip155:480
                - eip155:80094
                - eip155:57073
                - eip155:56
                - eip155:999
                - eip155:9745
                - eip155:43114
                - eip155:747474
                - eip155:59144
                - eip155:4326
                - eip155:143
                - eip155:42793
              description: Include only vaults with provided network(name or CAIP)
            default:
              - base
              - mainnet
              - arbitrum
              - optimism
          in: query
          name: allowedNetworks
          required: false
          description: Networks to be included (name or CAIP).
        - schema:
            type: array
            items:
              type: string
              enum:
                - mainnet
                - optimism
                - arbitrum
                - polygon
                - gnosis
                - base
                - unichain
                - swellchain
                - celo
                - worldchain
                - berachain
                - ink
                - bsc
                - hyperliquid
                - plasma
                - avalanche
                - katana
                - linea
                - mega-eth
                - monad
                - etherlink
                - eip155:1
                - eip155:10
                - eip155:42161
                - eip155:137
                - eip155:100
                - eip155:8453
                - eip155:130
                - eip155:1923
                - eip155:42220
                - eip155:480
                - eip155:80094
                - eip155:57073
                - eip155:56
                - eip155:999
                - eip155:9745
                - eip155:43114
                - eip155:747474
                - eip155:59144
                - eip155:4326
                - eip155:143
                - eip155:42793
              description: Include only vaults with provided network(name or CAIP)
          in: query
          name: disallowedNetworks
          required: false
          description: >-
            Networks to be excluded (name or CAIP). The parameter is ignored if
            "allowedNetworks" is specified.
        - schema:
            type: string
            enum:
              - 1day
              - 7day
              - 30day
            default: 7day
          in: query
          name: apyInterval
          required: false
          description: 'Interval for APY data. Possible values: 1day, 7day, 30day'
        - schema:
            type: number
            minimum: 0
          in: query
          name: minApy
          required: false
          description: Minimum APY of the vault to be included
        - schema:
            type: number
          in: query
          name: maxApy
          required: false
          description: Maximum APY (in decimal) of the vaults to be included
        - schema:
            type: integer
          in: query
          name: maxTvl
          required: false
          description: Maximum TVL in USD of the vaults to be included
        - schema:
            type: array
            items:
              type: string
              minLength: 1
          in: query
          name: tags
          required: false
          description: Tags to be included.
        - schema:
            type: array
            items:
              type: string
              minLength: 1
          in: query
          name: curators
          required: false
          description: Curators to be included.
        - schema:
            type: number
            minimum: 0
            default: 1
          in: query
          name: minUsdAssetValueThreshold
          required: false
          description: Minimum USD value of the vault to be included
        - schema:
            type: string
            pattern: ^0x[a-fA-F0-9]{40}$
          in: path
          name: userAddress
          required: true
          description: User address to be used for best vault calculation
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  requestedAddress:
                    type: string
                    pattern: ^0x[a-fA-F0-9]{40}$
                    description: Address of the user requesting the data
                  asset:
                    type: object
                    properties:
                      address:
                        type: string
                        pattern: ^0x[a-fA-F0-9]{40}$
                        description: Address of the asset
                      assetCaip:
                        type: string
                        pattern: ^eip155:\d+\/(erc20:0x[0-9a-fA-F]{40}|slip44:\d+)$
                        description: CAIP-2 of the asset
                      name:
                        type: string
                        description: Name of the asset
                      symbol:
                        type: string
                        description: Symbol of the asset
                      decimals:
                        type: integer
                        description: Number of decimals of the asset
                      assetLogo:
                        type: string
                        format: uri
                        description: URL of the asset logo
                      assetPriceInUsd:
                        type: string
                        description: Price of the asset in USD
                      assetGroup:
                        type: string
                        description: Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER
                      balanceNative:
                        type: string
                        description: Balance of the asset
                      balanceUsd:
                        type: string
                        description: USD value of the asset
                    required:
                      - address
                      - assetCaip
                      - name
                      - symbol
                      - decimals
                      - assetGroup
                      - balanceNative
                    additionalProperties: false
                    description: Requested asset details
                  vault:
                    type: object
                    properties:
                      name:
                        type: string
                        description: Name of the vault
                      vaultId:
                        type: string
                        description: Stable vault identity for API lookups and links
                      address:
                        type: string
                        pattern: ^0x[a-fA-F0-9]{40}$
                        description: Address of the vault
                      network:
                        type: object
                        properties:
                          name:
                            type: string
                            enum:
                              - mainnet
                              - optimism
                              - arbitrum
                              - polygon
                              - gnosis
                              - base
                              - unichain
                              - swellchain
                              - celo
                              - worldchain
                              - berachain
                              - ink
                              - bsc
                              - hyperliquid
                              - plasma
                              - avalanche
                              - katana
                              - linea
                              - mega-eth
                              - monad
                              - etherlink
                            description: Name of the network
                          chainId:
                            type: integer
                            description: Chain ID of the network
                          networkCaip:
                            type: string
                            pattern: ^eip155:\d+$
                            description: CAIP-2 of the network
                        required:
                          - name
                          - chainId
                          - networkCaip
                        additionalProperties: false
                        description: Network details of the vault
                      isTransactional:
                        type: boolean
                        description: >-
                          Indicates if the vault supports transactional
                          endpoints
                      isAppFeatured:
                        type: boolean
                        description: Indicates if the vault is featured in app.vaults.fyi
                      protocol:
                        type: object
                        properties:
                          name:
                            type: string
                            description: Name of the protocol
                          product:
                            type: string
                            description: Product of the protocol
                          version:
                            type: string
                            description: Version of the protocol
                          protocolUrl:
                            type: string
                            description: URL of the protocol
                          description:
                            type: string
                            description: Description of the protocol
                          protocolLogo:
                            type: string
                            description: URL of the protocol logo
                        required:
                          - name
                        additionalProperties: false
                        description: Protocol details of the vault
                      tvl:
                        type: object
                        properties:
                          usd:
                            type: string
                            description: TVL in USD
                          native:
                            type: string
                            description: Native TVL
                        required:
                          - usd
                          - native
                        additionalProperties: false
                        description: Total Value Locked (TVL) in the vault
                      tags:
                        type: array
                        items:
                          type: string
                        description: Tags associated with the vault
                      apy:
                        type: object
                        properties:
                          base:
                            type: number
                            description: Base APY
                          reward:
                            type: number
                            description: Reward APY
                          total:
                            type: number
                            description: Total APY
                        required:
                          - base
                          - reward
                          - total
                        additionalProperties: false
                        description: Annual Percentage Yield (APY) breakdown
                      projectedUsdAnnualEarnings:
                        type: string
                        description: Projected annual earnings in USD
                      lendUrl:
                        type: string
                        description: URL to lend the asset in the vault
                      protocolVaultUrl:
                        type: string
                        description: URL to the vault in the protocol
                    required:
                      - name
                      - vaultId
                      - address
                      - network
                      - isTransactional
                      - isAppFeatured
                      - protocol
                      - tvl
                      - apy
                      - projectedUsdAnnualEarnings
                    additionalProperties: false
                    description: Best vault details for the requested asset
                  errors:
                    type: object
                    properties:
                      unsupportedNetworks:
                        type: array
                        items:
                          type: string
                      unsupportedAssets:
                        type: array
                        items:
                          type: string
                      unsupportedProtocols:
                        type: array
                        items:
                          type: string
                    required:
                      - unsupportedNetworks
                      - unsupportedAssets
                      - unsupportedProtocols
                    additionalProperties: false
                required:
                  - requestedAddress
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      statusCode:
                        type: number
                      error:
                        type: string
                        enum:
                          - Bad Request
                      message:
                        type: string
                      errorId:
                        type: string
                    required:
                      - statusCode
                      - error
                      - message
                    additionalProperties: false
                  - {}
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: string
                        enum:
                          - Unauthorized
                      message:
                        type: string
                        enum:
                          - >-
                            An API key is required to access this service. Sign
                            up at https://portal.vaults.fyi/signup to generate a
                            key. We offer a Pay-As-You-Go plan so you only pay
                            for what you use, with no commitments.
                      errorId:
                        type: string
                    required:
                      - error
                      - message
                    additionalProperties: false
                  - {}
        '402':
          description: Default Response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      x402Version:
                        anyOf:
                          - type: number
                          - type: string
                      error:
                        type: string
                      resource:
                        type: object
                        properties:
                          url:
                            type: string
                          description:
                            type: string
                          mimeType:
                            type: string
                          serviceName:
                            type: string
                          tags:
                            type: array
                            items:
                              type: string
                          iconUrl:
                            type: string
                        required:
                          - url
                        additionalProperties: false
                      accepts:
                        anyOf:
                          - type: array
                            items:
                              type: object
                              properties:
                                scheme:
                                  type: string
                                  enum:
                                    - exact
                                network:
                                  type: string
                                amount:
                                  type: string
                                payTo:
                                  type: string
                                maxTimeoutSeconds:
                                  type: number
                                asset:
                                  type: string
                                extra:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                    version:
                                      type: string
                                  required:
                                    - name
                                    - version
                                  additionalProperties: false
                              required:
                                - scheme
                                - network
                                - amount
                                - payTo
                                - maxTimeoutSeconds
                                - asset
                              additionalProperties: false
                          - {}
                      extensions:
                        type: object
                        additionalProperties: {}
                    required:
                      - x402Version
                      - resource
                    additionalProperties: false
                  - {}
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: string
                        enum:
                          - Forbidden
                      message:
                        type: string
                        enum:
                          - >-
                            This API key has exhausted its available credits. To
                            resume service, please visit
                            https://portal.vaults.fyi/signup to top-up your
                            credits
                      errorId:
                        type: string
                    required:
                      - error
                      - message
                    additionalProperties: false
                  - {}
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - Not Found
                  message:
                    type: string
                required:
                  - error
                  - message
                additionalProperties: false
        '408':
          description: Default Response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      message:
                        type: string
                      errorId:
                        type: string
                    additionalProperties: false
                  - {}
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      statusCode:
                        type: number
                      error:
                        type: string
                        enum:
                          - Unprocessable Entity
                      message:
                        type: string
                      errorId:
                        type: string
                    required:
                      - statusCode
                      - error
                      - message
                    additionalProperties: false
                  - {}
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: string
                        enum:
                          - Internal Server Error
                      message:
                        type: string
                      errorId:
                        type: string
                    required:
                      - error
                      - message
                    additionalProperties: false
                  - {}
        '503':
          description: Default Response
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      statusCode:
                        type: number
                      error:
                        type: string
                        enum:
                          - Service Unavailable
                      message:
                        type: string
                      errorId:
                        type: string
                    required:
                      - statusCode
                      - error
                      - message
                    additionalProperties: false
                  - {}
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: x-api-key
      in: header

````