Setting and Checking permissions

In this guide we're going to give the Voting app permission to use the Agent app to execute actions.

To assign these permissions we need to get a hold of the Ethereum address of the Agent app -- remember Agent is a fully-fledged Ethereum account -- as well as the address of the Voting app in our DAO.

The Agent app address can be found by running the dao apps command. dao apps takes one argument: the address or name of an aragon DAO.

By default it only returns apps with permissions. But we can use the --all option to get it to return apps without permissions.

From the command line run:

dao apps <dao-address-or-name> --all --use-frame --env aragon:rinkeby

You should see a table that looks something like this:

This can take a couple of minutes

AppProxy addressContent



(No UI available)



(No UI available)



(No UI available)













Followed directly by another that looks like this:

Permissionless appProxy address



The 'permissionless app' is the Agent app we've just installed. Its address is listed under Proxy address in the bottom table. In this guide that's 0x843bfA21a040E742ec32b8F6991e182D9655AF21. Yours will be slightly different however.

You should see that you can also find your Voting app's address by looking up the Proxy address of the voting app in the first table. In this guide that's 0x15a102f80ea3b1bd585a044e9b3c39a84c5f44e5. Again, yours will be different!

Another way you can find your Voting app's address is to use the UI:

  1. Click on App Center in the left panel to see your installed apps.

2. Click on the View details button under the voting app.

3. Click on the blue box under Installed instances (see inside the red ellipse in the image below).

4. You should see a small pop up appear with a header that says Address. Under the header is the address of your voting app. It should look something like 0x15a102f80ea3b1bd585a044e9b3c39a84c5f44e5. Again, yours will be different!

Note: the above process works with any permissioned app!

Once you've located your Agent and Voting app addresses, run the following command to give your Voting app permission to use the Agent app to execute actions.

dao acl create <dao-address-or-name> <agent-address> EXECUTE_ROLE <your voting app address> <your voting app address> --use-frame --env aragon:rinkeby

You should see a transaction appear in Frame Wallet. Sign and you should see the following appear in the terminal:

✔ Executing createPermission on <dao-address-or-name>.aragonid.eth

✔ Successfully executed: "Execute desired action as a token holder"

The Agent app does not yet appear in your DAO UI (User Interface). A vote has been generated (in the true spirit of democracy) to confirm the Voting app permission to use the Agent app to execute actions .

To confirm the vote:

Find the vote in the Voting app (left menu bar). Then View vote, click Yes and sign the transaction with your favourite web3 provider (like Frame) and voila!

Now the Agent app should appear in the left menu bar! 🥳

5. Check permissions

As a final step, let's verify that permissions have been set properly through the UI:

  1. Click on the Permissions menu option in the left panel. You should see the Agent app at the end of the second row. Click on it.

Under Actions available on this app should see that the Voting app now manages who has the ability to execute actions for the Agent app:

Well done! Now it's time to start interacting with Aragon agent!

Last updated