LogoLogo
These products have been deprecated and are no longer being maintained. For a better experience and support, please check out our new stack Aragon OSx.
Aragon Legacy Documentation
Aragon Legacy Documentation
  • 🔷Aragon
    • Aragon Legacy Documentation
    • Aragon Values, Finances, and Legal
      • Legal and technical infrastructure
      • Financial infrastructure
      • Meet your DAO support network
    • Learn about DAOs
      • What is a DAO?
      • Why do we need DAOs?
      • What is decentralized autonomous governance?
      • What is the AN DAO?
      • TAO Voting
      • Why use Aragon to build a DAO?
  • 🌐Products
    • Prerequisites
    • Quickstart
    • Setting up a Metamask Wallet
      • Getting started with Ethereum
      • Getting started with Goerli Testnet
      • Getting started with Polygon
      • Getting started with Mumbai Testnet
      • Getting started with Harmony
      • Getting started with Harmony testnet
      • Getting started with Metis Andromeda
      • Getting started with Stardust Testnet
      • Getting started with BSC Testnet
      • How to sign a transaction?
      • Import your seed wallet to Metamask
      • Gas Tracker
    • Setting up a Frame Wallet
    • Setting up a Gnosis Safe MultiSig Wallet
    • Aragon Client
      • What is Aragon Client
      • How to create a DAO
        • Templates
        • Using the Company Template
        • Using the Membership Template
        • Use the Reputation template
      • How to create a DAO on Polygon
      • How to create a DAO on Harmony
      • How to navigate your DAO
        • Home
        • The Apps
          • Tokens App
          • Voting App
          • Finance App
          • Agent App
            • How to install the Agent App in your DAO
            • Using Agent with Frame
        • System Setting
          • Permissions Setting
          • App Center
          • Organization Setting
      • After you've started a DAO
        • How to change the Quorum of your DAO
          • Change Quorum using Aragon Console
          • Change Quorum using EVMcrispr
        • How to create a Legal Wrapper for your DAO with Otoco
        • How to Operate your DAO from your Mobile Phone
      • How to Brick your DAO 🧱
    • Aragon Govern
      • What is Aragon Govern?
      • How to create a Govern DAO
      • Navigate into your Govern DAO
        • How to mint and assign DAO tokens to others
        • How to deposit funds
        • Challenging a transaction
      • Reasons for the delay period in the transaction
      • Collateral for scheduling or challenging a transaction. Why?
      • Acting as a guardian for an Aragon Govern dispute
      • Using the Client DAO with the Govern DAO
    • Aragon Voice
      • What is Aragon Voice?
      • Creating a voting proposal
      • Creating a voting proposal using your token
      • Voting on a proposal
    • Aragon Vocdoni
      • What is Aragon Vocdoni
      • Creating a Vodconi organization
      • Accessing your Vocdoni organization
      • Navigating your Vocdoni organization
        • Creating a voting proposal
        • Voting on a proposal (anonymous voting disabled)
        • Voting on a proposal (anonymous voting enabled)
    • Aragon Court
      • What is Aragon Court
      • Court Dashboard
      • Dispute lifecycle
      • Acting as guardian for a dispute
      • Glossary
  • 🛠️Developers
    • Legacy Developer Documentation
    • General Tools
      • The Basics
        • Before starting
        • Quick start
        • Tech Stack
        • App permissions
        • Forwarding
        • Upgradeability
        • Package management
        • Templates
        • Aragon client
        • Human readable transactions
      • Guides
        • How to create your first custom DAO using Aragon CLI!
        • How to use the Agent App
          • Installing Aragon Agent from aragonCLI
          • Setting and Checking permissions
          • Interacting with Aragon Agent
        • How to build your first Aragon App!
        • How to publish an Aragon App to aragonPM
        • How to migrate existing Aragon App to Buidler plugin
        • How to change the Quorum of your DAO
          • Change Quorum using Aragon Console
          • Change Quorum using EVMcrispr
        • Deploying Aragon Client in new Chains
          • Deployments information
            • Harmony testnet
            • BSC Tesnet
            • Harmony
            • Metis stardust
            • Metis Andromeda
        • How to Brick your DAO 🧱
        • How to sign with Web3 providers
          • Setting up a Metamask Wallet
            • Import your seed phrase into Metamask
            • Import your private key into Metamask
            • Sign a transaction with Metamask
          • Setting up a Frame Wallet
            • Sign a Transaction with Frame
        • Troubleshooting
      • aragonOS
        • Introduction
        • Motivations
        • Developing with aragonOS
        • Reference documentation
        • Migrating to aragonOS 4 from aragonOS 3
        • Reference (aragonOS 3)
        • Smart Contract References
          • ACL
            • ACL
            • ACLSyntaxSugar
            • ACLHelpers
            • IACL
            • IACLOracle
          • APM
            • APMNamehash
            • APMRegistry
            • APMInternalAppNames
            • Repo
          • APPS
            • AppProxyBase
            • AppProxyPinned
            • AppProxyUpgradeable
            • AppStorage
            • AragonApp
            • UnsafeAragonApp
          • COMMON
            • Autopetrified
            • ConversionHelpers
            • DelegateProxy
            • DepositableDelegateProxy
            • DepositableStorage
            • EtherTokenConstant
            • IForwarder
            • IForwarderFee
            • IVaultRecoverable
            • Initializable
            • IsContract
            • Petrifiable
            • ReentrancyGuard
            • SafeERC20
            • TimeHelpers
            • Uint256Helpers
            • UnstructuredStorage
            • VaultRecoverable
          • ENS
            • ENSConstants
            • ENSSubdomainRegistrar
          • EVMSCRIPT
            • EVMScriptRegistry
            • EVMScriptRunner
            • IEVMScriptExecutor
            • IEVMScriptRegistry
            • EVMScriptRegistryConstants
            • ScriptHelpers
          • EVMSCRIPT/EXECUTORS
            • BaseEVMScriptExecutor
            • CallsScript
          • FACTORY
            • APMRegistryFactory
            • AppProxyFactory
            • DAOFactory
            • ENSFactory
            • EVMScriptRegistryFactory
          • KERNEL
            • IKernel
            • IKernelEvents
            • Kernel
            • KernelAppIds
            • KernelNamespaceConstants
            • KernelProxy
            • KernelStorage
      • aragonCLI
        • Introduction
        • Main commands
        • DAO commands
        • APM commands
        • IPFS commands
        • Global configuration
      • aragonPM
        • Introduction
        • Architecture
        • Reference documentation
      • aragonAPI
        • Introduction
        • Javascript
          • Quick Start
          • App API
          • React API
          • Wrapper
          • Providers
          • Architecture of apps
          • Background Scripts
      • aragonUI
        • Getting started
        • How to upgrade
        • BASE
          • Spacing
          • Colors
          • Text styles
          • Icons
          • Main
        • ACTIONS
          • Button
          • ContextMenu
        • NAVIGATION
          • Tabs
          • Pagination
          • BackButton
          • Link
          • Header
        • STRUCTURE
          • Bar
          • Box
          • Card
          • Split
          • DataView
          • Table
          • EmptyStateCard
          • IdentityBadge
          • TransactionBadge
          • Tag
          • Accordion
          • Timer
          • TokenAmount
          • EthIdenticon
          • TransactionProgress
        • DATA ENTRY
          • AutoComplete
          • DateRangePicker
          • DropDown
          • Switch
          • Radio
          • CheckBox
          • Slider
          • TextInput
          • SearchInput
          • AddressField
          • RadioGroup
          • RadioList
          • TextCopy
          • Field
        • VISUALIZATION
          • CircleGraph
          • LineChart
          • Distribution
        • FEEDBACK
          • Info
          • ProgressBar
          • LoadingRing
          • Toast
          • SyncIndicator
          • FloatIndicator
        • OVERLAYS
          • Help
          • Popover
          • Modal
          • SidePanel
        • ADVANCES
          • ButtonBase
          • FocusVisible
          • PublicUrl
          • Redraw
          • RedrawFromDate
          • Root
          • RootPortal
          • Viewport
      • aragonDS
        • Guidelines
          • Layout
          • Color
          • Iconography
          • Typography
          • Illustrations
        • Components
          • Overview
      • Aragon Connect
        • Guides
          • Aragon Basics
          • Getting started
          • Usage with React
        • Advanced
          • Custom Subgraph queries
          • Writing an App Subgraph
          • Writing an App Connector
        • Connectors
          • Organizations
          • Tokens app
          • Voting app
          • Finance app
        • API reference
          • connect()
          • App
          • Connectors
          • Organization
          • Permission
          • Repo
          • Role
          • TransactionIntent
          • TransactionPath
          • TransactionRequest
          • Types
          • Errors
      • App Center
        • App Center
        • Preparing Assets
        • Submitting Your App to the App Center
    • Product Tools
      • Aragon Govern
        • README
        • Introduction
          • Concepts and background
            • Govern Core concepts
            • ERC3000
          • Developers
            • Getting started
            • Govern.js API
            • Historical deployments
            • GraphQL API
            • Smart contracts breakdown
        • Deployments
          • Mainnet
          • Rinkeby
        • Packages
          • ERC 3k
          • Govern Console
          • Govern contract utils
          • Types
          • govern-create
          • Govern Server
          • govern-subgraph
          • govern-token
          • govern.js
      • Aragon Vocdoni
    • Aragon Client Glossary
  • THE ANT TOKEN
    • Aragon Network Token
      • About ANT
      • Historical token sale
    • ANTv1
      • Non-standard behaviours and gotchas
      • About the MiniMe token
      • The initial token sale flow
    • ANTv2
      • Upgrade portal
        • Troubleshooting
      • Contract interaction
      • Migrating on-chain liquidity
    • Developers
      • Quick start
      • Integrating ANT
      • Historical deployments
      • Security policy
  • ‼️FAQ
    • Products
      • Aragon Client
        • Where is my DAO?
        • DAO creation taking a long time to confirm
        • DAO is taking a long time to load
        • Failed DAO creation transaction
        • Why do I see a Blue Screen?
        • An unexpected error has occurred
        • App does not appear in Firefox
        • Receiving funds directly to the Agent or Vault address
        • How to Recover Funds accidentally sent to an Aragon App address
        • Depositing EURS in the Finance app
        • Which templates are available on the Ethereum Network?
        • Which templates are available on the Polygon Network?
        • Which templates are available on the Harmony Network?
        • Which templates are available on the Metis Andromeda Network?
        • How to delete a DAO
      • Aragon Govern
        • Which was the wallet address used to create the Aragon Govern DAO?
        • Where are my DAO tokens?
        • How to delete a DAO
        • How can I transfer funds to the Aragon Govern DAO?
      • Aragon Vocdoni
        • Is Vocdoni easy to use?
        • Is Vocdoni anonymous?
        • Is Vocdoni free?
        • Is my data safe with Vocdoni?
        • As an Organization, what can I do with Vocdoni?
      • Aragon Court
        • What is the current duration of the different stages of a dispute?
        • Dispute - Which fees need to be paid to create a dispute?
        • Dispute - Do I need to put collateral to create a dispute?
        • Appeals - How much money is needed to appeal a dispute? And to confirm the appeal? What is it for?
        • Appeals - If I have tokens staked or activated, can I lose them if I appeal a dispute?
        • Appeals - What happens to the collateral put up
        • Voting - Is a majority needed to win a vote?
        • Voting - What happens if there is a tie?
        • Voting - What does "Refuse to vote" mean? What happens if it's the most voted option?
        • Voting - Another guardian tried to collude. Can I punish this guardian?
        • Voting - What's the penalty for leaked votes?
        • Governance - Which parameters of Court can be changed? How?
        • Governance - Do parameter changes affect ongoing disputes?
        • Technical - Where is the Court "hosted"?
        • Technical - Where can I find the source code and technical documentation for Aragon Court?
        • ANJ conversion - What date will the lock-up period end?
        • ANJ conversion - If I have not staked my $ANJ, do I still get the lockup period price?
        • ANJ conversion - Will I get the 0.044 conversion if I convert after September 5th 2021?
        • ANJ conversion - How much will it cost to be a Guardian in Aragon Court with $ANT?
        • I can't see my tokens in the Dashboard
        • I activated my tokens but I can't see my probability of being drafted
    • Miscellaneous
      • Metamask wallet transaction alert
      • Is Aragon open source?
      • Where can I browse through the DAOs created on Aragon?
      • How to migrate from "old" DAI to "new" DAI
      • Security notice for organizations created before Aragon 0.8
      • General troubleshooting tips
    • ANT Token
      • What can I do with ANT?
      • Who holds ANT?
      • Who are the biggest ANT holders?
      • Long-term holding ANT - What benefits?
      • Can I delegate my network votes to somebody else?
      • Can I do flash loans with ANT?
      • Is there an ANT options market?
      • Are you planning to launch new network tokens?
      • My wallet isn't available on the Upgrade Portal
      • How can connect my Ledger to the Upgrade Portal?
      • I accidentally sent my "old" ANT to an exchange
      • ANJ conversion - What is the minimum number of $ANJ I need to participate in the 0.044 conversion?
      • ANJ conversion - What is the conversion rate ANJ to ANT v2?
