Skip to main content

Why can't I include many payments in a batch payment on Solana?

Due to a Solana-native restriction, the maximum number of payments that can be included in a batch payment is limited to up to 18 payments per batch (19 if your batch only includes payments in SOL token). The actual number of payments that can be included depends on the transaction and tokens you're trying to include.

This limitation results from the transaction size limit of 1232 bytes that is native to Solana. Request can't influence this. The size that's required for payments depends on:

  • Whether it is an SPL* token or SOL

  • If it's an SPL token, the number of decimals of the token

To illustrate an example:

  • Any payment: ~150 bytes is the base overhead size needed per batch payment.

  • For USDC: ~60 bytes are needed for each payment → max. of 18 payments.

  • For USDT: ~91 bytes are needed for each payment → max. of 11 payments.

  • For SOL: ~56 bytes are needed for each SOL payment → max. of 19 payments.

Example: you have to make 20 USDC payments and 2 SOL payments. This will require two separate batch payments, as the total transaction size would otherwise exceed the limit of 1232 bytes per batch (< 1462 bytes = 150 bytes + 20*60 bytes + 2*56 bytes).

*SPL is the standard for fungible tokens similar to Ethereum's ERC-20. Most non-SOL tokens, such as USDC and USDT, are SPL tokens.

Did this answer your question?