Frequently Asked Questions (FAQ)
How do I renounce my Solana OFT's Freeze Authority?
The Freeze Authority is managed directly via the regular Solana token's (SPL/Token2022) interface and not through the OFT program or any LayerZero-specific tooling. The default OFT program does not utilize the Freeze Authority and renouncing it will not affect anything given an unmodified OFT program.
Note that for Solana OFTs created with --only-oft-store true
, meaning there are no additional minters, then the Freeze Authority has been renounced automatically at the start. It's only if you had specified additional minters, that the Freeze Authority would have been set to the 1 of N SPL multisig which would have the OFT Store and additional minter(s) as signers.
To renounce the Freeze Authority, any one of the additional minters can be used, since the SPL Multisig is a 1 of N.
If the additional minter address is a regular address, then the CLI can be used to renounce the Freeze Authority.
Assuming the local keypair belongs to the additional minter's address, you can run:
spl-token authorize <MINT_ADDRESS> freeze --disable
If the additional minter address is a Squads multisig, you may utilize the Token Manager if you are on the Squads Business or Enterprise Plan.
Why is sending an OFT to Solana more expensive than expected?
Solana has the concept of 'rent' which now actually refers to the amount needed to satisfy the minimum balance required to be rent-exempt. Any account created on Solana requires this 'rent' amount. The majority of the message 'fee' when sending an OFT to Solana is to pay for this 'rent'. This is specified either via enforced options or in extra options as the message value
.
More specifically, the 'rent' applies to token accounts that need to be created when an address receives any token on Solana. The 'rent' amount varies according to the size in bytes of the account that needs to be created.
Solana has two token account standards: SPL and Token-2022. SPL token accounts have a fixed size of 165 bytes, this results in a required rent amount of 0.00203928 SOL
. For Token-2022, token accounts can vary in size depending on which token extensions are enabled.
Given a cross-chain transfer from a chain to Solana (that sets the CU limit (message.gas
) to 200_000
), the following is a breakdown of how much SOL is needed to execute lzReceive
on Solana:
0.00203928 SOL (rent) + 0.000015 SOL (base fee) + 0.0002 SOL (priority fee) = 0.00225428 SOL
Breakdown:
- Base fee =
3 signatures × 5,000 lamports = 15,000 lamports = 0.000015 SOL
- Priority fee =
200_000 CU × 1 lamport per CU = 200,000 lamports = 0.0002 SOL
Given the above, the rent accounts for ≈ 90.43% of the total SOL needed for an lzReceive
execution for a Solana OFT. Note that the rent is not needed when the receiving address already has a token account.