Powered by GitBook
On this page
  • dao new
  • dao apps
  • dao id assign
  • dao install
  • dao upgrade
  • dao exec
  • dao act
  • dao token
  • dao acl

Was this helpful?

  1. Developers
  2. General Tools
  3. aragonCLI

DAO commands

PreviousMain commandsNextAPM commands

Last updated 2 years ago

Was this helpful?

The aragon dao commands can be used for interacting with your DAO directly from the command line. These commands are also available directly using the dao alias.

Note The default mnemonic of the Aragon CLI is the same for all users. If you are going to deploy a DAO to public networks it is highly recommended that you use your own web3 provider. Instructions on that can be found (scroll down to 'Set a private key').

dao new

Uses a DAO Template to create a new DAO and prints its address.

dao new

Options:

  • --environment: The environment in your arapp.json that you want to use. Defaults to aragon:local. Check the other . You can also use it with the --env alias.

  • --use-frame: Use Frame as a signing provider and web3 provider.

  • --aragon-id: Assigns an Aragon Id to the DAO.

  • --template: The aragonPM repo name of the template that is used to create the DAO. Defaults to bare-template.aragonpm.eth.

  • --template-version [version-number|latest]: The version of the repo that will be used to create the DAO. Defaults to latest.

  • --fn: The function on the template that is called to create a new DAO. Defaults to the newInstance function for bare-template.aragonpm.eth.

  • --fn-args: The arguments that the function to create the template is called with. Defaults to an array of arguments. To use arrays use the following format ["'0xB24b...73a7', '0xB24b...73a7'"].

  • --deploy-event: The name of the event that is emitted when the DAO is created. The DAO address must be a return argument in the event log named dao. Defaults to DeployDao.

  • --ipfs-check: Whether to have start IPFS if not started. Defaults to true.

