Automation Concepts
Before you explore how Chainlink Automation works on the architecture page, you should explore core concepts.
Prerequisites:
Upkeeps and triggers
These are the jobs or tasks that you execute onchain. For example, you can call a smart contract function if a specific set of conditions are met. These specific conditions are called triggers. There are currently three types of triggers that the Chainlink Automation Network supports including:
- Time-based trigger: Use a time-based trigger to execute your function according to a time schedule. This feature is also called the Job Scheduler and it is a throwback to the Ethereum Alarm Clock. Time-based trigger contracts do not need to be compatible with the
AutomationCompatibleInterface
contract. - Custom logic trigger: Use a custom logic trigger to provide custom solidity logic that Automation Nodes evaluate (offchain) to determine when to execute your function onchain. Your contract must meet the requirements to be compatible with the
AutomationCompatibleInterface
contract. Custom logic examples include checking the balance on a contract, only executing limit orders when their levels are met, any one of our coded examples, and many more. - Log trigger: Use log data as both trigger and input. Your contract must meet the requirements to be compatible with the
AutomationCompatibleInterface
contract.
Automation nodes
Automation Nodes in the Chainlink Automation Network provide service to upkeeps that are funded and registered in the Automation registry. Automation Nodes use the same Node Operators as Chainlink Data Feeds.
Maximum logs processed for log trigger upkeeps
Chainlink Automation nodes look back over a limited range of the latest blocks on any particular chain. During this process, the nodes process a limited number of logs per block per upkeep, using a minimum dequeue method to ensure that the latest logs are processed first. After this, the nodes may process additional remaining logs on a best effort basis, but this is not guaranteed. If you need all the remaining logs to be processed, configure a manual trigger as backup.
Expect the following numbers of logs to be processed:
Chain | Logs per block per upkeep |
---|---|
Ethereum | 20 |
BSC (BNB) | 4 |
Polygon | 4 |
Avalanche | 4 |
Gnosis | 1 |
Optimism | 4 |
BASE | 4 |
Arbitrum | 1 log every 2 blocks, or 2 logs per second |
Note: Log triggers are not supported on Fantom.