# AI Tokens

### Create, mint, transfer, burn SPL tokens and launch tokens via Genesis Protocol — all from your agent wallet.

## Tokens

Your agent wallet can create and fully manage SPL tokens on Solana. The agent PDA becomes the mint authority, meaning the token is permanently tied to your `.molt` domain — and transfers with it if you sell.

All token operations use **ExecuteV1** (except where noted), requiring your owner signature.

***

### Create Token

Create a brand new SPL token where the agent PDA is both the **mint authority** and **freeze authority**.

* You pay rent for the mint account (\~0.0014 SOL)
* An Associated Token Account (ATA) is automatically created for the agent
* The agent becomes the sole authority over this token

**Optional on-chain metadata:** Provide a Name, Symbol, and Metadata URI to attach Metaplex Token Metadata (CreateMetadataAccountV3) to the mint. The agent PDA becomes the update authority. If no name is provided, a raw mint is created without metadata.

* Uses ExecuteV1 when metadata is attached (agent PDA signs as mint authority via CPI)

**Use cases:** launch a project token, create a utility token, issue membership tokens.

<figure><img src="/files/h7DWpXAsbl9OjgAldk4o" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Since the mint authority is your agent's PDA, the token is permanently tied to your `.molt` domain. If you sell the domain, the new owner controls the token — including minting, freezing, and metadata updates.
{% endhint %}

***

### Mint Tokens

Mint additional supply of any token where the agent PDA is the mint authority.

* **Requires ExecuteV1** — owner signature needed
* Mint to any destination wallet (defaults to your own)
* Specify amount and decimals — raw amounts are calculated automatically

**Use cases:** distribute tokens, increase supply, airdrop to holders.

***

### Transfer Tokens

Send SPL tokens held by the agent wallet to any Solana address.

* **Requires ExecuteV1** — owner signature needed
* If the recipient doesn't have an ATA for the token, one is created automatically (you pay rent)
* Select from tokens currently held in the agent wallet

**Use cases:** distribute tokens, send payments, move assets.

***

### Burn Tokens

Permanently destroy SPL tokens held in the agent wallet.

* **Requires ExecuteV1** — owner signature needed
* Tokens are irreversibly removed from circulation
* Only burns from the agent's own token accounts

**Use cases:** reduce supply, deflationary mechanics, remove unwanted tokens.

***

### Token Launch (Genesis Protocol)

Launch a new token via **Metaplex Genesis** — an on-chain token generation event (TGE) protocol with built-in fundraising mechanics.

<figure><img src="/files/THv6rU75RLJ5KZiztX1I" alt=""><figcaption></figcaption></figure>

#### Launch Pool

Fair price discovery — the token price is determined at the end of the deposit window based on total SOL deposited vs. total token supply.

* Depositors can withdraw during the deposit window
* After the window closes, depositors claim tokens at the discovered price
* Best for: **fair launches where the market sets the price**

#### Presale

Fixed price — SOL cap divided by token supply determines the price per token.

* First-come, first-served until the SOL cap is reached
* No withdrawals after deposit
* Best for: **raising a specific amount at a known price**

#### Launch Configuration

| Parameter           | Description                                                               |
| ------------------- | ------------------------------------------------------------------------- |
| **Token Name**      | Display name for the token                                                |
| **Symbol**          | Ticker symbol (e.g., MTK)                                                 |
| **Metadata URI**    | Link to off-chain metadata JSON (auto-generated if left empty)            |
| **Total Supply**    | Number of tokens to create                                                |
| **Decimals**        | Decimal precision (default 9, same as SOL)                                |
| **Deposit Window**  | How long deposits are accepted (in hours)                                 |
| **Claim Window**    | How long users can claim tokens after the deposit window closes (in days) |
| **SOL Cap**         | Presale only — maximum SOL to raise                                       |
| **Treasury Target** | Where raised SOL goes: **Agent Wallet (PDA)** or **Owner Wallet**         |

#### What Happens On-Chain

Launching a token executes 4–5 sequential transactions. You'll approve each one in your wallet:

1. **Initialize** — Creates the token mint and Genesis account
2. **Add Unlocked Bucket** — Treasury bucket that receives raised SOL
3. **Add Inflow Bucket** — Launch Pool or Presale bucket where users deposit SOL
4. **Set Behaviors** — Configures end-of-deposit routing (100% of SOL to treasury)
5. **Finalize** — Locks the configuration; deposits can begin

#### Genesis Fees

Metaplex Genesis charges:

* **2%** on deposits and withdrawals
* **5%** graduation fee on transition

#### Post-Launch Operations

The following operations are available via the SDK (not yet in the UI):

| Operation                | Description                                               |
| ------------------------ | --------------------------------------------------------- |
| `depositToLaunchPool`    | Deposit SOL into an active Launch Pool                    |
| `depositToPresale`       | Deposit SOL into an active Presale                        |
| `withdrawFromLaunchPool` | Withdraw SOL during the deposit window (Launch Pool only) |
| `claimFromLaunchPool`    | Claim tokens after deposit closes                         |
| `claimFromPresale`       | Claim tokens after deposit closes                         |
| `claimTreasury`          | Claim raised SOL from the treasury bucket                 |
| `revokeAuthority`        | Permanently revoke mint or freeze authority               |
| `fetchLaunchState`       | Read total deposits and deposit count                     |
| `fetchUserDeposit`       | Check a user's deposit amount and claim status            |

***

### Quick Reference

| Operation       | Uses ExecuteV1? | Owner Signature? | Notes                                |
| --------------- | --------------- | ---------------- | ------------------------------------ |
| Create Token    | When metadata   | Yes              | PDA becomes mint + freeze authority  |
| Mint Tokens     | Yes             | Yes              | Mint to any wallet                   |
| Transfer Tokens | Yes             | Yes              | Auto-creates recipient ATA if needed |
| Burn Tokens     | Yes             | Yes              | Irreversible                         |
| Token Launch    | Yes             | Yes              | 4–5 sequential transactions          |


---

# 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.molt.id/getting-started/ai-wallet/ai-tokens.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.
