var img = document.createElement('img'); img.src = "https://terradocs.matomo.cloud//piwik.php?idsite=4&rec=1&url=https://docs.enterprise.money" + location.pathname; img.style = "border:0"; img.alt = "tracker"; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(img,s);
Skip to main content

Proposal message templates

Message Templates

This page outlines messages that can be executed by Enterprise when creating an execute message proposal.

Bank messages

The following section outlines the types of Bank messages that can be executed.

Send Message

This message allows you to send native assets such as LUNA or IBC assets from the treasury to another address.

JSON
Copy

_13
{
_13
"bank": {
_13
"send": {
_13
"to_address": "<insert_destination_address>",
_13
"amount": [
_13
{
_13
"denom": "<insert_denom>",
_13
"amount": "<insert_amount>"
_13
}
_13
]
_13
}
_13
}
_13
}

Burn Message

This message allows you to burn native assets such as LUNA or IBC assets from the treasury.

JSON
Copy

_12
{
_12
"bank": {
_12
"burn": {
_12
"amount": [
_12
{
_12
"denom": "<insert_denom>",
_12
"amount": "<insert_amount>"
_12
}
_12
]
_12
}
_12
}
_12
}

Send Message

This message allows you to send native assets such as LUNA or IBC assets from the treasury to another address.

Burn Message

This message allows you to burn native assets such as LUNA or IBC assets from the treasury.

JSON
CopyExpandClose

_13
{
_13
"bank": {
_13
"send": {
_13
"to_address": "<insert_destination_address>",
_13
"amount": [
_13
{
_13
"denom": "<insert_denom>",
_13
"amount": "<insert_amount>"
_13
}
_13
]
_13
}
_13
}
_13
}

Staking messages

The following section outlines the types of Staking messages that can be executed.

Delegate Message

This message allows you to LUNA from the treasury to a specific validator of choice.

JSON
Copy

_11
{
_11
"staking": {
_11
"delegate": {
_11
"amount":{
_11
"denom": "<insert_denom>",
_11
"amount": "<insert_amount>"
_11
},
_11
"validator": "<insert_validator_address>"
_11
}
_11
}
_11
}

Undelegate Message

This message allows you to LUNA from the treasury to a specific validator of choice.

JSON
Copy

_11
{
_11
"staking": {
_11
"undelegate": {
_11
"amount": {
_11
"denom": "<insert_denom>",
_11
"amount": "<insert_amount>"
_11
},
_11
"validator": "<insert_validator_address>"
_11
}
_11
}
_11
}

Redelegate Message

This message allows you to LUNA from the treasury to a specific validator of choice.

JSON
Copy

_12
{
_12
"staking": {
_12
"redelegate": {
_12
"amount":{
_12
"denom": "<insert_denom>",
_12
"amount": "<insert_amount>"
_12
},
_12
"src_validator": "<insert_src_validator_address>",
_12
"dst_validator": "<insert_dst_validator_address>",
_12
}
_12
}
_12
}

Delegate Message

This message allows you to LUNA from the treasury to a specific validator of choice.

Undelegate Message

This message allows you to LUNA from the treasury to a specific validator of choice.

Redelegate Message

This message allows you to LUNA from the treasury to a specific validator of choice.

JSON
CopyExpandClose

_11
{
_11
"staking": {
_11
"delegate": {
_11
"amount":{
_11
"denom": "<insert_denom>",
_11
"amount": "<insert_amount>"
_11
},
_11
"validator": "<insert_validator_address>"
_11
}
_11
}
_11
}

Distribution messages

The following section outlines the types of Distribution messages that can be executed.

Withdraw Delegator Reward Message

This message allows you to withdraw the delegator rewards from staking.

JSON
Copy

_7
{
_7
"distribution": {
_7
"withdraw_delegator_reward": {
_7
"validator": "<insert_validator_address>",
_7
}
_7
}
_7
}

Set Withdraw Address Message

This message allows you to set the address where the delegator rewards will be sent.

JSON
Copy

_7
{
_7
"distribution": {
_7
"set_withdraw_address": {
_7
"address": "<insert_address>",
_7
}
_7
}
_7
}

Withdraw Delegator Reward Message

This message allows you to withdraw the delegator rewards from staking.

Set Withdraw Address Message

This message allows you to set the address where the delegator rewards will be sent.

JSON
CopyExpandClose

_7
{
_7
"distribution": {
_7
"withdraw_delegator_reward": {
_7
"validator": "<insert_validator_address>",
_7
}
_7
}
_7
}

Wasm messages

The following section outlines the types of wasm messages that can be executed. Wasm messages allow you to interact with contracts on-chain.

Execute Message

This message allows you to execute generic wasm messages on-chain.

JSON
Copy

_15
{
_15
"wasm": {
_15
"execute": {
_15
"contract_addr": "<insert_contract_address>",
_15
"funds": [
_15
{
_15
"denom": "<insert_denom>",
_15
"amount": "<insert_amount>"
_15
}
_15
],
_15
"msg": "<insert_message>"
_15
_15
}
_15
}
_15
}

Instantiate Message

This message allows the DAO to instantiate a new contract.

JSON
Copy

_17
{
_17
"wasm": {
_17
"instantiate": {
_17
"admin": "<insert_admin_address>", // Can be null
_17
"code_id" : <insert_code_id>,
_17
"funds": [
_17
{
_17
"denom": "<insert_denom>",
_17
"amount": "<insert_amount>"
_17
}
_17
],
_17
"label": "<insert_label>",
_17
"msg": "<insert_message>"
_17
_17
}
_17
}
_17
}

Migrate Message

This message allows the DAO to migrate a contract.

JSON
Copy

_9
{
_9
"wasm": {
_9
"migrate": {
_9
"contract_addr": "<insert_contract_address>",
_9
"msg": "<insert_message>",
_9
"new_code_id": <insert_new_code_id>
_9
}
_9
}
_9
}

Update Contract Admin Message

This message allows the DAO to update the admin of a contract.

JSON
Copy

_8
{
_8
"wasm": {
_8
"update_admin": {
_8
"contract_addr": "<insert_contract_address>",
_8
"admin": "<insert_admin_addr>"
_8
}
_8
}
_8
}

Clear Contract Admin Message

This message allows the DAO to remove the admin of a contract.

JSON
Copy

_7
{
_7
"wasm": {
_7
"clear_admin": {
_7
"contract_addr": "<insert_contract_address>"
_7
}
_7
}
_7
}

Execute Message

This message allows you to execute generic wasm messages on-chain.

Instantiate Message

This message allows the DAO to instantiate a new contract.

Migrate Message

This message allows the DAO to migrate a contract.

Update Contract Admin Message

This message allows the DAO to update the admin of a contract.

Clear Contract Admin Message

This message allows the DAO to remove the admin of a contract.

JSON
CopyExpandClose

_15
{
_15
"wasm": {
_15
"execute": {
_15
"contract_addr": "<insert_contract_address>",
_15
"funds": [
_15
{
_15
"denom": "<insert_denom>",
_15
"amount": "<insert_amount>"
_15
}
_15
],
_15
"msg": "<insert_message>"
_15
_15
}
_15
}
_15
}

Custom messages

If you would like to send other messages from modules such as governance etc., you can leverage custom messages.

JSON
Copy

_3
{
_3
"custom": <insert_custom_message>
_3
}