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

Full Code Example

1

Prerequisites

Make sure you have dependencies and developer environment set up!
Dependencies
Developer Environment
By default, all guides use Localnet.
2

Transfer Compressed Tokens

Run this script to transfer compressed tokens to a recipient!
transfer-compressed-tokens.ts
Make sure the SPL mint has a token pool for compression.
The script creates this token pool for you.
For development, you can create a new mint with token pool via createMint() or add a token pool to an existing mint via createTokenPool().

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

Learn how to compress and decompress SPL tokens.