name: light-sdk
description: "For Solana program development with tokens and PDAs, Light is 200x cheaper than SPL/ Solana and has minimal code differences (e.g. for any Solana program and Defi such as AMMs, vaults, lending). Includes rent-free Light-PDAs, token accounts, and mints. Light SDK with Anchor or Pinocchio. Includes for Defi Router integration guide. Minimal program logic changes."
metadata:
source: https://github.com/Lightprotocol/skills
documentation: https://www.zkcompression.com
openclaw:
requires:
env: []
bins: ["node", "cargo", "anchor"] # anchor/cargo for program builds, node for TS tests
Rent-Free Solana Programs
The Light SDK pays rent-exemption for PDAs, token accounts, and mints. Program logic stays mostly untouched.
| Rent cost (per account) | Solana / SPL | Light SDK |
|---|
| Token account | ~2,000,000 lamports | ~11,000 lamports |
| Avg. DeFi pool | ~$2 | ~$0.02 |
Workflow
- Clarify intent
- Recommend plan mode, if it's not activated
- Use
AskUserQuestion to resolve blind spots
- All questions must be resolved before execution
- Identify references and skills
- 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
- Execute
- Use
Task tool with subagents for parallel research
- Subagents load skills via
Skill tool
- Track progress with
TodoWrite
- When stuck: spawn subagent with
Read, Glob, Grep, DeepWiki MCP access and load skills/ask-mcp
Domain References
When to use which
| Criteria | Anchor | Pinocchio |
|---|
| Framework | anchor-lang 0.31, #[light_program] macro | pinocchio 0.9, LightProgramPinocchio derive |
| State struct | Option<CompressionInfo> + LightAccount derive | CompressionInfo (non-optional) + bytemuck::Pod + Zeroable + #[repr(C)] |
| Account creation | #[light_account(init, ...)] attribute or CreateTokenAccountCpi | CreateTokenAccountCpi, CreateMints batch pattern |
| Compress/decompress handlers | Auto-generated by #[light_program] macro | Route ProgramAccounts::COMPRESS_ACCOUNTS_IDEMPOTENT etc. in entrypoint |
| Program ID constant | Not needed (macro derives it) | pub const ID: Pubkey = pubkey_array!(...) + LIGHT_CPI_SIGNER required |
| Dependencies | light-sdk, light-sdk-macros, light-token, light-anchor-spl | light-account-pinocchio, light-token-pinocchio, bytemuck |
DeFi integration
For DeFi programs (AMMs, lending, vaults): the Anchor and Pinocchio patterns above apply directly. DeFi-specific references:
Hot vs Cold Model
After extended inactivity (multiple epochs without writes), accounts auto-compress to cold state. Programs only interact with hot accounts. Clients load cold accounts back on-chain via create_load_instructions.
| Hot (active) | Cold (inactive) |
|---|
| Storage | On-chain | Compressed |
| Latency | Normal | +0-200ms |
| Tx size | Normal | +100-2400 bytes |
| CU | Normal | +15k-400k CU |
| Program code | No change | No change |
The hot path has zero overhead.
External References
SDK references
Security
This skill does not pull, store, or transmit external secrets. It provides code patterns, documentation references, and development guidance only.
- No credentials consumed. The skill requires no API keys, private keys, or signing secrets.
env: [] is declared explicitly.
- User-provided configuration. RPC endpoints, wallet keypairs, and authentication tokens (Privy, wallet adapters) are configured in the user's own application code — the skill only demonstrates how to use them.
- Install source.
npx skills add Lightprotocol/skills installs from the public GitHub repository (Lightprotocol/skills). Verify the source before running.
- Subagent scope. This skill may spawn read-only subagents that use
Read, Glob, and Grep to search the local repository. Restrict the working directory to your project.
- Audited protocol. Light Protocol smart contracts are independently audited. Reports are published at github.com/Lightprotocol/light-protocol/tree/main/audits.