solana-rent-free-dev
npx skills add https://zkcompression.com
Agent 安装分布
Skill 文档
Capabilities
Light Token allows agents to build scalable Solana applications with rent-free token and mint accounts and PDA’s.
Comparing creation cost and CU usage:
| Light-Token | SPL-Token | |
|---|---|---|
| Mint Account | 0.00001 SOL | 0.0015 SOL |
| Token Account | 0.00001 SOL | 0.002 SOL |
| ATA Creation | 4,348 CU | 14,194 CU |
| Transfer | 312 CU | 4,645 CU |
| Transfer (rent-free) | 1,885 CU | 4,645 CU |
Install this reference skill:
npx skills add https://zkcompression.com
Workflow
- Clarify intent
- Recommend plan mode, if it’s not activated
- Use
AskUserQuestionto resolve blind spots - All questions must be resolved before execution
- Identify references and skills
- Match task to available skills below
- Locate relevant documentation and examples
- Write plan file (YAML task format)
- Use
AskUserQuestionfor anything unclear â never guess or assume - Identify blockers: permissions, dependencies, unknowns
- Plan must be complete before execution begins
- Use
- Execute
- Use
Tasktool with subagents for parallel research - Subagents load skills via
Skilltool - Track progress with
TodoWrite
- Use
- When stuck: spawn subagent with
Read,Glob,Grep, DeepWiki MCP access and loadskills/ask-mcp
Skills
| Use case | Skill |
|---|---|
| Build DeFi programs (AMMs, vaults, lending) with Anchor or Pinocchio | defi-program |
| Integrate rent-free markets into routers and aggregators | defi-router |
| Stream account state via Laserstream gRPC | data-streaming |
| Wallets and payment flows with light-token. Includes privy, wallet adapter, mobile wallet adapter signing. Optional nullifier to prevent your onchain instruction from being executed more than once. | payments-and-wallets |
| Airdrops, DePIN, token distribution | airdrop |
| Anti-double-spend nullifiers for Privacy-preserving ZK programs | zk-nullifier |
| Testing programs and clients on localnet, devnet, mainnet | testing |
| Help with Debugging and Questions via DeepWiki MCP | ask-mcp |
Skills for compressed PDAs and more are in development.
Context
light-token
A token standard functionally equivalent to SPL that stores mint and token accounts more efficiently.
Mint accounts represent a unique mint and optionally store token-metadata. Functionally equivalent to SPL mints.
Token accounts hold balances from any light, SPL, or Token-2022 mint, without paying rent-exemption.
The token program pays rent-exemption cost for you. When an account has no remaining sponsored rent, the account is automatically compressed. Your tokens are cryptographically preserved as a compressed token account (rent-free). The account is loaded into hot account state in-flight when someone interacts with it again.
Use for: Launchpads, DeFi, token transfers, payments, … .
light-PDA
The Light-SDK pays rent-exemption for your PDAs, token accounts, and mints (98% cost savings). Your program logic stays the same.
After extended inactivity (multiple epochs without writes), accounts auto-compress to cold state. Your program only interacts with hot accounts. Clients load cold accounts back on-chain via create_load_instructions.
| Area | Change |
|---|---|
| State struct | Derive LightAccount, add compression_info: Option<CompressionInfo> |
| Accounts struct | Derive LightAccounts, add #[light_account] on init accounts |
| Program module | Add #[light_program] above #[program] |
| Instructions | No changes |
Use for: DeFi program state, AMM pools, vaults.
Compressed token
Compressed token accounts store token balance, owner, and other information of tokens like SPL and light-tokens. Compressed token accounts are rent-free. Any light-token or SPL token can be compressed/decompressed at will. Supported by Phantom and Backpack.
Use for: airdrops, token distribution without paying upfront rent per recipient.
Compressed PDA
Compressed PDAs are derived using a specific program address and seed, like regular PDAs. Custom programs invoke the Light System program to create and update accounts, instead of the System program.
Persistent unique identification. Program ownership. CPI between compressed and regular PDAs.
Use rent-free PDAs for: user state, app state, nullifiers for payments, DePIN node accounts, stake accounts, nullifiers for zk applications. Not for shared state, pool, and config accounts.
Guidelines
- light-token â compressed token. light-token is a Solana account in hot state. Compressed token is a compressed account, always compressed, rent-free.
- light-PDA â compressed PDA. light-PDA is a Solana PDA that transitions to compressed state when inactive. Compressed PDA is always compressed, derived like a PDA and requires a validity proof.
- light-token accounts hold SPL and Token-2022 balances, not just light-mint balances.
- When sponsored rent on a light-token or light-PDA runs out, the account compresses. It decompresses on next interaction.
Documentation and Examples
TypeScript Client (@lightprotocol/compressed-token)
| Operation | Docs guide | GitHub example |
|---|---|---|
createMintInterface |
create-mint | action |
createAtaInterface |
create-ata | action | instruction |
mintToInterface |
mint-to | action | instruction |
transferInterface |
transfer-interface | action | instruction |
approve |
approve-revoke | action |
revoke |
approve-revoke | action |
wrap |
wrap-unwrap | action | instruction |
unwrap |
wrap-unwrap | action | instruction |
loadAta |
load-ata | action | instruction |
Rust Client (light_token_client)
| Operation | Docs guide | GitHub example |
|---|---|---|
CreateMint |
create-mint | action | instruction |
CreateAta |
create-ata | action | instruction |
CreateTokenAccount |
create-token-account | instruction |
MintTo |
mint-to | action | instruction |
TransferInterface |
transfer-interface | action | instruction |
TransferChecked |
transfer-checked | action | instruction |
Approve |
approve-revoke | action | instruction |
Revoke |
approve-revoke | action | instruction |
Burn |
burn | instruction |
BurnChecked |
burn | instruction |
Freeze |
freeze-thaw | instruction |
Thaw |
freeze-thaw | instruction |
Close |
close-token-account | instruction |
Wrap |
wrap-unwrap | action |
Unwrap |
wrap-unwrap | action |
SplToLight |
â | example |
Program (light_token)
Examples
| Description | |
|---|---|
| cp-swap-reference | Fork of Raydium AMM that creates markets without paying rent-exemption |
| create-and-transfer | Create account via macro and transfer via CPI |
| pinocchio-swap | Light Token swap reference implementation |
Macros
| Description | |
|---|---|
| counter | Create PDA with sponsored rent-exemption |
| create-ata | Create associated light-token account |
| create-mint | Create light-token mint |
| create-token-account | Create light-token account |
CPI Instructions
CPI calls can be combined with existing and/or light macros. The API is a superset of SPL-token.
| Operation | Docs guide | GitHub example |
|---|---|---|
CreateAssociatedAccountCpi |
create-ata | src |
CreateTokenAccountCpi |
create-token-account | src |
CreateMintCpi |
create-mint | src |
MintToCpi |
mint-to | src |
MintToCheckedCpi |
mint-to | src |
BurnCpi |
burn | src |
TransferCheckedCpi |
transfer-checked | src |
TransferInterfaceCpi |
transfer-interface | src |
ApproveCpi |
approve-revoke | src |
RevokeCpi |
approve-revoke | src |
FreezeCpi |
freeze-thaw | src |
ThawCpi |
freeze-thaw | src |
CloseAccountCpi |
close-token-account | src |
General References
TypeScript SDK
| Package | npm |
|---|---|
@lightprotocol/stateless.js |
npm |
@lightprotocol/compressed-token |
npm |
Rust Crates and SDK
| Crate | docs.rs |
|---|---|
light-sdk |
docs.rs/light-sdk |
light-sdk-pinocchio |
docs.rs/light-sdk-pinocchio |
light-token |
docs.rs/light-token |
light-token-client |
docs.rs/light-token-client |
light-compressed-token-sdk |
docs.rs/light-compressed-token-sdk |
light-client |
docs.rs/light-client |
light-program-test |
docs.rs/light-program-test |
light-account-pinocchio |
docs.rs/light-account-pinocchio |
light-token-pinocchio |
docs.rs/light-token-pinocchio |
light-hasher |
docs.rs/light-hasher |
light-account |
docs.rs/light-account |
For additional documentation and navigation, see: https://www.zkcompression.com/llms.txt For additional skills, see: https://www.zkcompression.com/ai-tools/skills