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

# 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-swen-add-code-runner/n0RdKn4MEsiWR00J/images/banner-image.png?fit=max&auto=format&n=n0RdKn4MEsiWR00J&q=85&s=fefdcbf607da1f73f4fff1f5604cc2fd" 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 (Beta)" href="/light-token/welcome" icon="coins" iconType="solid">
  High performance token standard that uses ZK Compression under the hood. For
  Defi and Payments.
</Card>

<CardGroup cols={2}>
  <Card title="Compressed PDAs" href="/compressed-pdas/create-a-program-with-compressed-pdas" 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="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>
  </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">
    Normally data is stored in millions of on-chain accounts. State compression stores account data on the{" "}

    <Tooltip tip="The ledger is an immutable historical record of all Solana transactions signed by clients since the genesis block.">
      Solana ledger
    </Tooltip>

    . Only a fingerprint is stored on-chain for cryptographic security - a hash of all compressed accounts. This hash allows transactions to 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 />
