# Usage without UI

If you don't want to use the pre-built react UI components, we also expose a core package that you can use with your custom UI.

### Installation

```bash
yarn add @leapwallet/embedded-wallet-sdk-core
```

### Usage

#### User Balances

You can use the `fetchBalance` function to balances of a wallet

```typescript
const result = await fetchBalance(restUrl, address, params)
```

**Parameters -**

1. `restUrl` - base URL of the node
2. `address` - wallet address
3. `params` (optional) -&#x20;

```typescript
const params = {
    pagination: {
        limit: 1000, // results per page
        key: '' // key for pagination
    }
}
```

**Return Value -**

A list of object of the following type

```typescript
{
  denom: string;
  amount: string;
}
```

#### User Transactions

You can use the `fetchTransactions` function

```typescript
// specify if the address was the sender or the recipeint of the transactions
const transfer: 'sender' | 'receipient' = 'sender'

const result = fetchTransactions(
  restUrl,
  address,
  {
    pagination: {
      limit: 100,
      offset: 0,
    },
    transfer,
  }
);
```

**Parameters -**

* `restUrl` - base URL of the node
* `address` - wallet address
* `params` - pagination and related parameters

**Return Value -**

The return value is an object with two properties -

1. total - the total number of transactions for this address
2. transactions - the list of transactions on the current page (pagination)

```typescript
{
    total: number;
    transactions: unknown[];
}
```
