# Token

The Token module, which can issue new tokens.

### Overview

#### Issue a new token

```go
type MsgIssueToken struct {
	Name         Name           `json:"name"`
	Symbol       Symbol         `json:"symbol"`
	TotalSupply  sdk.Int        `json:"total_supply"`
	Mintable     bool           `json:"mintable"`
	OwnerAddress sdk.AccAddress `json:"owner_address"`
}
```

A new token can be issued by the transaction message above. Anyone can issue a new token with fee paid.

Each field in the message has the following limits:

**`Name`**

A human-friendly name, limited to 32 characters, such as `Hello Token`.

**`Symbol`**

An identifier of the token, limited to alphanumeric characters and is case-insensitive, such as `KAI`. The first letter must be an alphabet character. The length of symbol should be between 3 and 13.

The symbol doesn't have to be unique. `-` followed by random 3 letters will be appended to the provided symbol to avoid uniqueness constraint. For example, `KAI-0EA`. Those 3 letters are the first three letters of the Tx hash of the `issue` transaction. So, the total length of the generated symbol will be between 7 and 17. The generated symbol will be returned as a Tx response.

**`TotalSupply`**

An amount of the total supply in micro unit (by 1e6 for decimal part). The max total supply is 90 billion.

**`Mintable`**

That means whether this token can be minted in the future.

**`OwnerAddress`**

An issuer address of the transaction. It will become the owner of the token. All supplied tokens will be in this account.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gopanacea.org/v2.0/specifications/token.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
