🤖
solana-payments-wallet-dev
For stablecoin payment flows and wallet integrations on Solana 200x cheaper token accounts. Receive, send, balance, history, and client-side signing with Pri...
安全通过
⚙️脚本
技能说明
name: payments-and-wallets description: "For stablecoin payment flows and wallet integrations on Solana 200x cheaper token accounts. Receive, send, balance, history, and client-side signing with Privy and Solana wallet adapters. Optional guide to add nullifiers to prevent payments from being executed more than once." metadata: source: https://github.com/Lightprotocol/skills documentation: https://www.zkcompression.com openclaw: requires: env: ["HELIUS_RPC_URL"] # Required for all examples # Privy signing flow only (sign-with-privy.md): PRIVY_APP_ID, PRIVY_APP_SECRET, TREASURY_WALLET_ID, TREASURY_AUTHORIZATION_KEY — get these at privy.io bins: ["node", "cargo"] # node for TS client, cargo for Rust nullifier example
Payments and wallets
Build payment flows and wallet integrations 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
- Clarify intent
- Recommend plan mode, if it's not activated
- Use
AskUserQuestionto resolve blind spots - All questions must be resolved before execution
- Identify references and skills
- Match task to domain references below
- Locate relevant documentation and examples
- Write plan file (YAML task format)
- Use
AskUserQuestionfor anything unclear — never guess or assume - Identify blockers: permissions, dependencies, unknowns
- Plan must be complete before execution begins
- Use
- Execute
- Use
Tasktool with subagents for parallel research - Subagents load skills via
Skilltool - Track progress with
TodoWrite
- Use
- When stuck: ask to spawn a read-only subagent with
Read,Glob,Grep, and DeepWiki MCP access, loadingskills/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.
Domain references
| Task | Reference |
|---|---|
| Build payment flows (receive, send, balance, history, wrap/unwrap) | payments.md |
| Build wallet UI (display tokens, transfer, wrap/unwrap) | wallets.md |
| Sign with Wallet Adapter or Mobile Wallet Adapter | sign-with-adapter.md |
| Sign with Privy (embedded wallet provider) | sign-with-privy.md |
| Prevent duplicate actions (double-spend prevention) | nullifiers.md |
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
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_URLis required for all examples. The Privy signing flow additionally requiresPRIVY_APP_ID,PRIVY_APP_SECRET,TREASURY_WALLET_ID, andTREASURY_AUTHORIZATION_KEY— get these at privy.io. Load secrets from a secrets manager, not agent-global environment. - Privy signing flow.
PRIVY_APP_SECRETandTREASURY_AUTHORIZATION_KEYare 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,Grepscoped to skill references, example repos, and docs. - Install source.
npx skills add Lightprotocol/skillsfrom Lightprotocol/skills. - Audited protocol. Audit reports at github.com/Lightprotocol/light-protocol/tree/main/audits.
如何使用「solana-payments-wallet-dev」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「solana-payments-wallet-dev」技能完成任务
- 结果即时呈现,支持继续对话优化