Skip to main content

Proposal Messages


The Assembly contract allows xASTRO holders as well as Initial Astroport Builders to post new on-chain proposals that can execute arbitrary logic.

Astroport smart contracts can only be upgraded by the contract’s owner address. Therefore, the owner address will be the Assembly contract itself. That means that the Astral Assembly must approve all smart contract parameter changes, smart contract upgrades, and treasury disbursements to the Astroport smart contracts on Terra Classic and Terra 2. For a full list of upgradeable contracts and availiable parameter changes, look here.

Upon approval, the upgrades or assignments will be autonomously executed.

Using the Astroport Web App

The simplest way to submit an on-chain proposal is by using the Astroport Web App. Once you have connected a wallet, head over to the Governance tab and select Submit Proposal.

A proposal takes in the following parameters:

  • title: Proposal title
  • description: Description for proposal
  • executable_message: Proposal message(s)
  • link: Forum link for proposal
  • ibc_channel: If the proposal should be executed on a remote chain, this field should specify the governance channel
  • deposit: You must temporarily lock 30,000 xASTRO in order to submit a proposal for a formal vote.

Submitting a Proposal Directly

Sometimes proposals may contain further embedded messages or require calculating inputs for some parameters separately. In these cases, it may be easier to interact with the Assembly contract directly by calling the submit_proposal enpoint within a custom function.

Further tutorials on this topic can be found here.

Executable Messages

The subsequent list of tutorials in this section cover the most common types of executable messages available for smart contract parameter changes, such as: