> 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/read-methods.md).

# Read Methods

#### Vault Metadata

Retrieve basic configuration for any vault:

```tsx
const name = await client.name({ vault: "0xVaultAddress" });
const symbol = await client.symbol({ vault: "0xVaultAddress" });
const decimals = await client.decimals({ vault: "0xVaultAddress" });
const asset = await client.asset({ vault: "0xVaultAddress" });
```

#### Vault State

Read the current operational state of the vault:

```tsx
const totalAssets = await client.totalAssets({ vault: "0xVaultAddress" });
const unvested = await client.getUnvestedAmount({ vault: "0xVaultAddress" });
const cooldownDuration = await client.cooldownDuration({ vault: "0xVaultAddress" });
const vestingPeriod = await client.vestingPeriod({ vault: "0xVaultAddress" });
```

#### User State

Read a specific user's balance and cooldown status. If `owner` is omitted, the client uses the connected wallet.

```tsx
const balance = await client.balanceOf({
  vault: "0xVaultAddress",
  owner: "0xUserAddress",
});

// Returns { cooldownEnd, lockedAmount }
const cooldownInfo = await client.cooldowns({
  vault: "0xVaultAddress",
  owner: "0xUserAddress",
});
```
