# Wallets

Our wallets system allows developers to interact with a player's owned (or delegated) tokens. `BP_ODK_WalletWorldService` and `BPMC_ODK_WalletComponent` are the main classes you may need to interact with.

`BPMC_ODK_WalletComponent` can provide you with the WalletAddress fo the player.\
`BP_ODK_WalletWorldService` can be for most functionality regarding tokens.&#x20;

For any wallet that's associated with a user's account, we automatically listen for all tokens within the wallet, and store those details within the `BP_ODK_WalletWorldService` . Any dynamic changes are also tracked at runtime, and you can bind to the following events to respond to token changes:

* `OnTokenAdded`
* `OnTokenRemoved`
* `OnTokenBalanceUpdated`

For more sophisticate token handling, it's recommend that you utilize [Wallet Views](https://docs.otherside.xyz/documentation/odk-plugin/wallets/wallet-views).