dao apps

Used to inspect all the installed apps in a DAO.

dao apps <dao-addr>
  • dao-addr: The main address of the DAO (Kernel).

Options:

  • --all: To include apps without permissions in the report.

dao id assign

Assigns an Aragon Id to a DAO address.

dao id assign <dao> <aragon-id>

or

dao id <dao> <aragon-id>
  • dao: The main address of the DAO (Kernel).

  • aragon-id: The Aragon Id.

dao install

The dao install command installs an instance of an app in the DAO.

dao install <dao-addr> <app-apm-repo> [repo-version]
  • dao-addr: The main address of the DAO (Kernel).

  • app-apm-repo: The repo name of the app being installed (e.g. voting or voting.aragonpm.eth).

  • repo-version: (optional) Version of the repo that will be installed; can be a version number or latest for the newest published version. Defaults to latest.

The dao install command will create an instance of the app and assign permissions to the main account to perform all the protected actions in the app.

Options:

  • --app-init: Name of the function that will be called to initialize an app. If you want to skip app initialization (which is not generally recommended), you can do it by set it to none. By default it will initialize the app using initialize function.

  • --app-init-args: Arguments for calling the app init function. To use arrays use the following format ["'0xB24b...73a7', '0xB24b...73a7'"].

  • --set-permissions: Whether to set permissions in the app. Set it to open to allow ANY_ENTITY on all roles.

