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

# Welcome to ZK Compression

> ZK Compression is a Solana account primitive that lets you create tokens and PDAs without rent-exemption with L1 performance and security.

<Frame>
  <img src="https://mintcdn.com/luminouslabs-cc5545c6-indexing-tokens/yw0L-_d1Tt5-pHOA/images/banner-image.png?fit=max&auto=format&n=yw0L-_d1Tt5-pHOA&q=85&s=e8f7fd5f4131715689e824d44ab58372" alt="" width="1536" height="667" data-path="images/banner-image.png" />
</Frame>

| **Creation Cost** | Solana               | ZK Compression        |
| :---------------- | :------------------- | :-------------------- |
| **Token Account** | \~2,000,000 lamports | \~**5,000** lamports  |
| **100-byte PDA**  | \~1,600,000 lamports | \~**15,000** lamports |

## Features

<Card title="Light Token Program" href="/light-token/welcome" icon="coins" iconType="solid">
  High performance token standard for rent-free DeFi and Payments.
</Card>

<CardGroup cols={2}>
  <Card title="Compressed PDAs" href="/compressed-pdas/overview" icon="user">
    For App State.
  </Card>

  <Card title="Compressed Tokens" href="/compressed-tokens" icon="wallet" iconType="solid">
    For Token Distribution.
  </Card>
</CardGroup>

## Quickstart

<Steps>
  <Step title="Installation">
    <Tabs>
      <Tab title="npm">
        Install packages in your working directory:

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

        Install the CLI globally:

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

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

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

        Install the CLI globally:

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

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

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

        Install the CLI globally:

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

  <Step title="Get started">
    <Card title="Mint Compressed Tokens in less than 5 minutes" href="/quickstart" icon="bolt" />
  </Step>
</Steps>

## What is ZK Compression?

ZK Compression is a framework that reduces the storage cost of Solana accounts by combining generalized state compression and <Tooltip tip="A cryptographic proof to verify the validity of a statement without revealing the underlying data. ZK Compression uses a Groth16 SNARK zk proof with a constant 128 bytes size">zero-knowledge proofs</Tooltip>.

<Steps>
  <Step title="State Compression">
    State compression stores account data on the Solana ledger instead of in millions of on-chain accounts. Only a small fingerprint of all accounts is stored on-chain for cryptographic integrity. Using Light Protocol, programs can use the account data inside Solana's virtual machine as if it were stored on-chain.
  </Step>

  <Step title="ZK">
    The protocol uses 128 byte zero-knowledge proofs (validity proofs) to verify the integrity of
    the compressed accounts. By default, this is all done under the hood. You can fetch validity
    proofs from RPC providers that support ZK Compression.
  </Step>
</Steps>

## Resources

<CardGroup cols={3}>
  <Card title="RPC Methods" href="/api-reference/json-rpc-methods/overview" icon="tower-broadcast" iconType="solid">
    Browse ZK Compression's JSON RPC methods.
  </Card>

  <Card title="SDKs" href="/resources/sdks" icon="code" iconType="solid">
    Explore our TypeScript and Rust SDKs.
  </Card>

  <Card title="CLI Installation" href="/resources/cli-installation" icon="terminal" iconType="solid">
    Install the ZK Compression CLI for local development.
  </Card>
</CardGroup>

## Learn & Community

<CardGroup cols={3}>
  <Card title="Start Learning" href="/learn/core-concepts" icon="graduation-cap" iconType="solid">
    Learn about ZK Compression's core concepts.
  </Card>

  <Card title="Security" href="/references/security" icon="shield-halved" iconType="solid">
    Read our external audit and formal verification reports.
  </Card>

  <Card title="Discord" href="https://discord.com/invite/CYvjBgzRFP" icon="discord" iconType="solid">
    Join our Discord for support and discussions.
  </Card>
</CardGroup>

## Next Steps

<Card title="Quickstart: Mint Compressed Tokens in less than 5 minutes" icon="chevron-right" color="#0066ff" href="/quickstart" horizontal />
