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

# Stable Currency Sub-Wallet

> Manage stable currency wallets for sub-accounts created under a business.

## Overview

A **sub-wallet** is a stable currency wallet that belongs to a sub-account created by a business, rather than to the business's own account. The business is the **authorizer** of the sub-wallet and is the only party that can view or act on it — a sub-account can only be accessed by the parent that created it.

<Note>
  Before creating a sub-wallet, the business must first create a sub-account via `POST /sub-account`. See the [Sub-Account](/guides/sub-account) documentation for details. The `subAccountId` returned from that call is required for every endpoint below.
</Note>

**Supported networks:** `polygon`, `arbitrum`, `base`, `tron`, `solana`

**Supported tokens:** `USDT`, `USDC`

***

## Create Sub-Wallet

<Note>
  Each sub-account can only have one wallet. Calling this endpoint when a wallet already exists returns a `409` error.
</Note>

**Endpoint**

```text theme={null}
POST /stable-currency/sub-accounts/:subAccountId/wallet
```

**Path Parameters**

| Parameter      | Type     | Required | Description                                                      |
| -------------- | -------- | -------- | ---------------------------------------------------------------- |
| `subAccountId` | `string` | ✓        | ID of the sub-account, returned when the sub-account was created |

**Response**

```json theme={null}
{
    "success": true,
    "data": {
        "id": "6a60cb7e318a85d918e36c8f",
        "userId": "6a60cb655a95c27344304053",
        "type": "SUB_ACCOUNT",
        "parentId": "6914b8de530486c362268f77",
        "address": "0x62bf74e29c9bad9238594e28867f53a3b7baefe5",
        "tronAddress": "TLyLDFec8xCnttZxTWYPcaNsWDeemvHjsp",
        "solanaAddress": "3QqtRfJeUL9Lm1dY6QBYTUMk8a4zgHMfYkcTcraNxyRi",
        "createdAt": "2026-07-22T13:54:06.234Z",
        "updatedAt": "2026-07-22T13:54:06.234Z"
    },
    "message": "Wallet created successfully"
}
```

* `type` is `SUB_ACCOUNT` for every sub-wallet.
* `parentId` is the ID of the business account that created and authorizes the sub-account.
* `address` is used for EVM-compatible networks (`polygon`, `arbitrum`, `base`).
* `tronAddress` is used for the `tron` network.
* `solanaAddress` is used for the `solana` network.

***

## Get Balance

**Endpoint**

```text theme={null}
GET /stable-currency/sub-accounts/:subAccountId/balance
```

Returns the same response shape as the main wallet [Get Balance](/guides/stable-wallets#get-balance) endpoint — token balances for all network/token pairs, plus a `totalBalance` summary per token.

***

## Withdraw

**Endpoint**

```text theme={null}
POST /stable-currency/sub-accounts/:subAccountId/withdraw
```

Initiates an on-chain token transfer from the sub-account's wallet to an external address. Same request body and response shape as the main wallet [Withdraw](/guides/stable-wallets#withdraw) endpoint.

<Warning>
  A fee is deducted from every withdrawal. The `fee` amount is returned in the response and is charged in addition to the withdrawal `amount`.
</Warning>

***

## Transaction History

**Endpoint**

```text theme={null}
GET /stable-currency/sub-accounts/:subAccountId/transactions
```

Same query parameters and response shape as the main wallet [Transaction History](/guides/stable-wallets#transaction-history) endpoint, scoped to the sub-account.

***

## Get Single Transaction

**Endpoint**

```text theme={null}
GET /stable-currency/sub-accounts/:subAccountId/transaction/:transactionId
```

Same response shape as the main wallet [Get Single Transaction](/guides/stable-wallets#get-single-transaction) endpoint.

***

## Funding in Test Environments

<Note>
  There is no dev-fund endpoint for sub-account wallets. To simulate a deposit in a non-production environment, withdraw from your own main wallet to the sub-account's address on the desired network (using the fund-dev flow on the main wallet first, if you need test tokens to withdraw).
</Note>

***

## Access Control

A sub-wallet can only be viewed or acted on by the business (parent account) that created its sub-account. Requests scoped to a `subAccountId` that does not belong to the authenticated business return an authorization error.
