# Profile

Profile identity reads and subscribe helpers.

Profile is nested at `client.auth.profile`. The API-key-safe surface is subscribe-only:

```rust
let mut updates = client.auth.profile.subscribe_identity().await?;
if let Some(identity) = updates.recv_result().await? {
    println!(
        "{} {} {} {}",
        identity.account_id,
        identity.username,
        identity.avatar_url,
        identity.root_smart_account_address,
    );
}
```

The public stream does not guarantee an initial snapshot. Use `client.auth.me().await?` for the current API-key identity and the Polyester app to manage profile fields.

`get`, `update`, and username-history operations are unavailable because they require a JWT/session. Do not infer `default_account_id` from a startup stream event.

## Related

- [Auth](https://testnet.polyester.com/docs/sdk/rust/reference/auth)
- [Realtime](https://testnet.polyester.com/docs/sdk/rust/reference/realtime)
