Skip to content

Submitting Proposals

This section describes how to submit governance proposals on Nibiru.

Any NIBI holder, whether bonded or unbonded, can submit proposals by sending a TxGovProposal transaction. This is possible using the nibid CLI. Each proposal type corresponds to a subcommand of nibid tx gov submit-proposal.

Table of Contents

Proposal Types

Proposal TypeDescription
add-oracleWhitelists an account as a price feed, enabling it send post-price messages.
cancel-software-upgradeCancels a software upgrade.
community-pool-spendDetails a proposal for use of community funds, together with how many coins are proposed to be spent, and to which recipient account.
create-poolCreates a new Nibi-Perps trading pair by initializing a virtual AMM pool.
ibc-upgradeUpdates the IBC client state in-place. An upgraded_client_state.json can be client-breaking.
param-changeChange module parameters.
software-upgradeUpgrade the protocol code.
update-clientSubstitutes the current IBC client for a new one. This proposal is useful for updating the light client in the case of misbehavior. See ADR-026 of IBC-Go for more info.

Whitelisting an oracle address with add-oracle

bash
# parameters
nibid tx gov submit-proposal add-oracle [proposal-file] --deposit [deposit] [flags]

# example
nibid tx gov submit-proposal add-oracle /path/to/proposal.json --deposit 1000unibi --from validator

An JSON file the add-oracle proposal:

json
{
 "title": "add Delphi oracle",
 "description": "Whitelists Delphi to post prices for BTC",
 "oracles": ["nibi1zaavvzxez0elundtn32qnk9lkm8kmcsz44g7xl"],
 "pairs": ["ubtc:unusd"]
}

Create a virtual pool

bash
# parameters
nibid tx gov submit-proposal create-pool proposalFile --deposit deposit [flags]

# example
nibid tx gov submit-proposal create-pool /path/to/proposal.json --deposit 1000unibi --from validator

Here's an example of a valid JSON file for the create-pool proposal.

json
{
    "title": "Create vpool for BTC:NUSD",
    "description": "We want to allow leveraged BTC perp trading.",
    "pair": "ubtc:unusd",
    "quote_asset_reserve": "1000000",
    "base_asset_reserve": "1000000",
    "trade_limit_ratio": "0.1",
    "fluctuation_limit_ratio": "0.01",
    "max_oracle_spread_ratio": "0.1",
    "maintenance_margin_ratio": "0.0625"
}

Querying a proposal

One can use the following command to query for proposals:

bash
# parameters
nibid query gov proposal [proposal-id]

# example
nibid query gov proposal 1