-
Notifications
You must be signed in to change notification settings - Fork 0
Solana Transactions
Andrei Montchik edited this page Apr 15, 2026
·
1 revision
- The maximum size of a transaction is 1232 bytes.
- A transaction signature size is 64 bytes. Max number of signatures is 19.
- An account size is 32 bytes. Max number of accounts is 35.
- Max age of a transaction is 150 blocks.
Calculate Transaction Fees and Compute Units
- The static Transaction Fee is 5_000 lamports (0.000_005 SOL) per a signature. That would be the only fee paid in case if the Prioritization Fee is not set.
- The Transaction Prioritization Fee is measured in Compute Units per instruction.
- The CU limit is set for a transaction. If not set, the Default CU limit is 200_000 per instruction.
- Set CU limit, not actual number of consumed CUs, will be used to calculate Prioritization Fee.
- CUs price is measured in micro-lamports (0.000_001 lamports).
- Setting CU price enables the Prioritization fee calculation, which is a product of CU limit and CU price.
- The simulateTransaction RPC call return number of required CUs.
- The getSimulationComputeUnits does pretty much the same. It requires intalling the
solana-developers/helpersNodeJS module though. - The getFeeForMessage PRC method returns the message fees in lamports.
- Formula: FEE_SOL=<CU_LIMIT> * <CU_PRICE> / 1_000_000_000_000_000 + 5_000 / 1_000_000_000
- Transfer Tokens:
solana transfer --from <KEYPAIR> <RECIPIENT_ACCOUNT_ADDRESS> <AMOUNT> --fee-payer <KEYPAIR> - Check the transaction status:
solana confirm <TRANSACTION_SIGNATURE> -
Check out the latest prioritization fees:
curl https://api.mainnet-beta.solana.com -X POST -H "Content-Type: application/json" -d ' { "jsonrpc":"2.0", "id":1, "method": "getRecentPrioritizationFees" } ' - Helius CLI