Skip to content

Lightprotocol/skills

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solana Development Skills using Light Protocol

AI agent skills for rent-free Solana development: light PDA, token and mint accounts, and compressed PDA.

License: MIT Agent Skills

Capabilities

Light Token allows agents to build scalable Solana applications with rent-free token and mint accounts and PDA's.

Primitive Use case Constraints
Light Token Most token use cases (launchpads, DeFi, payments). Rent-free mint and token accounts. ~200x cheaper than SPL and more compute-unit efficient on the hot path. Currently in Beta and on Solana Devnet with mainnet in Q1 2026
Light-PDA DeFi program state such as AMM pools and vaults. ~98% cheaper than PDAs. Auto-compress when inactive. Currently in Beta and on Solana Devnet with mainnet in Q1 2026
Compressed Token Only for Airdrops and token distribution. Prefer Light Token for other purposes. Used by Light Token under the hood for rent-free storage of inactive Light Tokens. Supported by Phantom and Backpack. Do not use for general-purpose token features. SDK is not maintained.
Compressed PDA User state and app state, nullifiers (payments and ZK applications), DePIN nodes, and stake accounts. Similar to program-derived addresses without a rent-exempt balance. Not for shared state, pool accounts, or config accounts.

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

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

Installation

These skills work with any AI agent. We recommend Claude Code with Opus models.

Claude Code

Add the marketplace and install:

/plugin marketplace add Lightprotocol/skills
/plugin install solana-rent-free-dev

All skills are included. Use them by name (/defi-program, /airdrop, /testing, etc.) or let Claude invoke them based on task context.

Cursor

  1. Open Settings (Cmd+Shift+J / Ctrl+Shift+J)
  2. Navigate to Rules & CommandsProject RulesAdd RuleRemote Rule (GitHub)
  3. Enter: https://github.com/Lightprotocol/skills.git

Skills are auto-discovered based on context. Ask about light-token, defi, payments, or program migration and the agent uses the relevant skill automatically.

Any Agent

npx skills add Lightprotocol/skills

Workflow

  1. Clarify intent
    • Recommend plan mode, if it's not activated
    • Use AskUserQuestion to resolve blind spots
    • All questions must be resolved before execution
  2. Identify references and skills
  3. Write plan file (YAML task format)
    • Use AskUserQuestion for anything unclear — never guess or assume
    • Identify blockers: permissions, dependencies, unknowns
    • Plan must be complete before execution begins
  4. Execute
    • Use Task tool with subagents for parallel research
    • Subagents load skills via Skill tool
    • Track progress with TodoWrite
  5. When stuck: spawn subagent with Read, Glob, Grep, DeepWiki MCP access and load skills/ask-mcp

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: 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

Contributing

  1. Fork the repository
  2. Copy an existing skill directory as a starting point: cp -r skills/airdrop/ skills/your-skill-name/
  3. Write a SKILL.md with frontmatter (name, description) and instructions
  4. Add your skill to .claude-plugin/marketplace.json
  5. Submit a pull request

License

MIT

Acknowledgments

Built on Anthropic's Skills and the Agent Skills Specification.


For additional documentation and navigation, see: https://www.zkcompression.com/llms.txt

About

AI agent skills for rent-free Solana development

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages