Skip to main content

Automation

Steer's automation platform is a web3 solution for automating smart contracts for any recurring on-chain tasks. Automation can routinely call methods on designated smart contracts, optionally passing in information utilizing off-chain data sources.

Automation will routinely call a determined method(s) on a contract with the same inputs each time. This can be used as an on-chain trigger, as an emergency check, to tend contracts, send recurring payments, or update contract state at regular intervals. The system was built for flexibility, we can’t wait to see what you build!

If you have a smart contract function that is required to be called routinely then automations are for you!

For example, let’s say you have a contract that acts as a trust fund that linearly releases funds to be claimed by the beneficiary. This contract contains a public function to send the available funds to the beneficiary. You can set up an automation that will call this function automatically based on an interval you set. Recognize that frequent executions will cost more gas.

Setting up the automation on Dapp

When setting up an automation you will have to register a vault. Vaults are used as your on-chain manager for all the automation you create. All automations are executed from this vault and you will deposit/withdraw gas for your automation in this vault. If the contract you wish to interact with via automation needs access controls, the address of the vault you deployed should be used. You only have to deploy the automation vault once per network.

The following is required to set up an automation:

  • The chain where the contract is deployed
  • The address of the contract
  • The desired method to be called
  • Any parameters that will be passed into the call

After connecting a wallet with the correct chain selected, you will input the target address. You will be prompted to select the desired method from the contract's ABI (if verified on Etherscan). Proxies will show the implementation's functions and not the proxy functions. After this, if the selected function requires any parameters you will enter the values to use on each call. Please note that these fields will be static. If circumstances change or you would like to change the behavior, pause the automation and simply create a new automation with the correct parameters.

note

If the values of the parameters need to change or be dynamic, use dynamic apps instead of inside the apps on the app.

You can now select the frequency of the execution, and fund the automation with gas. So long as there is a gas balance for the automation, the automation will continue to execute. You can effectively pause automation by withdrawing your gas for said automation and refunding the automation to unpause.

The automation vault you register tracks the gas balance for each automation separately, meaning that only funds you delegate for one automation will be used for that automation. Funds can be withdrawn at any time.