2

I know Solana has a size limit on transactions. If I wanted to distribute solana from one account to hundreds of accounts, what would be the fastest way to go about it, in as few transactions as possible?

I was thinking I could pack as many transfer instructions as possible into a transaction, but I wanted to know if there was a set limit on how many instruction can fit into one transaction.

2 Answers 2

2

Max tx size is 1232. Transfer takes two accounts: from and to, which are 32 bytes each, plus an amount, which is a number or bigint, so let's call it 8 bytes max.

However Solana is smart about packing your accounts, so since you are sending all the txes using the same from account, it will only send that key once. I am not sure if it will do the same if the amount for each tx is identical as well, let's assume it does not.

32 (from) + 32 (to) * x + 8 (amount) * x = 1232

1200 = 40x, x = 30 transfers in one tx.

However there's also some overhead for the signer, so I'd expect ~28 in practice.

0

The max transaction size is 1232 bytes so maybe max around 4-5 but if you use transaction v2 then you can add together more accounts and data which will allow you to have many transfer instructions in one transaction. better check it out here

1
  • Is it possible to create a v2 transaction using web3.js for solana? Commented Nov 30, 2022 at 12:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.