Note All app instances of the same app in a DAO must run the same version, so installing an app with a version will effectively upgrade all app instances to this version.

dao upgrade

The dao upgrade command upgrades all instances of an app to a newer version.

dao upgrade <dao-addr> <app-apm-repo> [repo-version]
  • dao-addr: The main address of the DAO (Kernel).

  • app-apm-repo: The repo name of the app being upgraded (e.g. voting or voting.aragonpm.eth).

  • repo-version: Version of the repo that the app will be upgraded to; can be a version number or latest for the newest published version (defaults to latest).

aragonOS protects against having different instances of a particular app running with different versions (e.g. all the Voting app instances run the same version). Performing a dao upgrade will upgrade all instances of the app to the version specified.

dao exec

dao exec <dao-addr> <app-proxy-addr> <method> [argument1 ... argumentN]
  • dao-addr: The main address of the DAO (Kernel).

  • method: Name of the method being executed in the app (e.g. withdrawTokens).

  • arguments: The arguments that the method will be executed with (each separated by a space).

dao act

Provides some syntax sugar over dao exec for executing actions using Agent app instances in a DAO.

dao act <agent-proxy> <target-addr> [method] [argument1 ... argumentN]
  • agent-proxy: Address of the Agent app proxy.

  • target-addr: Address where the action is being executed.

  • arguments: The arguments that the method will be executed with (each separated by a space).

Options:

  • --call-data: Raw call data.

  • --eth-value: Amount of ETH from the contract that is sent with the action.

dao token

Commands used to create and interact with the tokens your DAO will use.

dao token new

