SDK Error: "SDK does not support sending multiple accumulator messages in a single transaction" on Sui

:pushpin: Before Posting:
โ€“ Please select the appropriate product category from the dropdown when creating a topic.
โ€“ Use this category only for help topics related Pyth Price Feeds, Hermes, Price Pusher.
โ€“ You can remove these instructions when submitting your post.

:books: Check the Pyth Documentation for guides, known issues, and integration examples โ€” your answer might already be there.

Hi Pyth team,

We are seeing the following error for the first time in production:

Error: SDK does not support sending multiple accumulator messages in a single transaction

We need to understand why this is happening.
Under what conditions does the system return multiple accumulator messages that the current SDK cannot handle in a single transaction?
It is a new issue for us and currently hard to reproduce.

:link: Chain: Sui Mainnet

:stopwatch: Timestamp: Jan 7, 2026 2:46:38 PM UTC

:test_tube: Steps to reproduce: Intermittent occurrence when calling updatePriceFeeds.

const priceFeedUpdateData = await this.connection.getPriceFeedsUpdateData(priceIds);

const client = new SuiPythClient(suiClient, PYTH_STATE_ID, WORMHOLE_STATE_ID);

const priceInfoObjectIds = await client.updatePriceFeeds(tx, priceFeedUpdateData, priceIds);

We are not entirely sure where the multi-message data originates (whether itโ€™s the price service or a Sui-specific behavior), but we pass the result of getPriceFeedsUpdateData directly to the client without processing.

Name of the dApp/Project: Deeptrade

Contact: Telegram: Contact @oxobased

Main Question:

Why is this happening now? Under what conditions does the system return multiple accumulator messages that the current SDK cannot handle in a single transaction?

Our implementation has been stable for months, so we have no idea why itโ€™s appeared today.

Thanks.

Hi @based ,

It is indeed a bug on our SDK side and the inconsistency is frustrating. Until we fix it, the solution is to create transactions separately for each element in updateData (as in to iterate and union them all together).

This normally shouldnโ€™t happen and thatโ€™s why you havenโ€™t seen it before. It either happens when there are over 255 feeds or the updates are coming from different blocks on Pythnet. The latter is almost impossible if itโ€™s getting the โ€œlatestโ€ price updates but can happen rarely on making requests on historical data. If this is the latter, could you provide more information (like the time, response, ..) for us to investigate further?

1 Like