@lightprotocol/compressed-token - v0.23.0-beta.8
    Preparing search index...

    Variable DEFAULT_COMPRESSIBLE_CONFIGConst

    DEFAULT_COMPRESSIBLE_CONFIG: CompressibleConfig = ...

    Default compressible config for light-token ATAs - matches Rust SDK defaults.

    • tokenAccountVersion: 3 (ShaFlat) - latest hashing scheme
    • rentPayment: 16 - prepay 16 epochs (~24 hours rent)
    • compressionOnly: 1 - required for ATAs
    • writeTopUp: 766 - per-write top-up (~2 epochs rent) when rent < 2 epochs
    • compressToAccountPubkey: null - required for ATAs

    Cost breakdown at associated token account creation:

    • Rent sponsor PDA (LIGHT_TOKEN_RENT_SPONSOR) pays: rent exemption (~890,880 lamports)
    • Fee payer pays: compression_cost (11K) + 16 epochs rent (~6,400) = ~17,400 lamports + tx fees

    Per-write top-up (transfers):

    • When account rent is below 2 epochs, fee payer pays 766 lamports top-up
    • This keeps the account perpetually funded when actively used

    Rent calculation (272-byte compressible ctoken account):

    • rent_per_epoch = base_rent (128) + bytes * rent_per_byte (272 * 1) = 400 lamports
    • 16 epochs = 16 * 400 = 6,400 lamports (24 hours)
    • 2 epochs = 2 * 400 = 800 lamports (~3 hours, writeTopUp = 766 is conservative)

    Account size breakdown (272 bytes):

    • 165 bytes: SPL token base layout
    • 1 byte: account_type discriminator
    • 1 byte: Option discriminator for extensions
    • 4 bytes: Vec length prefix
    • 1 byte: extension type discriminant
    • 4 bytes: CompressibleExtension header (decimals_option, decimals, compression_only, is_ata)
    • 96 bytes: CompressionInfo struct