> For the complete documentation index, see [llms.txt](https://docs.molt.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.molt.id/getting-started/ai-wallet/ai-tokens.md).

# 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          |
