mergeTokenAccounts() function consolidates multiple compressed accounts of the same mint into a single compressed account.
The function
- consumes multiple compressed token accounts (up to 8 accounts), and
- creates a single output compressed token account with combined balance for the owner.
Full Code Example
1
Prerequisites
Make sure you have dependencies and developer environment set up!Prerequisites & Setup
Prerequisites & Setup
DependenciesDeveloper Environment
- npm
- yarn
- pnpm
- Localnet
- Devnet
By default, all guides use Localnet.
- npm
- yarn
- pnpm
2
Merging Compressed Accounts
Run this script to merge multiple compressed token accounts into one!merge-compressed-accounts.ts
Before we merge compressed accounts, we need
- Multiple compressed token accounts of the same mint owned by the same wallet, and
- an SPL mint with a token pool for compression. This token pool can be created for new SPL mints via
createMint()or added to existing SPL mints viacreateTokenPool().
Troubleshooting
No compressed token accounts found
No compressed token accounts found
The owner has no compressed token accounts for the specified mint:
Advanced Configuration
Conditional Merging
Conditional Merging
Merge Multiple Mints
Merge Multiple Mints