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

# Mint tokens to stakeholder wallets

> Allocate SPL tokens from a tokenized share class to stakeholder Solana wallets, with support for vesting and multiple entry points.

Minting sends SPL tokens from a tokenized share class's on-chain mint to a stakeholder's Solana wallet. Each token represents one share unit. After minting, the transaction is recorded with a hash you can verify on the Solana explorer — giving the stakeholder cryptographic proof that their tokens have been delivered on-chain.

## How Launchboard resolves a stakeholder's wallet

Launchboard determines the destination wallet for each stakeholder in this order:

1. **Saved Solana wallet address** — the address entered directly on the stakeholder's profile.
2. **OASIS avatar** — if the stakeholder has an OASIS account linked, Launchboard looks up the Solana wallet associated with that avatar.

If neither is available, minting will not proceed for that stakeholder. Make sure each stakeholder has a wallet address set before you attempt to mint.

## Three ways to mint

| Path                             | How to access                                                  | Approval required?                                                                | Vesting-aware?                                     |
| -------------------------------- | -------------------------------------------------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------- |
| **Securities table → Mint**      | Cap Table → Securities → click **Mint** on a row               | Yes — security must have a linked approval with status **Approved** or **Locked** | Yes — mints the cliff/currently-vested amount only |
| **Issue Shares / Issue Options** | Transactions → Issue Shares or Issue Options                   | No                                                                                | No — mints full quantity immediately               |
| **Tokenize from Document**       | Dataroom → open a signed, merged document → click **Tokenize** | No                                                                                | No — mints full quantity immediately               |

Use the **Securities table** path for securities that came from signed documents or went through an approval workflow. Use **Issue Shares** or **Issue Options** when you want to create a new security and mint tokens in one step. Use **Tokenize from Document** to mint directly after a document is signed and merged.

## Minting via the Securities table

This is the most common path for securities that already exist in your cap table.

<Steps>
  <Step title="Confirm the share class is tokenized">
    The security's share class must be tokenized before minting is possible. If it is not, tokenize the class first — see [Tokenize a share class](/tokenization/tokenize-share-class).
  </Step>

  <Step title="Confirm the security has a linked approval">
    Navigate to **Cap Table → Securities** and find the security row. It must have an approval linked with a status of **Approved** or **Locked**. If no approval is linked, or if the approval is still pending, minting will be blocked.

    <Tip>
      To lock an approval, go to **Governance → Approvals**, open the request, confirm all steps show **Approved**, then click **Lock Approval**. The status will update to **Locked**.
    </Tip>
  </Step>

  <Step title="Confirm the stakeholder has a wallet address">
    Open the stakeholder's profile and verify that a Solana wallet address is saved, or that they have an OASIS avatar linked.
  </Step>

  <Step title="Click Mint on the security row">
    In the Securities table, click **Mint** on the row for the security you want to tokenize. Launchboard sends the tokens to the stakeholder's wallet and records the transaction hash on the security.
  </Step>

  <Step title="Verify the mint succeeded">
    A success notification will appear. The security record is updated with an on-chain transaction hash (visible in the security details). Copy that hash and paste it into the [Solana explorer](https://explorer.solana.com) to confirm the tokens arrived.
  </Step>
</Steps>

## Vesting and minting

When a security has a vesting schedule, Launchboard does not mint the full grant quantity upfront.

* **Initial mint** — only the cliff amount or the currently-vested quantity is minted at the time you click **Mint**.
* **Ongoing vesting** — as additional shares vest, Launchboard mints the newly vested tokens automatically on a daily basis. You do not need to trigger these subsequent mints manually.
* **Tracking** — the security record keeps a running count of how many tokens have been minted so far. You can see this in the security details.

<Note>
  The Issue Shares and Issue Options paths, and Tokenize from Document, mint the full quantity immediately regardless of vesting terms. Vesting-aware minting applies only to the Securities table → Mint path.
</Note>

## Verifying an on-chain mint

After a successful mint, Launchboard stores a transaction hash on the security record. To verify:

1. Open the security in **Cap Table → Securities** and copy the transaction hash.
2. Go to [explorer.solana.com](https://explorer.solana.com) (switch to the correct cluster — devnet or mainnet — depending on your organization's setup).
3. Paste the transaction hash into the search bar to see the on-chain record.

## Troubleshooting

**Mint button is not available.**
The security does not yet have a linked approval with status Approved or Locked. Link an approved request to the security, or use Issue Shares / Issue Options to mint without an approval gate.

**Minting failed — no wallet found.**
The stakeholder does not have a Solana wallet address saved on their profile and has no OASIS avatar linked. Add a wallet address to their stakeholder profile and try again.

**Share class not tokenized.**
You cannot mint from an untokenized share class. Tokenize the class first, then return to this step.
