> ## Documentation Index
> Fetch the complete documentation index at: https://docs.handcash.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet operations

> Get balance, transaction history, and pay from embedded wallets

Wallet endpoints live under `/v1/waas/wallet/*`. Every call must be **[signed](/wallet-api/request-signing)** with the user’s access private key, plus `app-id` and `app-secret`.

## Get deposit info

```http theme={null}
GET /v1/waas/wallet/depositInfo
```

Signed `GET` with empty body. Response includes paymail, alias, and deposit address fields (see OpenAPI `wallet-depositInfoSchema`).

## Get wallet balance

```http theme={null}
GET /v1/waas/wallet/balances
```

Signed `GET`. Returns spendable balances (BSV, MNEE, fiat equivalents per OpenAPI).

## Make a payment

```http theme={null}
POST /v1/waas/wallet/pay
```

Signed `POST`. Request body matches Connect-style payments (`instrumentCurrencyCode`, `receivers`, `description`, etc.) — see **Wallet API** → `POST /v1/waas/wallet/pay` in [cloud.handcash.io/sdk-docs](https://cloud.handcash.io/sdk-docs/).

```javascript theme={null}
const body = JSON.stringify({
  instrumentCurrencyCode: 'BSV',
  denominationCurrencyCode: 'USD',
  description: 'Order #1234',
  receivers: [{ destination: 'merchant_handle', sendAmount: 1.0 }],
});
const pathname = '/v1/waas/wallet/pay';

await fetch(`https://cloud.handcash.io${pathname}`, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'app-id': process.env.HANDCASH_APP_ID,
    'app-secret': process.env.HANDCASH_APP_SECRET,
    ...signWaasRequest({
      method: 'POST',
      pathname,
      body,
      accessPrivateKeyHex: process.env.USER_ACCESS_PRIVATE_KEY,
    }),
  },
  body,
});
```

## Transaction history

```http theme={null}
GET /v1/waas/wallet/transactions
GET /v1/waas/wallet/transaction
```

Signed `GET` calls. Query parameters and filters are defined in the OpenAPI spec.

## Self-custody variant

If you registered a wallet with `POST /v1/waas/account/selfCustodial`, use `/v1/waas/wallet/selfCustody/*` with the **`wallet-xpub`** header instead of OAuth signing. See the OpenAPI **Wallet API** tag for those paths.
