Skip to main content
The transfer() function moves compressed tokens between accounts.
  • SPL token transfers that update the existing account
  • Compressed token transfers consume input accounts from the sender and create new output accounts for sender and recipient with updated balances.
SPL token accounts can be compressed in the same transaction with compress_or_decompress_amount, if needed.
function-transfer-compressed-tokens.ts

Get Started

1

Transfer Compressed Tokens

Install packages in your working directory:
Install the CLI globally:
In the code examples, use createRpc() without arguments for localnet.
The SPL mint must have an SPL Interface PDA for compression.
The script creates it for you.
For development, create a new mint with SPL interface via createMint() or add an SPL interface to an existing mint via createSplInterface().

Troubleshooting

The sender doesn’t have enough compressed tokens for the requested transfer amount.
The transfer requires more than 4 compressed accounts, which exceeds the transaction limit.

Advanced Configuration

Transfer to multiple recipients in separate transactions:
Transfer tokens using delegate authority:

Next Steps

How to Compress and Decompress SPL Tokens