Skip to content

How PoolTogether Automates Operations Using OpenZeppelin Defender


This workshop was recorded on July 14th 2021 and led by Aodhgan Gleeson, Senior Smart Contract Engineer at PoolTogether and Santiago Palladino, Lead Developer at OpenZeppelin.

The workshop covers the following:

  • How PoolTogether uses OpenZeppelin Defender, by building a Sentinel for detecting low funds on an ERC20
  • Setting up a Defender Sentinel for monitoring a contract 
  • Using an Autotask for defining custom conditions for matching transactions 
  • Alerting via multiple channels and throttling alerts

You can watch the video, view the slides, and learn how to use Defender to automate your smart contract operations.

PoolTogether’s Automated Operations

PoolTogether is a lossless lottery built with smart contracts, where users have the ability to deposit and withdraw tokens from a prize pool. Prizes are awarded using Chainlink’s VRF function (Verifiable Random Function). PoolTogether leverages Defender to automate the award cycle process and monitor the LINK balance. 

Operations are kicked off with a simple Defender Autotask used to call PoolTogether’s start-award and complete-award functions. For price strategies using the Chainlink VRF, a conditional Autotask will pull the relevant address from a data-rich object and check the ERC20 LINK balance. Defender Sentinels are then set up to alert the team via Discord of balances. Because PoolTogether supports multiple networks, several automations are engaged to ensure that the different fee structures are properly monitored. 

This is just one example of how Autotasks and Sentinels can work together to securely automate and monitor your applications operations. To learn more about Defender join our next demo with the OpenZeppelin team and sign up for a free account on the testnet




To see the slides from the webinar click here.

Learn more

Learn more about OpenZeppelin Contracts and sign up for a free Defender account.

See the documentation: 

OpenZeppelin Defender Documentation

Be part of the community