Chainlink Automation Is Now Live On Mainnet, Bringing Secure, Low Cost Off-Chain Computation to dApps
DeFi innovation took off once projects could outsource their oracles to decentralized solutions like Chainlink Price Feeds. Developers no longer needed to build core backend infrastructure, shifting their focus entirely to creating novel DeFi products. Similar to oracles, Chainlink Automation expedites hybrid smart contract innovation by giving developers access to secure and reliable off-chain computation services. Developers don’t need to perform manual processes, rely on centralized services, or implement deep protocol changes in order to automate on-chain functions when predefined conditions occur—they can simply outsource jobs to Chainlink Automation nodes.
After a successful beta launch, which included live testing by an initial set of users, we’re excited to announce that Chainlink Automation is now live on Ethereum mainnet and fully open to the public. Any individual developer, decentralized application, and DAO can now leverage Chainlink Automation as a decentralized off-chain computation layer to reliably trigger key smart contract functions and introduce advanced utility to their dApp using custom parameters.
Chainlink Automation can be leveraged to perform a variety of DevOps services and off-chain computations on behalf of hybrid smart contracts, including to:
- Execute limit orders on decentralized exchanges
- Mint tokens when reserves increase
- Harvest yield from vaults
- Rebase elastic supply tokens
- Rebalance on-chain trading and yield farming strategies
- Liquidate undercollateralized loans
- Release locked assets after periods of inactivity
- Top up token balances falling below a minimum threshold
- And many more possibilities yet to be discovered
If you want to use Chainlink Automation in your application today, sign up using the following link: https://automation.chain.link/. If you want to talk to an expert about an integration, reach out here.
Development teams can also register and manage Chainlink Automation jobs directly within the OpenZeppelin Defender platform—a security operations suite for Ethereum and EVM-based projects: https://docs.openzeppelin.com/defender/guide-chainlink.
Chainlink Automation: Proven Infrastructure for Smart Contracts
The Chainlink 2.0 whitepaper outlined an ambitious vision for the Chainlink Network, one in which Decentralized Oracle Networks (DONs) perform decentralized off-chain computation in addition to data transmission between and among on-chain and off-chain environments. Alongside Chainlink VRF and OCR, Chainlink Automation marks a major upgrade in the array of off-chain computation services that hybrid smart contract developers can obtain through Chainlink DONs, particularly for automating smart contract functions based on predefined conditions.
Smart contracts are deterministic programs running on blockchains that use inputs in the form of on-chain transactions to trigger their embedded logic and generate outputs. Developers use automation jobs to create verifiable event-based inputs, where the input will only be broadcast on-chain to trigger the smart contract if certain conditions are met. Some automation jobs are simple like calling a yield harvesting function once a week at a specific time, while other automation jobs are more advanced, such as calling a liquidation function when a user’s loan is undercollateralized. Each of these automation jobs involves running off-chain computation to verify conditions were satisfied before triggering on-chain functions.
Chainlink Automation empowers developers to unlock the extensive and largely untapped design space for smart contract management based on verifiable conditional inputs. Chainlink Automation provides both a highly programmable framework for designing advanced automation jobs using off-chain computation and a decentralized network of provably reliable nodes to outsource the execution of automation jobs too.
Chainlink Automation give developers decentralized off-chain computation that’s optimized to provide important features, most notably:
- Maximum reliability—Chainlink Automation is run by the same professional DevOps that already secure tens of billions of dollars in value for Chainlink Price Feeds, and function within a decentralized architecture backed by automated failover to ensure high reliability without single points of failure.
- On-Chain Verification—Chainlink Automation is supported by a robust set of on-chain monitoring tools and generates EVM calldata on their off-chain computations, enabling users to evaluate the inputs of Automation nodes and verify conditions before performing critical on-chain work.
- Low costs—Chainlink Automation performs complex computations off-chain and leverages a rotating node selection framework to prevent gas price auction wars, leading to both lower and more stable costs.
Bringing Automation to the Growing Chainlink Ecosystem
With hundreds of users currently relying on or actively integrating Chainlink decentralized services like Price Feeds, VRF, and Proof of Reserve, Chainlink Automation brings entirely new functionality to the Chainlink ecosystem—empowering each project to build more advanced hybrid smart contract applications that generate additional value for their users.
Below are several use cases already live or being pursued by Chainlinked projects, showcasing the many unique capabilities that Automation brings to the Chainlink ecosystem.
Aave is a DeFi liquidity protocol that enables users to supply and borrow crypto-assets, and earn yield on assets supplied to the protocol. Chainlink Automation will be used to monitor the health of users’ borrow transactions off-chain by consistently computing the collateralization and checking if the collateralization ratio has dropped below the pool’s predefined liquidation threshold (e.g. 150%). If found to be undercollateralized, Chainlink Automation will call the Aave Protocol’s liquidation function, ensuring that borrowers’ positions remain solvent, even during times of heavy market volatility and network congestion. This becomes especially critical when liquidating a position that is not economically viable for liquidators and that may otherwise be left undercollateralized. Each Automation node is economically incentivized to perform all registered upkeeps, ensuring that all positions are promptly liquidated even if they are not profitable.
PoolTogether is an open-source and decentralized protocol for no-loss prize games. Users deposit interest-bearing tokens into a prize pool, where all interest earned by the pool is awarded to a random winner at the end of a predefined period of time. Chainlink Automation is used to constantly monitor pools and call PoolTogether’s smart contract to notify them when games start and end, resulting in fully automated no-loss prize games and payouts.
Synthetix is a decentralized derivatives protocol where users can get on-chain exposure to over-collateralized synthetic assets and trade them with zero slippage against a liquidity pool contract. Synthetix will be using Chainlink Automation for their Fee Period Closing service. Chainlink Automation will call this function after the fee period duration has ended to automate the distribution of synthetix.exchange fees and staking rewards.
Chainlink’s Growing Automation Ecosystem
- Bancor: an automated market maker-based decentralized exchange supporting single-sided liquidity pools and impermanent loss protection. Bancor plans to integrate Automation as a part of their upcoming V3 update to further simplify the DeFi experience for end-users and add advanced utility to their AMM protocol.
- Alchemix: a self-repaying lending protocol that deposits user collateral into Yearn’s yield aggregation vaults, where the interest generated is used to pay down user loans. Alchemix plans to use Automation to trigger vault harvesting and vault flushing each day, enabling seamless user debt repayments and the new deposits into Yearn.
- BarnBridge: a DeFi risk tokenization protocol that creates derivatives for hedging yield sensitivity and market price volatility. BarnBridge leverages Chainlink Automation in their SMART Exposure product to monitor the exposure ratio of tokenized positions off-chain and call BarnBridge’s on-chain contract when it’s time to rebalance the vault.
- Many More: a wide range of DeFi applications plan to or already use Chainlink Automation in-production to securely trigger smart contract functions including Visor Finance, ParaSwap, yAxis, Base Protocol, EthSign, Nifty Royal, B Protocol, Impermax, Flurry Finance, DeFi Network, Finance.vote, and many more to come.
How to Use Chainlink Automation in Your App
Chainlink Automation supports a diverse array of configurations regarding how off-chain computation is performed and verified on-chain. Some of the design considerations for developers include:
Trigger Condition Validation
While Chainlink Automation nodes are responsible for calling on-chain functions when trigger conditions are met, developers can customize how their smart contract handles validation of Chainlink Automation transactions before the contract’s logic is executed.
- Trigger when conditions are met without validation—state changes must be performed when predefined conditions are met, but performing state changes when conditions are not met does not present any issues, such as harvesting yield from vaults before the day ends or topping up state channel token balances before the threshold minimum is hit. In this case, condition validation within the smart contract is not required but potentially still good to minimize upkeep call fees that provide little value to users.
- Trigger only when conditions are met with validation—state changes must be performed when conditions are met, but performing such action when the condition is not met is inappropriate, such as liquidating undercollateralized loans or vesting tokens from a lockup contract. In this case, conditional validation must occur within the smart contract when the performUpkeep function is called, such as checking an on-chain price reference contract or block number to ensure the state change is valid before execution.
Perform Expensive Computation Off-Chain to Limit On-Chain Costs
Another parameter developers can customize is maximizing off-chain computation by Chainlink Automation as a means of minimizing on-chain costs, particularly to reduce the necessary inputs given to an on-chain function call.
One design pattern involves performing off-chain conditional checks on a large number of addresses and states, e.g., seeing which addresses are eligible for an airdrop and then executing an on-chain state change on the subset that meet the contract’s conditions. Developers can pass the appropriate inputs when calling the on-chain function based on the results of the checkUpkeep call. Conditional validation is ideally still performed on-chain by the smart contract, but the gas consumed is minimized since the upkeep only passes a subset of relevant inputs to validate.
Set Up Multiple Upkeeps on the Same Smart Contract
There also exists architecture patterns that use smart contracts to process multiple upkeeps, helping developers manage on-chain costs and build customized triggers for more advanced dApps like having multiple and different conditional validations before execution. For example:
- Manage unbounded upkeeps—limit the computational complexity of the contract’s on-chain execution by creating a range bound for Chainlink Automation to check and perform, minimizing unnecessary on-chain computation. This allows developers to keep on-chain executions within a predefined set of activities, resulting in a predictable upper bound on the cost of transaction execution.
- Configure checkUpkeep function—design smart contract logic that can go down different code paths based on the Chainlink Automation calldata, enabling a multitude of varying executions within a single contract function. This can be used in creative ways based on a developer’s unique use case needs, such as triggering a yield harvest for specific farms if conditions are met or reinvestment of a particular position if conditions are not met.
For developers wanting detailed information on how to start building with Chainlink Automation, read the following documentation: https://docs.chain.link/docs/chainlink-automation/introduction/.
The Future of Advanced Hybrid Smart Contracts Powered By Secure Off-Chain Computation
Chainlink Automation is the next installment in a much more advanced set of decentralized services available to developers wanting to build next-generation hybrid smart contracts that unlock substantially more value for users. Not only can developers leverage Chainlink oracle infrastructure for secure connections to external data feeds, but they can utilize Chainlink Automation to trigger on-chain functions based on predefined events, all in a highly secure, reliable, low-cost, and on-chain verifiable manner.
Ultimately, it’s another step towards making Web 3.0 development as sophisticated and agile as Web 2.0 development, bringing provably reliable data and secure off-chain computation services to the fingertips of developers. Access to time-tested and easy-to-integrate DONs empower developers to focus on core protocol and product development, leading to more innovation within the smart contract economy and greater social impact within the wider world. Chainlink Automation is only the beginning of the larger Chainlink 2.0 vision to provide a full suite of off-chain computation services to augment and enhance what developers can build using blockchains.
Learn more about Chainlink Automation by visiting https://chain.link/automation or reading the Chainlink documentation at https://docs.chain.link/docs/chainlink-automation/introduction/. We encourage developers to share any feedback on Discord so we can expand upon Chainlink Automation and make it even more reliable, usable, and feature-rich.