# token.list() [[Source]](https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/verticals/token.ts#L72) List the MPTs an account holds or issued. ## Signature ```ts token.list( params?: TokenListParams ): Promise ``` ## Parameters | Parameter | Type | Required | Description | | --- | --- | --- | --- | | `role` | `'holder' | 'issuer'` | No | List tokens the account holds or issued. Defaults to tokens held if omitted. | | `account` | `string` | No | The account to query. Defaults to the primary signer's account. | ## Returns Resolves to a `TokenListResult`, where `tokens[i]` corresponds to `data[i]`: | Field | Type | Description | | --- | --- | --- | | `tokens` | `readonly string[]` | The MPT issuance id of each token. | | `data` | `readonly TokenListEntry[]` | The shaped entries. | ### TokenListEntry | Field | Type | Description | | --- | --- | --- | | `tokenID` | `string` | The MPT issuance id. | | `balance` | `string` *(optional)* | The account's balance (present for `role: 'holder'`). | | `issuance` | `TokenData` *(optional)* | The full issuance snapshot (present for `role: 'issuer'`). See [token.retrieve](/docs/simplexrpl/references/verticals/token/retrieve#tokendata) for `TokenData`. | ## Underlying XRPL request Read-only — no signer is required and nothing is submitted. Queries the ledger with [account_objects](https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/account-methods/account_objects). ## Example ```ts const { data } = await client.token.list({ role: 'holder' }) for (const entry of data) { console.log(entry.tokenID, entry.balance) } ```