Back to skills
extension
Category: Development & EngineeringAPI key required

solana-light-token-client

For client development with tokens on Solana, Light Token is 200x cheaper than SPL and has minimal changes. Skill includes guides for create mints, associate...

personAuthor: tilo-14hubclawhub

Light Token Client SDKs

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

Prerequisites

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.

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: ask to spawn a read-only subagent with Read, Glob, Grep, and DeepWiki MCP access, loading skills/ask-mcp. Scope reads to skill references, example repos, and docs.

Domain references

| Task | Reference | |------|-----------| | Create a mint | create-mint.md | | Create SPL interface PDA | create-interface-pda.md | | Create associated token account | create-associated-token-account.md | | Create token account | create-token-account.md | | Mint tokens | mint-to.md | | Transfer tokens | transfer-interface.md | | Transfer checked | transfer-checked.md | | Approve delegate | approve.md | | Revoke delegate | revoke.md | | Wrap SPL to Light | wrap.md | | Unwrap Light to SPL | unwrap.md | | Load associated token account | load-associated-token-account.md | | Burn tokens | burn.md | | Burn checked | burn-checked.md | | Freeze token account | freeze.md | | Thaw token account | thaw.md | | Close token account | close-token-account.md | | Mint SPL, wrap, and transfer | spl-mint-wrap-transfer.md |

Operations overview

| 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 | approve | Approve | approve-revoke | | Revoke | revoke | Revoke | 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 |

External references

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

Security

This skill does not pull, store, or transmit external secrets. It provides code patterns, documentation references, and development guidance only.

  • Declared dependencies. Devnet and mainnet examples require 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.
  • User-provided configuration. RPC endpoints, wallet keypairs, and authentication tokens are configured in the user's application code. The skill demonstrates patterns — it does not store or transmit secrets.
  • Install source. npx skills add Lightprotocol/skills installs from the public GitHub repository (Lightprotocol/skills). Verify the source before running.
  • Subagent scope. When stuck, the skill asks to spawn a read-only subagent with Read, Glob, and Grep scoped to skill references, example repos, and docs.
  • Audited protocol. Light Protocol smart contracts are independently audited. Reports are published at github.com/Lightprotocol/light-protocol/tree/main/audits.