# Lightprotocol ## Docs - [Create a Program with Compressed PDAs](https://lightprotocol-migration.mintlify.app/compressed-pdas/create-a-program-with-compressed-pdas.md): Overview to compressed PDA core features and guide for program development - [Guides](https://lightprotocol-migration.mintlify.app/compressed-pdas/guides.md): Overview and comparison of guides to create, update, close, reinitialize, and burn permanently compressed accounts. Guides include step-by-step implementation and full code examples. - [Burn Compressed Accounts](https://lightprotocol-migration.mintlify.app/compressed-pdas/guides/how-to-burn-compressed-accounts.md): Guide to burn compressed accounts in Solana programs with full code examples. - [Close Compressed Accounts](https://lightprotocol-migration.mintlify.app/compressed-pdas/guides/how-to-close-compressed-accounts.md): Guide to close compressed accounts in Solana programs with full code examples. - [Create Compressed Accounts](https://lightprotocol-migration.mintlify.app/compressed-pdas/guides/how-to-create-compressed-accounts.md): Guide to create compressed accounts in Solana programs with full code examples. - [Reinitialize Compressed Accounts](https://lightprotocol-migration.mintlify.app/compressed-pdas/guides/how-to-reinitialize-compressed-accounts.md): Guide to reinitialize compressed accounts in Solana programs with full code examples. - [Update Compressed Accounts](https://lightprotocol-migration.mintlify.app/compressed-pdas/guides/how-to-update-compressed-accounts.md): Guide to update compressed accounts in Solana programs with full code examples. - [Program Examples](https://lightprotocol-migration.mintlify.app/compressed-pdas/program-examples.md): Program example repository for compressed accounts with tests. - [Advanced Guides](https://lightprotocol-migration.mintlify.app/compressed-tokens/advanced-guides.md): Reference table to implementation guides. Guides for airdrops, using token-2022, and wallet support for compressed tokens. - [Add Wallet Support for Compressed Tokens](https://lightprotocol-migration.mintlify.app/compressed-tokens/advanced-guides/add-wallet-support-for-compressed-tokens.md): Guide to add Compressed Token Support to Your Wallet Application - [Create an Airdrop without Claim](https://lightprotocol-migration.mintlify.app/compressed-tokens/advanced-guides/create-an-airdrop.md): Complete guide to create an airdrop – with or without code. Access to cost calculation and best practices. ZK compression is the most efficient way to distribute SPL tokens. - [Create an Airdrop with Claim](https://lightprotocol-migration.mintlify.app/compressed-tokens/advanced-guides/create-an-airdrop-with-claim.md) - [Example Node.js Client](https://lightprotocol-migration.mintlify.app/compressed-tokens/advanced-guides/example-node-js.md) - [Example Web Client](https://lightprotocol-migration.mintlify.app/compressed-tokens/advanced-guides/example-web-client.md) - [Combine Instructions in One Transaction](https://lightprotocol-migration.mintlify.app/compressed-tokens/advanced-guides/how-to-combine-operations-in-one-transaction.md): Guide to combine multiple instructions in a single transaction. Full code example for token pool creation and for first-time compression of existing SPL tokens. - [Use Token-2022 with Compression](https://lightprotocol-migration.mintlify.app/compressed-tokens/advanced-guides/use-token-2022-with-compression.md): Complete guide to mint, compress and transfer tokens with Token-2022 Metadata with ZK Compression. - [Guides](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides.md): Overview of guides to compressed token operations and reference table with descriptions. Guides include full code examples, troubleshooting, and advanced configurations. - [Approve and Revoke Delegate Authority](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-approve-and-revoke-delegate-authority.md): Complete guide to manage delegate authority for compressed tokens with `approve()` and `revoke()`, troubleshooting and advanced configurations. - [Compress and Decompress SPL Tokens](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-compress-and-decompress-spl-tokens.md): Complete guide to compress SPL tokens with compress() and decompress with decompress(), troubleshooting and advanced configurations. - [Compress Complete SPL Token Accounts](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-compress-complete-spl-token-accounts.md): Complete guide to compress complete SPL Token Accounts with compressSplTokenAccount() for account migration and to reclaim rent afterwards. - [Create and Register a Mint Account for Compression](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-create-and-register-a-mint-account-for-compression.md): Complete guide to create and register an SPL token mint account for compression with createMint(), troubleshooting and advanced configurations. - [Create Compressed Token Accounts](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-create-compressed-token-accounts.md): Short guide to compressed token account creation with ZK Compression on Solana and difference to regular token accounts. - [Create Compressed Token Pools for Mint Accounts](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-create-compressed-token-pools-for-mint-accounts.md): Complete guide to create and manage token pools for compressed tokens for SPL mints with `createTokenPool()`, troubleshooting and advanced configurations. - [Merge Compressed Token Accounts](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-merge-compressed-token-accounts.md): Complete guide to merge multiple compressed token accounts into a single account with mergeTokenAccounts(), troubleshooting and advanced configurations. - [Mint Compressed Tokens](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-mint-compressed-tokens.md): Complete guide to mint compressed tokens with mintTo(), troubleshooting, and advanced configurations. - [Transfer Compressed Tokens](https://lightprotocol-migration.mintlify.app/compressed-tokens/guides/how-to-transfer-compressed-token.md): Complete guide to transfer compressed SPL tokens between compressed or regular accounts with `transfer()`, troubleshooting and advanced configurations. - [Overview](https://lightprotocol-migration.mintlify.app/compressed-tokens/overview.md): Compressed tokens provide full SPL token functionality without per-account rent cost. - [DeepWiki](https://lightprotocol-migration.mintlify.app/deepwiki.md) - [Discord](https://lightprotocol-migration.mintlify.app/discord.md) - [GitHub](https://lightprotocol-migration.mintlify.app/github.md) - [Introduction](https://lightprotocol-migration.mintlify.app/index.md): Solana account primitive for tokens and PDAs at a fraction of the cost - scale to millions of users without sacrificing L1 performance and security. - [AI Tools Guide](https://lightprotocol-migration.mintlify.app/learn/ai-tools-guide.md): Guidance to AI tools when working with ZK Compression. Includes MCP server, DeepWiki, and AI Search guides. - [Core Concepts](https://lightprotocol-migration.mintlify.app/learn/core-concepts.md): Overview to ZK Compression's Core Concepts. Get a high-level system overview and learn about the compressed account model, lifecycle of a transaction, and considerations. - [Compressed Account Model](https://lightprotocol-migration.mintlify.app/learn/core-concepts/compressed-account-model.md): Overview to compressed accounts and comparison to Solana accounts. - [Considerations](https://lightprotocol-migration.mintlify.app/learn/core-concepts/considerations.md): Overview to considerations of ZK Compression, namely larger transaction size, higher compute unit usage, and per-transaction state cost. - [Merkle trees and Validity Proofs](https://lightprotocol-migration.mintlify.app/learn/core-concepts/merkle-trees-validity-proofs.md): Learn the core concepts of state trees, address trees, and validity proofs for compressed accounts. - [Lifecycle of a Transaction](https://lightprotocol-migration.mintlify.app/learn/core-concepts/transaction-lifecycle.md): Overview to the lifecycle of a transaction that interacts with compressed accounts. - [Quick Start](https://lightprotocol-migration.mintlify.app/quickstart.md): Create your first compressed token in minutes. - [Node Operators](https://lightprotocol-migration.mintlify.app/references/node-operators.md): Learn how to run ZK Compression infrastructure, such as Forester nodes, Photon indexers and Prover nodes. - [Security](https://lightprotocol-migration.mintlify.app/references/security.md): Overview to Light Protocol's bug bounty program, third party security audits, and formal verification of circuits. - [Terminology](https://lightprotocol-migration.mintlify.app/references/terminology.md): Overview to terminology related to ZK Compression and Solana - [Whitepaper](https://lightprotocol-migration.mintlify.app/references/whitepaper.md): Complete whitepaper introducing ZK Compression - [Addresses and URLs](https://lightprotocol-migration.mintlify.app/resources/addresses-and-urls.md): Overview to all of ZK Compression's RPC URLs, Program IDs & Accounts and Lookup Tables. - [CLI Installation](https://lightprotocol-migration.mintlify.app/resources/cli-installation.md): Steps to set up your local environment for ZK Compression development. CLI to interact with compressed accounts and compressed tokens on Solana. - [Error Cheatsheet](https://lightprotocol-migration.mintlify.app/resources/error-cheatsheet.md): Complete error code reference for ZK Compression. Search error codes with hex values and messages. - [Debug ProofVerificationFailed (0x179b)](https://lightprotocol-migration.mintlify.app/resources/error-cheatsheet/debug-0x179b-6043-proofverificationfailed.md): Common cause and debug steps for ProofVerificationFailed (0x179B / 6043) - [JSON RPC Methods](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods.md): Overview of all available ZK compression JSON RPC endpoints on Solana, best practices, and error codes. - [Getcompressedaccount](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedaccount.md): Retrieve compressed account information by address or hash. RPC method guide with use cases, tips and examples. - [Getcompressedaccountsbyowner](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedaccountsbyowner.md): Retrieve all compressed accounts owned by a specific address. RPC method guide with use cases, tips and examples. - [Getcompressedbalance](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedbalance.md): Retrieve the lamport balance for a specific compressed account by address or hash. Overview with RPC method guide. - [Getcompressedbalancebyowner](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedbalancebyowner.md): Query the total compressed token balance for a specific account owner. Overview with RPC method guide. - [Getcompressedminttokenholders](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedminttokenholders.md): Retrieve owner balances for a given mint in descending order. Overview with RPC method guide. - [Getcompressedtokenaccountbalance](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedtokenaccountbalance.md): Retrieve the balance for a given token account by address or hash. Overview with RPC method guide - [Getcompressedtokenaccountbydelegate](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedtokenaccountbydelegate.md): Retrieve compressed token accounts that are partially or fully delegated to a given delegate. Overview with RPC method guide. - [Getcompressedtokenaccountsbyowner](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedtokenaccountsbyowner.md): Retrieve compressed token accounts owned by a specific address. RPC method guide with use cases, tips and examples. - [Getcompressedtokenbalancesbyowner](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressedtokenbalancesbyowner.md): Retrieves all token balances for compressed accounts owned by an address. Overview with RPC method guide. - [Getcompressionsignaturesforaccount](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressionsignaturesforaccount.md): Retrieve the signatures of the transactions that closed or opened a compressed account with the given hash. Overview with RPC method guide. - [Getcompressionsignaturesforaddress](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressionsignaturesforaddress.md): Retrieve the signatures of the transactions that closed or opened a compressed account with the given address. Overview with RPC method guide. - [Getcompressionsignaturesforowner](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressionsignaturesforowner.md): Retrieve the signatures of the transactions that have modified an owner's compressed accounts. Overview with RPC method guide. - [Getcompressionsignaturesfortokenowner](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getcompressionsignaturesfortokenowner.md): Retrieve the signatures of the transactions that have modified an owner's compressed token accounts. Overview with RPC method guide. - [Getindexerhealth](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getindexerhealth.md): Retrieve an error if the indexer is stale by more than a configurable number of blocks. Otherwise, it returns ok. Overview with RPC method guide. - [Getindexerslot](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getindexerslot.md): Retrieve the slot of the last block indexed by the indexer. Overview with RPC method guide. - [Getlatestcompressionsignatures](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getlatestcompressionsignatures.md): Retrieve the signatures of the latest transactions that used the compression program. This is a paginated endpoint. Overview with RPC method guide. - [Getlatestnonvotingsignatures](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getlatestnonvotingsignatures.md): Retrieve the signatures of the latest transactions that are not voting transactions. Overview with RPC method guide. - [Getmultiplecompressedaccounts](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getmultiplecompressedaccounts.md): Retrieve multiple compressed accounts with the given addresses or hashes. Overview with RPC method guide. - [Getmultiplenewaddressproofs](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getmultiplenewaddressproofs.md): Retrieve proofs that the new addresses are not taken already and can be created. Overview with RPC method guide. - [Gettransactionwithcompressioninfo](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/gettransactionwithcompressioninfo.md): Retrieve the transaction data for the transaction with the given signature along with parsed compression info. RPC method guide with use cases, tips and examples. - [Getvalidityproof](https://lightprotocol-migration.mintlify.app/resources/json-rpc-methods/getvalidityproof.md): Retrieve a single ZK Proof used by the compression program to verify that the given accounts are valid and the new addresses can be created. RPC method guide with use cases, tips and examples. - [SDKs](https://lightprotocol-migration.mintlify.app/resources/sdks.md): Overview to TypeScript and Rust SDKs for Client and Program Development - [Client Development](https://lightprotocol-migration.mintlify.app/resources/sdks/client-development.md): Overview to Client side development. Quick access to TypeScript and Rust SDKs - [Program Development](https://lightprotocol-migration.mintlify.app/resources/sdks/program-development.md): Overview to on-chain program development. Quick access to SDKs for Anchor, Pinocchio, or native Rust. - [Support](https://lightprotocol-migration.mintlify.app/support.md): Get expert help with ZK Compression, compressed tokens, compressed PDAs, local development and more. Discord community, Telegram, and Email support available. ## OpenAPI Specs - [getValidityProof](https://lightprotocol-migration.mintlify.app/openapi/getValidityProof.yaml) - [getTransactionWithCompressionInfo](https://lightprotocol-migration.mintlify.app/openapi/getTransactionWithCompressionInfo.yaml) - [getMultipleNewAddressProofsV2](https://lightprotocol-migration.mintlify.app/openapi/getMultipleNewAddressProofsV2.yaml) - [getMultipleNewAddressProofs](https://lightprotocol-migration.mintlify.app/openapi/getMultipleNewAddressProofs.yaml) - [getMultipleCompressedAccounts](https://lightprotocol-migration.mintlify.app/openapi/getMultipleCompressedAccounts.yaml) - [getMultipleCompressedAccountProofs](https://lightprotocol-migration.mintlify.app/openapi/getMultipleCompressedAccountProofs.yaml) - [getLatestNonVotingSignatures](https://lightprotocol-migration.mintlify.app/openapi/getLatestNonVotingSignatures.yaml) - [getLatestCompressionSignatures](https://lightprotocol-migration.mintlify.app/openapi/getLatestCompressionSignatures.yaml) - [getIndexerSlot](https://lightprotocol-migration.mintlify.app/openapi/getIndexerSlot.yaml) - [getIndexerHealth](https://lightprotocol-migration.mintlify.app/openapi/getIndexerHealth.yaml) - [getCompressionSignaturesForTokenOwner](https://lightprotocol-migration.mintlify.app/openapi/getCompressionSignaturesForTokenOwner.yaml) - [getCompressionSignaturesForOwner](https://lightprotocol-migration.mintlify.app/openapi/getCompressionSignaturesForOwner.yaml) - [getCompressionSignaturesForAddress](https://lightprotocol-migration.mintlify.app/openapi/getCompressionSignaturesForAddress.yaml) - [getCompressionSignaturesForAccount](https://lightprotocol-migration.mintlify.app/openapi/getCompressionSignaturesForAccount.yaml) - [getCompressedTokenBalancesByOwnerV2](https://lightprotocol-migration.mintlify.app/openapi/getCompressedTokenBalancesByOwnerV2.yaml) - [getCompressedTokenBalancesByOwner](https://lightprotocol-migration.mintlify.app/openapi/getCompressedTokenBalancesByOwner.yaml) - [getCompressedTokenAccountsByOwner](https://lightprotocol-migration.mintlify.app/openapi/getCompressedTokenAccountsByOwner.yaml) - [getCompressedTokenAccountsByDelegate](https://lightprotocol-migration.mintlify.app/openapi/getCompressedTokenAccountsByDelegate.yaml) - [getCompressedTokenAccountBalance](https://lightprotocol-migration.mintlify.app/openapi/getCompressedTokenAccountBalance.yaml) - [getCompressedMintTokenHolders](https://lightprotocol-migration.mintlify.app/openapi/getCompressedMintTokenHolders.yaml) - [getCompressedBalanceByOwner](https://lightprotocol-migration.mintlify.app/openapi/getCompressedBalanceByOwner.yaml) - [getCompressedAccountsByOwner](https://lightprotocol-migration.mintlify.app/openapi/getCompressedAccountsByOwner.yaml) - [getCompressedAccountProof](https://lightprotocol-migration.mintlify.app/openapi/getCompressedAccountProof.yaml) - [getCompressedAccountBalance](https://lightprotocol-migration.mintlify.app/openapi/getCompressedAccountBalance.yaml) - [getCompressedAccount](https://lightprotocol-migration.mintlify.app/openapi/getCompressedAccount.yaml) - [api](https://lightprotocol-migration.mintlify.app/openapi/api.yaml) ## Optional - [Community](https://discord.gg/rpddh53TeG) - [About Us](https://lightprotocol.com/blog#)