dao token new <token-name> <symbol> [decimal-units] [transfer-enabled] [token-factory-address]
  • token-name: Full name of the new Token.

  • symbol: Symbol of the new Token.

  • decimal-units: Total decimal units the new token will use. Defaults to 18.

  • transfer-enabled: Whether the new token will have transfers enabled. Defaults to true.

  • token-factory-address: Address of a MiniMe Token Factory deployed on the network. Defaults to an existing Minime Factory address for Rinkeby and Mainnet. Defaults to 0xA29EF584c389c67178aE9152aC9C543f9156E2B3 on Mainnet and 0xad991658443c56b3dE2D7d7f5d8C68F339aEef29 on Rinkeby.

dao token change-controller

Change the controller of a MiniMe token.

dao token change-controller <token-addr> <new-controller-addr>
  • token-addr: Address of the token.

  • new-controller-addr: Address of the new controller.

dao acl

Used to inspect the ACL state in a DAO to check its permissions.

dao acl <dao-addr>
  • dao-addr: The main address of the DAO (Kernel).

dao acl create

Used to create a permission in the ACL. Can only be used if the permission hasn't been created before. The manager of the permission can use dao acl grant and dao acl revoke to manage the permission.

dao acl create <dao-addr> <app-proxy-addr> <role> <entity> <manager>
  • dao-addr: The main address of the DAO (Kernel).

  • role: The identifier for the role. Can be the bytes32 identifier of the role or its name (e.g. INCREMENT_ROLE).

  • entity: The address of the entity that is being granted the permission by creating it.

  • manager: The address of the entity that will be able to grant that permission or revoke it.

dao acl grant

Used to grant a permission in the ACL.

dao acl grant <dao-addr> <app-proxy-addr> <role> <entity> [params...]
  • dao-addr: The main address of the DAO (Kernel).

  • role: The identifier for the role. Can be the bytes32 identifier of the role or its name (e.g. INCREMENT_ROLE).

  • entity: The address of entity that is being granted the permission.

    • "0,GT,2"

    • "2,EQ,0xC7f8dDbc7B3BFd432dEAc0CA270110467EcE01c3"

    • "LOGIC_OP_PARAM_ID,OR,(1,2)" "0,LT,4" "1,EQ,42"

    • "LOGIC_OP_PARAM_ID,IF_ELSE,(1,2,3)" "BLOCK_NUMBER_PARAM_ID,GT,1000" "0,EQ,42" "0,EQ,0"

dao acl revoke

Used to revoke a permission in the ACL.

dao acl revoke <dao-addr> <app-proxy-addr> <role> <entity>
  • dao-addr: The main address of the DAO (Kernel).

  • role: The identifier for the role. Can be the bytes32 identifier of the role or its name (e.g. INCREMENT_ROLE).

  • entity: The address of entity that is being revoked the permission.

dao acl set-manager

Used to change the manager of a permission in the ACL.

dao acl set-manager <dao-addr> <app-proxy-addr> <role> <manager>
  • dao-addr: The main address of the DAO (Kernel).

  • role: The identifier for the role. Can be the bytes32 identifier of the role or its name (e.g. INCREMENT_ROLE).

  • manager: The new manager for the permission.

dao acl remove-manager

Used to remove the manager of a permission in the ACL. The permission can be created again after removing its manager.

dao acl remove-manager <dao-addr> <app-proxy-addr> <role>
  • dao-addr: The main address of the DAO (Kernel).

  • role: The identifier for the role. Can be the bytes32 identifier of the role or its name (e.g. INCREMENT_ROLE).

In an app is considered to be installed in a DAO if it uses the DAO Kernel as its Kernel and there are references to the app in the ACL of the DAO.

Performs transactions in your DAO directly from aragonCLI. It supports so if your account cannot perform the action directly it will try to find how to do it (e.g. creating a vote).

app-proxy-addr: The address of the app where the action is being performed. You can find the proxy address by checking .

method: The of the method we wish to execute in either the external contract or the app we specified, note that by the full signature we mean the (e.g. vote(unint256,bool,bool)).

Create a new token.

app-proxy-addr: The address of the app whose permissions are being managed. You can find the proxy address by checking .

app-proxy-addr: The address of the app whose permissions are being managed. You can find the proxy address by checking .

params: ACL parameters, with the following syntax: "<id>,<op>,<value>". Multiple parameters must be separated by spaces. See the ACL for the list of available operators. Examples:

app-proxy-addr: The address of the app whose permissions are being managed. You can find the proxy address by checking .

app-proxy-addr: The address of the app whose permissions are being managed. You can find the proxy address by checking .

app-proxy-addr: The address of the app whose permissions are being managed. You can find the proxy address by checking .

🛠️
here
default environments
transaction pathing
dao apps
full signature
human readable function signature
MiniMe
dao apps
dao apps
dao apps
dao apps
dao apps
aragonOS
documentation