> For the complete documentation index, see [llms.txt](https://city-protocol.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://city-protocol.gitbook.io/docs/software-development-kit/vault/portfolio-sdk/recommended-portfolio-composition.md).

# Recommended Portfolio Composition

For the best user experience, we recommend splitting portfolio data into two sources:

* **Subgraph data (`CityPortfolioClient`)** for transaction history, vault lists, and historical TVL charts.
* **On-chain reads (`CityClient`)** for live share balances (`balanceOf`), withdrawable assets (`maxWithdraw`), and active cooldown states.
