> ## Documentation Index
> Fetch the complete documentation index at: https://luminouslabs-cc5545c6-swen-add-code-runner.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Mint tokens to a Light-ATA in under 3 minutes.

<Steps>
  <Step>
    ## Prerequisites

    <Accordion title="Installations">
      <Tabs>
        <Tab title="npm">
          Install packages in your working directory:

          ```bash theme={null}
          npm install @lightprotocol/stateless.js@alpha \
                      @lightprotocol/compressed-token@alpha
          ```

          Install the CLI globally:

          ```bash theme={null}
          npm install -g @lightprotocol/zk-compression-cli@alpha
          ```
        </Tab>

        <Tab title="yarn">
          Install packages in your working directory:

          ```bash theme={null}
          yarn add @lightprotocol/stateless.js@alpha \
                   @lightprotocol/compressed-token@alpha
          ```

          Install the CLI globally:

          ```bash theme={null}
          yarn global add @lightprotocol/zk-compression-cli@alpha
          ```
        </Tab>

        <Tab title="pnpm">
          Install packages in your working directory:

          ```bash theme={null}
          pnpm add @lightprotocol/stateless.js@alpha \
                   @lightprotocol/compressed-token@alpha
          ```

          Install the CLI globally:

          ```bash theme={null}
          pnpm add -g @lightprotocol/zk-compression-cli@alpha
          ```
        </Tab>
      </Tabs>
    </Accordion>

    ```bash theme={null}
    # Start local test-validator in separate terminal
    light test-validator
    ```
  </Step>

  <Step>
    ## Mint Tokens to Light-ATA

    ```typescript theme={null}
    import { Keypair } from "@solana/web3.js";
    import { createRpc } from "@lightprotocol/stateless.js";
    import {
      createMintInterface,
      createAtaInterface,
      mintToInterface,
      getAssociatedTokenAddressInterface,
    } from "@lightprotocol/compressed-token";

    async function main() {
      const rpc = createRpc();
      const payer = Keypair.generate();
      await rpc.requestAirdrop(payer.publicKey, 10e9);

      const { mint } = await createMintInterface(
        rpc,
        payer,
        payer,
        null,  // freezeAuthority
        9,     // decimals
      );

      const recipient = Keypair.generate();
      await createAtaInterface(rpc, payer, mint, recipient.publicKey);

      const destination = getAssociatedTokenAddressInterface(mint, recipient.publicKey);

      const txSignature = await mintToInterface(
        rpc,
        payer,
        mint,
        destination,
        payer,
        1_000_000_000,
      );

      console.log("Transaction:", txSignature);
    }

    main().catch(console.error);
    ```
  </Step>
</Steps>

# Next Steps

<CardGroup cols={2}>
  <Card title="Toolkits" icon="toolbox" href="/light-token/toolkits">
    Guides for dedicated use cases
  </Card>

  <Card title="Cookbook" icon="book" href="/light-token/cookbook">
    Step-by-step recipes
  </Card>
</CardGroup>
