# RetrieveUser

{% hint style="info" %}
This function does not trigger any UI elements
{% endhint %}

## Description

This function retrieves information about the currently logged in user. The fields returned include the userIdentifier, the user's wallet addresses, and the wallet balances.

## Details

### Signature

```csharp
Task<dynamic> RetrieveUser()
```

### Arguments

This function has no arguments

### Return Value

This function returns the following object:

```json
{
    "userIdentifier":"userIdentifier",
    "balances": {
        "goerli_eth": {
            "accountBalances": [
                {
                    "address": "address1",
                    "balance": "balance1",
                },
            ],
            "totalBalance": "totalBalance",
        },
        "asset_2": {
            ...
        }
    },
    "chainWallets": {
        "goerli": [
            "address1",
            ...
        ],
        "chain2": [
            ...
        ]
        ...
    }
}
```

## Example

{% code overflow="wrap" lineNumbers="true" %}

```csharp
using System;
using Metafi.Unity;

public class GameManager : MonoBehaviour {
    public async void Start(){
        var res = await MetafiProvider.Instance.RetrieveUser();
        Debug.Log("RetrieveUser complete, result: " + res.ToString());
    }
}
```

{% endcode %}

And voila! Your token will now be accessible throughout the wallet.
