[![CircleCI](https://circleci.com/gh/1Hive/delay-app.svg?style=svg)](https://circleci.com/gh/1Hive/delay-app) [![Coverage Status](https://coveralls.io/repos/github/1Hive/delay-app/badge.svg?branch=master&service=github)](https://coveralls.io/github/1Hive/

Usage no npm install needed!

<script type="module">
  import 1hiveAppsDelay from 'https://cdn.skypack.dev/@1hive/apps-delay';



CircleCI Coverage Status

The delay app enables Aragon organizations to require a configurable delay between when an intent is sent and when it is executed.

🚨 Security Review Status: Contract audited

How does it work?

The Delay app keeps track of the time left until scripts can be executed, the script to execute, and the time that the script was paused at.


The Delay app is initialized with the _executionDelay parameter. This defines the default length that a user will have to wait to execute a delayed script, provided it is not paused at some point during the delay.


The Delay app should implement the following roles:

  • SET_DELAY_ROLE: This allows for changing the executionDelay period.

    Note: Changing the execution delay does not affect current delays.

  • DELAY_EXECUTION_ROLE: Any entity with this role can delay an intent.
  • PAUSE_EXECUTION_ROLE: This allows for pausing a delay.
  • RESUME_EXECUTION_ROLE: This allows for resuming a paused delay.
  • CANCEL_EXECUTION_ROLE: This allows for cancelling a delay.


Check out our user guide to go through the functionality of the app.

How to run the Delay app locally

Git clone this repo.

git clone https://github.com/1Hive/delay-app.git

Navigate into the delay-app directory.

cd delay-app

Install npm dependencies.

npm i

Deploy a dao with Delay app installed on your local environment.

npm run start:template

Aragon DAO Installation

For a detailed step by step guide you can see our installation guide

To deploy to an organization you can use the aragonCLI.

aragon dao install <dao-address> delay.aragonpm.eth --app-init-args <delay-execution>


We welcome community contributions!

Please check out our open Issues to get started.

If you discover something that could potentially impact security, please notify us immediately. The quickest way to reach us is via the #dev channel in our team Keybase chat. Just say hi and that you discovered a potential security vulnerability and we'll DM you to discuss details.