Community Pool Proposals

Axelar has an on-chain, governance-managed pool of funds reserved for community projects that benefit developers and users. Proposals require a 2,000 AXL deposit. Anyone from the Axelar community can submit a proposal for consideration.

Prerequisites

Get funding for a project

  1. Create a project introduction on the Governance and Grants section of the Axelar Governance Forum using the provided template. This introduction helps the community to understand your project.
  2. The introduction will be open on the Forum for 7 days. During this time, community members can ask questions and give feedback, and you will be able to edit the post. Please engage with all responses, and be prepared to amend the proposal where necessary.
  3. Once the feedback window has passed, you can submit a proposal for an on-chain governance vote using the Axelar CLI (axelard). Include a brief summary of your proposal, along with a link to the project introduction.
  4. After submission, proposals will be voted on by all token holders for 3 days (72 hours). Validators can vote on behalf of the token holders if they abstain from participating, but the token holder’s vote will overwrite their validator’s vote for their amount of stake.
  5. If the vote passes, funds will be sent from the community pool to the Axelar wallet associated with the successful proposal (example), along with a refund of the 2,000 AXL deposit. The Axelar Network currently requires a 33.4% quorum of staked tokens (query with axelard q gov params).

⚠️

All proposals that reach quorum will have their deposit refunded, even if the vote fails. If a proposal does not reach quorum, the deposit will not be refunded.

Proposal Types

  • CommunityPoolSpend — For general community proposals
  • SoftwareUpgrade — For node software updates
  • ParameterChange — For changes to the configuration of the Axelar network

Create a local wallet

You will need a local wallet for all transactions associated with the proposal. This wallet will receive the funds and deposit refund if the proposal passes.

To create a local wallet, run:

Terminal window
axelard keys add wallet

This creates an account named wallet. Enter (create) a passphrase. The address returned will be your new local wallet address. To display your local wallet address(es), run:

Terminal window
axelard keys list

Fund your local wallet

Once you’ve created a local wallet, you’ll need to fund it with 2,000 AXL for the deposit. You can send funds from your Keplr wallet or from a centralized exchange (CEX) and check your wallet’s balance on Axelarscan. You can also send AXL from another local wallet with the following command:

Terminal window
axelard tx bank send [account_with_fund_address] [wallet_address] 2000000000uaxl # 20000000000uaxl = 20000AXL

Submit a proposal

  1. In your terminal, create a variable for the proposal such as GOV_PROPOSAL and set its value to the path of your JSON file

    the 7-day feedback period has passed, create a JSON file with the proposal and save it to a file, such as gov-proposal.json:

    Terminal window
    {
    "title": "[title]",
    "description": "This proposal withdraw funds from community pool for <purpose> as mentioned here:\n[link]",
    "amount": "[amount_in_uaxl]", # 20000000000uaxl = 20000AXL
    "recipient": "[fund_recipient_address]",
    "deposit": "2000000000uaxl"
    }
  2. In your terminal, create a variable for the proposal such as GOV_PROPOSAL and set its value to the path of your JSON file:

    Terminal window
    export GOV_PROPOSAL="/Users/you/Projects/Axelar/gov-proposal.json"
  3. Submit the proposal as a JSON file:

    Terminal window
    export CHAIN_ID="axelar-testnet-lisbon-3"
    export RPC="https://axelartest-rpc.quickapi.com:443"
    Terminal window
    $ axelard tx gov submit-proposal community-pool-spend $GOV_PROPOSAL \
    --from wallet \
    --chain-id $CHAIN_ID \
    --node $RPC \
    --gas auto --gas-adjustment 1.2

Edit on GitHub