Compression Best Practices
Rules for scaling compressed NFTs without RPC pain, stale proofs, or tree capacity incidents on Agave 4.1.1.
Search across all documentation pages
Rules for scaling compressed NFTs without RPC pain, stale proofs, or tree capacity incidents on Agave 4.1.1.
getAssetsByGroup for galleries. Respect rate limits on launch day.id for follow-up calls. Not tree pubkey or leaf index alone.getAssetProof immediately before sign. Stale root is top failure mode.Tree capacity exceeded or DAS overload hiding successful mints from gallery.
Umi + mpl-bubblegum + DAS URL + @solana/kit for sends.
Under ~2k unique on-chain NFTs where Core rent is acceptable.
Fetch asset + proof in one pre-sign pipeline; reject if older than few seconds during hot windows.
Recommended for mainnet collections with ongoing mint rights.
Root mismatch -> refetch proof. Missing asset -> check indexer lag. Tx too large -> review canopy.
Surfpool 0.12.0 + devnet DAS + two-wallet transfer test.
Verify cNFT support; proofs may be needed at list time per venue.
Document whether burns are allowed; proof-based burn like transfer.
Prefer client Bubblegum flows unless audit covers CPI proof accounts.
Stack versions: This page was written for Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0, and LiteSVM 0.6.x.
Reviewed by Chris St. John·Last updated Jul 16, 2026