- The light-token API matches the SPL-token API almost entirely, and extends their functionality to include the light token program in addition to the SPL-token and Token-2022 programs.
- Your users use the same stablecoins, just stored more efficiently.
| Creation Cost | SPL | light-token |
|---|---|---|
| Token Account | ~2,000,000 lamports | ~11,000 lamports |
What you will implement
| SPL | Light | |
|---|---|---|
| Receive | getOrCreateAssociatedTokenAccount() | createLoadAtaInstructions() |
| Transfer | createTransferInstruction() | createTransferInterfaceInstructions() |
| Get Balance | getAccount() | getAtaInterface() |
| Tx History | getSignaturesForAddress() | rpc.getSignaturesForOwnerInterface() |
| Wrap from SPL | N/A | createWrapInstruction() |
| Unwrap to SPL | N/A | createUnwrapInstructions() / unwrap() |
Find full runnable code examples
here.
Agent skill
Agent skill
Use the payments-and-wallets agent skill to add light-token payment support to your project:For orchestration, install the general skill:
- Claude Code
- Cursor
- Any Agent
Add the marketplace and install:
- Guide
- AI Prompt
Setup
rpc, payer, mint, owner, recipient, and amount are defined.
See the full examples for runnable setup.Receive Payments
Find a full code example here.
About loading: Light Token accounts reduce account rent ~200x by auto-compressing inactive
accounts. Before any action, the SDK detects cold balances and adds
instructions to load them. This almost always fits in a single
atomic transaction with your regular transfer. APIs return
TransactionInstruction[][] so the same
loop handles the rare multi-transaction case automatically.- Instruction
- Action
Compare to SPL
Compare to SPL
Send Payments
Find a full code example: instruction | action.
- Instruction
- Action
Sign all transactions together
Sign all transactions together
Optimize sending (parallel conditional loads, then transfer)
Optimize sending (parallel conditional loads, then transfer)
Compare to SPL
Compare to SPL
Show Balance
Find a full code example here.
Compare to SPL
Compare to SPL
Transaction History
Find a full code example here.
getSignaturesForAddressInterface(address) if you want address-specific rather than owner-wide history.Compare to SPL
Compare to SPL
Wrap from SPL
Wrap tokens from SPL/Token-2022 accounts to light-token ATA.Find a full code example here.
- Instruction
- Action
Unwrap to SPL
Unwrap moves the token balance from a light-token account to a SPL-token account. Use this to compose with applications that do not yet support light-token.Find a full code example here.
- Instruction
- Action
One-time: Create interface PDA to existing SPL Mint
For existing SPL mints (e.g. USDC), register the SPL interface once. This creates the omnibus PDA that holds SPL tokens when wrapped to light-token.Find a full code example here.
- Instruction
- Action
Or: Create a new SPL mint with interface
Or: Create a new SPL mint with interface
Use
createMintInterface with TOKEN_PROGRAM_ID to create a new SPL mint and register the interface in one transaction:Sponsor Rent-Top Ups for Users
Sponsor rent top-ups for users
Abstract away SOL costs by sponsoring rent top-ups on behalf of your users.