For client development with tokens on Solana, Light Token is 200x cheaper than SPL and has minimal changes. Skill includes guides for create mints, associated token accounts, transfer, approve, burn, wrap, and more. @lightprotocol/compressed-token (TypeScript) and light_token_client (Rust).
49
55%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/light-token-client/SKILL.mdClient-side cookbook for @lightprotocol/compressed-token (TypeScript) and light_token_client (Rust). Covers all token operations: create mints, associated token accounts, transfer, approve, revoke, burn, wrap, unwrap, freeze, thaw, close, and load.
| Creation cost | SPL | Light Token |
|---|---|---|
| Token account | ~2,000,000 lamports | ~11,000 lamports |
Examples show both localnet and devnet configurations. For devnet, set:
API_KEY env var — Helius or Triton RPC API key. In production, load from a secrets manager.~/.config/solana/id.json — local Solana keypair (solana-keygen new). In production, load from a secrets manager.AskUserQuestion to resolve blind spotsAskUserQuestion for anything unclear — never guess or assumeTask tool with subagents for parallel researchSkill toolTodoWriteRead, Glob, Grep, and DeepWiki MCP access, loading skills/ask-mcp. Scope reads to skill references, example repos, and docs.| Operation | TypeScript | Rust | Docs |
|---|---|---|---|
| Create Light mint | createMintInterface | CreateMint | create-mint |
| Create SPL mint w/ interface PDA | createMintInterface + TOKEN_PROGRAM_ID | — | create-mint |
| Create T22 mint w/ interface PDA | createMintInterface + TOKEN_2022_PROGRAM_ID | — | create-mint |
| Add interface PDA to existing mint | createSplInterface | — | create-mint |
| Create associated token account | createAtaInterface | CreateAta | create-ata |
| Create token account | — | CreateTokenAccount | create-token-account |
| Mint to | mintToInterface | MintTo | mint-to |
| Transfer | transferInterface | TransferInterface | transfer-interface |
| Transfer checked | — | TransferChecked | transfer-checked |
| Approve | approveInterface | Approve | approve-revoke |
| Revoke | revokeInterface | Revoke | approve-revoke |
| Delegate transfer | transferInterface + { owner } | — | approve-revoke |
| Burn | — | Burn | burn |
| Burn checked | — | BurnChecked | burn |
| Wrap SPL to Light | wrap | Wrap | wrap-unwrap |
| Unwrap Light to SPL | unwrap | Unwrap | wrap-unwrap |
| Load associated token account (cold to hot) | loadAta | — | load-ata |
| Freeze | — | Freeze | freeze-thaw |
| Thaw | — | Thaw | freeze-thaw |
| Close | — | Close | close-token-account |
| Resource | Link |
|---|---|
| Docs cookbook | zkcompression.com/light-token/cookbook |
| TypeScript examples | examples-light-token/typescript-client |
| Rust examples | examples-light-token/rust-client |
@lightprotocol/stateless.js | API docs |
@lightprotocol/compressed-token | API docs |
light-client | docs.rs |
light-token-client | docs.rs |
light-token | docs.rs |
This skill does not pull, store, or transmit external secrets. It provides code patterns, documentation references, and development guidance only.
API_KEY (Helius or Triton RPC key) and read ~/.config/solana/id.json for the payer keypair. Neither is needed on localnet. In production, load both from a secrets manager.npx skills add Lightprotocol/skills installs from the public GitHub repository (Lightprotocol/skills). Verify the source before running.Read, Glob, and Grep scoped to skill references, example repos, and docs.e149bdc
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.