payments

Installation
SKILL.md

Light Token payments

Build payment flows using light-token on Solana. The light-token API matches SPL-token and extends it to include the light token program.

Creation cost SPL light-token
Token Account ~2,000,000 lamports ~11,000 lamports

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.

API overview

Operation SPL light-token (action / instruction)
Receive getOrCreateAssociatedTokenAccount() loadAta() / createLoadAtaInstructions()
Transfer createTransferInstruction() transferInterface() / createTransferInterfaceInstructions()
Get balance getAccount() getAtaInterface()
Tx history getSignaturesForAddress() rpc.getSignaturesForOwnerInterface()
Wrap from SPL N/A wrap() / createWrapInstruction()
Unwrap to SPL N/A unwrap() / createUnwrapInstructions()
Register SPL mint N/A createSplInterface() / LightTokenProgram.createSplInterface()
Create mint createMint() createMintInterface()

Plural functions (createTransferInterfaceInstructions, createUnwrapInstructions) return TransactionInstruction[][] — each inner array is one transaction. They handle loading cold accounts automatically.

Setup

npm install @lightprotocol/compressed-token@beta @lightprotocol/stateless.js@beta @solana/web3.js @solana/spl-token
import { createRpc } from "@lightprotocol/stateless.js";
import {
  createLoadAtaInstructions,
  loadAta,
  createTransferInterfaceInstructions,
  transferInterface,
  createUnwrapInstructions,
  unwrap,
  getAssociatedTokenAddressInterface,
  getAtaInterface,
  wrap,
} from "@lightprotocol/compressed-token/unified";

const rpc = createRpc(RPC_ENDPOINT);

Resources

Name Description Docs Examples Reference
Overview Light Token APIs reduce account creation cost for stablecoin payment infrastructure by 99%. overview
Basic payment Send a single token transfer with comparison to SPL. basic-payment basic-send-action | basic-send-instruction send-payments.md
Batch payments Send payments to multiple recipients in a single transaction. batch-payments batch-send send-payments.md
Payment with memo Attach invoice IDs or payment references using Solana's memo program. payment-with-memo payment-with-memo send-payments.md
Receive payments Load cold accounts and share ATA address with the sender. receive-payments receive receive-payments.md
Verify payments Query token balances and transaction history. verify-payments get-balance | get-history show-balance.md | transaction-history.md
Verify address Verify recipient addresses before sending payments. verify-recipient-address verify-address verify-address.md
Wrap and unwrap Move tokens between SPL / Token 2022 and Light Token accounts. wrap-unwrap wrap | unwrap wrap-from-spl.md | unwrap-to-spl.md
Register SPL mint Register existing SPL mint for light-token interop. register-spl-mint register-spl-mint.md
Spend permissions Delegate token spending with an amount cap. Approve, transfer as delegate, revoke. spend-permissions delegate-approve | delegate-transfer spend-permissions.md
Nullifier PDAs Create rent-free nullifier PDAs to prevent duplicate actions. nullifier-pda nullifiers.md
Production readiness Checklist for deploying to production: RPC, error handling, security. production-readiness production-readiness.md
Wallet integration Guide for Wallet Applications to add Light-token support. wallets/overview
Sign with Privy Integrate with Privy embedded wallets. privy sign-with-privy sign-with-privy.md
Sign with Wallet Adapter Integrate with Solana Wallet Adapter. wallet-adapter sign-with-wallet-adapter sign-with-adapter.md
Gasless transactions Abstract SOL fees. Sponsor top-ups and transaction fees. gasless-transactions gasless-transactions gasless-transactions.md
SPL to Light comparison Side-by-side API mapping. Docs spl-to-light.md
Token 2022 extensions Supported Token 2022 extensions. Docs Examples extensions/overview.md

SDK references

Package Link
@lightprotocol/stateless.js API docs
@lightprotocol/compressed-token API docs
@lightprotocol/nullifier-program npm

Security

The Privy signing examples transmit secrets to an external API — review sign-with-privy.md before running.

  • Declared dependencies. HELIUS_RPC_URL is required for all examples. The Privy signing flow additionally requires PRIVY_APP_ID, PRIVY_APP_SECRET, TREASURY_WALLET_ID, and TREASURY_AUTHORIZATION_KEY — get these at privy.io. Load secrets from a secrets manager, not agent-global environment.
  • Privy signing flow. PRIVY_APP_SECRET and TREASURY_AUTHORIZATION_KEY are sent to Privy's signing API. Verify these only reach Privy's official endpoints. See sign-with-privy.md.
  • Subagent scope. When stuck, the skill asks to spawn a read-only subagent with Read, Glob, Grep scoped to skill references, example repos, and docs.
  • Install source. npx skills add Lightprotocol/skills from Lightprotocol/skills.
  • Audited protocol. Light Protocol smart contracts are independently audited. Reports are published at github.com/Lightprotocol/light-protocol/tree/main/audits.
Related skills

More from lightprotocol/skills

Installs
15
GitHub Stars
5
First Seen
Apr 1, 2026