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

# Account — Account & Wallet

> Account & Wallet API — NESO balance, currencies, collection, items, and characters.

<Note>
  For authentication, error codes, pagination, and common types, refer to the [MSU OpenAPI Builder Guide](https://docs.msu.io/msu-open-api/ai-assistant/msu-openapi-builder-guide).
</Note>

***

#### `GetNeso` — Get NESO Balance

```text theme={null}
GET /v1rc1/accounts/{walletAddress}/neso
```

Returns the on-chain and off-chain NESO balance of a wallet.

**Path Parameters**

| Parameter       | Type   | Description             |
| --------------- | ------ | ----------------------- |
| `walletAddress` | string | Wallet address to query |

**Response `data`**

| Field          | Type   | Description                        |
| -------------- | ------ | ---------------------------------- |
| `offchainNeso` | string | Off-chain (in-game) NESO balance   |
| `onchainNeso`  | string | On-chain (blockchain) NESO balance |

**Common Errors**

| code | Description                    |
| ---- | ------------------------------ |
| `3`  | `walletAddress` does not exist |

***

#### `ListCurrency` — List Currencies

```text theme={null}
GET /v1rc1/accounts/{walletAddress}/currencies
```

Returns the list of internally defined currencies and their balances linked to the wallet.

**Path Parameters**

| Parameter       | Type   | Description             |
| --------------- | ------ | ----------------------- |
| `walletAddress` | string | Wallet address to query |

**Response `data`**

| Field      | Type        | Description        |
| ---------- | ----------- | ------------------ |
| `currency` | Currency\[] | List of currencies |

**Currency Object**

| Field    | Type   | Description   |
| -------- | ------ | ------------- |
| `code`   | string | Currency code |
| `name`   | string | Currency name |
| `amount` | string | Balance       |

***

#### `ListCollection` — List Collection

```text theme={null}
GET /v1rc1/accounts/{walletAddress}/collection
```

Returns the list of NFT assets (collection) held by the wallet. Uses scroll pagination with a maximum of 200 items per page.

**Path Parameters**

| Parameter       | Type   | Description             |
| --------------- | ------ | ----------------------- |
| `walletAddress` | string | Wallet address to query |

**Query Parameters**

| Parameter                  | Type    | Description                           |
| -------------------------- | ------- | ------------------------------------- |
| `paginationParam.lastKey`  | string  | Scroll cursor (omit on first request) |
| `paginationParam.pageSize` | integer | Page size (1–200, default 10)         |

**Response `data`**

| Field                         | Type                 | Description                   |
| ----------------------------- | -------------------- | ----------------------------- |
| `collection`                  | CollectionElement\[] | List of collection items      |
| `paginationResult.totalCount` | integer              | Total count                   |
| `paginationResult.pageSize`   | integer              | Page size                     |
| `paginationResult.lastKey`    | string               | Next page cursor              |
| `paginationResult.isLastPage` | boolean              | Whether this is the last page |

**CollectionElement Object**

| Field       | Type    | Description                        |
| ----------- | ------- | ---------------------------------- |
| `assetKey`  | string  | Internal asset identifier          |
| `tokenId`   | string  | NFT token ID (empty if not minted) |
| `itemId`    | integer | Item meta ID                       |
| `mintingNo` | integer | Minting number                     |

***

#### `ListWalletItems` — List Wallet Items

```text theme={null}
GET /v1rc1/accounts/{walletAddress}/items
```

Returns the list of items held by the wallet. Uses cursor pagination with a fixed page size of 10.

**Path Parameters**

| Parameter       | Type   | Description             |
| --------------- | ------ | ----------------------- |
| `walletAddress` | string | Wallet address to query |

**Query Parameters (optional)**

| Parameter    | Type    | Description                            |
| ------------ | ------- | -------------------------------------- |
| `cursor`     | string  | Cursor (omit on first request)         |
| `categoryNo` | integer | Filter by item category number         |
| `isOnSale`   | boolean | Filter to items currently on sale only |
| `tokenName`  | string  | Search by item name (partial match)    |
| `tokenId`    | string  | Filter by specific token ID            |

**Response `data`**

| Field        | Type              | Description                  |
| ------------ | ----------------- | ---------------------------- |
| `elements`   | NftItemElement\[] | List of items                |
| `nextCursor` | string            | Next page cursor             |
| `hasMore`    | boolean           | Whether there is a next page |

**NftItemElement Object**

| Field                         | Type             | Description                                |
| ----------------------------- | ---------------- | ------------------------------------------ |
| `assetKey`                    | string           | Internal asset identifier                  |
| `tokenType`                   | TokenType        | Token type (`NFT_ITEM`, `FT_ITEM`, etc.)   |
| `category`                    | Category         | Category information                       |
| `owner.walletAddress`         | string           | Owner's wallet address                     |
| `nftItem.itemName`            | string           | Item name                                  |
| `nftItem.itemId`              | integer          | Item meta ID                               |
| `nftItem.starforce`           | integer          | Starforce enhancement level                |
| `nftItem.potentialGrade`      | integer          | Potential grade                            |
| `nftItem.bonusPotentialGrade` | integer          | Additional potential grade                 |
| `nftItem.enableStarforce`     | boolean          | Whether Starforce enhancement is available |
| `nftItem.maxStarforce`        | integer          | Maximum Starforce level                    |
| `nftItem.enablePotential`     | boolean          | Whether Potential can be set               |
| `nftItem.enableExtraOption`   | boolean          | Whether extra option can be set            |
| `nftItem.isMinted`            | boolean          | Whether minted                             |
| `nftItem.tokenId`             | string           | NFT token ID                               |
| `nftItem.mintingNo`           | integer          | Minting number                             |
| `nftItem.isSbt`               | boolean          | Whether SBT (Soul Bound Token)             |
| `nftItem.location`            | Location         | Item location                              |
| `nftItem.usageStatus`         | ItemUsageStatus  | Item usage status                          |
| `nftItem.imageUrl`            | string           | Item image URL                             |
| `updatedAt`                   | string (ISO8601) | Last updated time                          |
| `createdAt`                   | string (ISO8601) | Creation time                              |

**ItemUsageStatus Values**

| Value                                      | Description                       |
| ------------------------------------------ | --------------------------------- |
| `ItemUsageStatus_Unknown` (0)              | Unknown                           |
| `ItemUsageStatus_Tradable` (1)             | Tradable                          |
| `ItemUsageStatus_OnSale` (2)               | On sale                           |
| `ItemUsageStatus_InGameUse` (3)            | In use in-game                    |
| `ItemUsageStatus_Burned` (4)               | Burned                            |
| `ItemUsageStatus_Abandoned` (5)            | Abandoned (moved to trash wallet) |
| `ItemUsageStatus_SBT` (6)                  | SBT                               |
| `ItemUsageStatus_InGameExchangeShop` (7)   | Held in in-game exchange shop     |
| `ItemUsageStatus_CollectionRegistered` (8) | Registered in collection          |
| `ItemUsageStatus_FusionDeposited` (9)      | Deposited in Fusion basket        |
| `ItemUsageStatus_Enhancing` (10)           | Under enhancement                 |

**Location Values** (`nftItem.location` — for items in character inventory)

| Value                             | Description         |
| --------------------------------- | ------------------- |
| `Location_Anywhere` (0)           | Any location        |
| `Location_WalletInventory` (1)    | Wallet inventory    |
| `Location_CharacterInventory` (2) | Character inventory |
| `Location_Etc` (3)                | Other               |

***

#### `ListCharacters` — List Characters

```text theme={null}
GET /v1rc1/accounts/{walletAddress}/characters
```

Returns the list of characters linked to the wallet address. Uses cursor pagination with a fixed page size of 10.

**Path Parameters**

| Parameter       | Type   | Description             |
| --------------- | ------ | ----------------------- |
| `walletAddress` | string | Wallet address to query |

**Query Parameters (optional)**

| Parameter    | Type    | Description                        |
| ------------ | ------- | ---------------------------------- |
| `cursor`     | string  | Cursor (omit on first request)     |
| `isTradable` | boolean | Filter to tradable characters only |

**Response `data`**

| Field        | Type                | Description                  |
| ------------ | ------------------- | ---------------------------- |
| `characters` | CharacterElement\[] | List of characters           |
| `nextCursor` | string              | Next page cursor             |
| `hasMore`    | boolean             | Whether there is a next page |

**CharacterElement Object**

| Field              | Type            | Description                       |
| ------------------ | --------------- | --------------------------------- |
| `name`             | string          | Character name                    |
| `assetKey`         | string          | Internal character identifier     |
| `tokenId`          | string          | NFT token ID (null if not minted) |
| `categoryNo`       | integer         | Category number                   |
| `data.classCode`   | integer         | Class code                        |
| `data.jobCode`     | integer         | Job code                          |
| `data.level`       | integer         | Level                             |
| `data.world`       | integer         | World code                        |
| `data.expr`        | string          | Experience percentage             |
| `data.imageUrl`    | string          | Character image URL               |
| `data.combatPower` | integer (int64) | Combat power                      |

***
