# Getting account information

## Read accountId

You can get the currently signed-in accountId with the following code example

```javascript
let currentAccountId = window.nearFiWallet.getAccountId()                
```

## Get account instance

```javascript
let accountInstance = window.nearFiWallet.account()                
```

## Utilizing the account instance

### Get networkId & RPC&#x20;

```javascript
let networkId = accountInstance.connection.networkId    
let rpcURL = accountInstance.connection.provider.connection.url                
```

### Get account NEAR balance

The object returned in the following code is an object typed\
nearBalance is an object typed as&#x20;

```javascript
interface AccountBalance {
    total: string;
    stateStaked: string;
    staked: string;
    available: string;
}
```

```javascript
let nearBalance = await accountInstance.getAccountBalance()
```

### Get account state

```javascript
let accountState = await accountInstance.state()
```

`accountState` has the following fields

```javascript
{
    amount: string; 
    locked: string; 
    code_hash: string; 
    storage_usage: number; 
    storage_paid_at: BlockHeight;
}
```

### Call view functions of contracts

```javascript
let result = await accountInstance.viewFunction(<contractId>, <method name>,<arguments>)

let result = await accountInstance.viewFunction("math.testnet", "add",{a: 0, b: 0})
```
