Virtual TestNets are live! ⚡️ Test and stage dapps on real-time production data.
Get started →

All Products

Web3 Actions

FAQ: Web3 Actions

What’s the difference between WRITE, COPY ON WRITE, and EMPTY storage types?


  • Write: This type is selected by default. It’s always used in automatic triggers and writes data on the main storage. Please note that this type can potentially overwrite data on the main storage.
  • Copy on write: This type creates a copy of the main storage as temporary storage. It can be selected for manual triggers. Once a trigger stops running, everything that was written in the temporary storage won’t be saved.
  • Empty: This type creates temporary empty storage. It can be selected for manual triggers. The empty storage type doesn’t have any reference to the main storage. Once a trigger stops running, everything that was written on this type of storage will disappear.

Do contracts need to be verified to be used in Web3 Actions?


Yes, contracts need to be verified and added to your project on Tenderly to be used in Web3 Action triggers. Otherwise, the CLI will throw a warning.

Learn more about triggers and how they work here.

What is the allowed number of Web3 Actions per project?


The allowed number of Web3 Actions per project is 10. If you try to deploy an Action and you’ve reached the limit, you’ll get the following error message:

The request failed with a status code of 400 and status message of '400 Bad Request'

What is the storage limit?


The storage limit is currently 100KB, which is not limited by the number of keys. You’re able to add as many keys as you want as long as their combined size is equal to or less than 100KB.

What is the execution timeout for Web3 Actions?


The current execution timeout is 20s, after which the execution will be terminated. If more time is needed, you can contact our support team to discuss your use case. Get more information on the execution status types.

I have a tenderly.yaml file with two Web3 Actions with the same trigger (a certain contract event). Will the first action declared in the manifest file always be invoked before the second one?


Two separate Web3 Actions with the same trigger are executed in parallel since they’re isolated entities unaware of one another.