Skip to main content
Governance proposals on testnet follow the same mechanics as mainnet, but with shorter voting periods. Use a deposit slightly below min_deposit so the proposal doesn’t enter voting immediately, giving you time to coordinate.

Submitting a Proposal

All proposals use the same CLI command with a JSON file:
Use --deposit="40000000000000000000inj" (40 INJ) to keep the proposal below min_deposit initially, so it doesn’t enter voting before you’ve coordinated with validators.

Coordinating Validator Votes

After submitting your proposal, reach out to the team to coordinate testnet validator votes:
  1. Join the Injective Discord server and find the relevant developer channel
  2. Share your proposal ID and a brief description of what it does
You can also track your proposal on the Testnet Hub.

Proposal Examples

Every proposal JSON follows the same structure. The messages array contains one or more SDK messages that execute when the proposal passes. The sender in each message must be the governance module account: inj10d07y265gmmuvt4z0w9aw880jnsr700jstypyt.

Set Token Metadata (Peggy/IBC Denoms)

Use this when you’ve bridged a token via Peggy or IBC and need to set its name, symbol, and decimals so MetaMask and Blockscout display it correctly.
See the token metadata guide for why this is needed and how it works for each denom type.

Delete a Token Pair

Use this to remove a broken or incorrect MTS token pair (e.g., one deployed with wrong metadata).

Register an Oracle Provider

Use this to register a custom price feed provider for derivative markets.
See the oracle provider guide for details on setting up price feeds.

Software Upgrade

Used by the core team to coordinate chain upgrades. Included here for reference.

Querying Proposals

Check the status of your proposal:
Or view proposals on the Testnet Hub.
Last modified on September 9, 2026