Referencing this documentation page: https://www.stellar.org/developers/guides/channels.html.

How does using a different source account to pay the transaction fee help increase your transaction volume and help guard against bad sequence numbers?

Is it because if I want to submit 100 transactions in parallel, I can use 100 different source accounts so it doesn't matter what order they reach the ledger because they all have the next sequence number for their source account? If I submit 100 transactions all from the same source account, and transaction 50 was received before 49, then 50 would fail and then 51-100 would fail because their sequence numbers would be off by 1.

I want to make sure I'm understanding the use case of channels properly. Is this what exchanges do when sending large amounts of stellar? Do they batch up transactions and have tons of source accounts?

1 Answer 1


The channel is a set of accounts from which you wish to consume sequence ids. This set should be as large as the maximal number of transactions you need to process concurrently. In this way, you can submit transactions in parallel without worrying about out-of-sequence errors.

It is situationally better than having multiple source accounts, because you can use these accounts for their administrative function only, whilst keeping a single account upon which operations will be performed.

It is better than batching transactions because you can issue each transaction as it is ready and not risk missing a ledger cut-off. It allows you to ignore ledger timing altogether.

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.