Skip to main content

Yield Funding Setup (Governance)

This guide shows how to configure continuous funding for Trust Deposit yield using a governance proposal. As of v0.9.2, TD yield is funded via the protocol pool continuous fund. It uses:

/cosmos.protocolpool.v1.MsgCreateContinuousFund

Environment Setup

USER_ACC="my-user-account"
CHAIN_ID="vna-testnet-1"
NODE_RPC="http://node1.testnet.verana.network:26657"

Step 1: Get the Yield Intermediate Pool Address

YIELD_INTERMEDIATE_POOL=$(veranad q td params --node $NODE_RPC -o json | jq -r .params.yield_intermediate_pool)

Step 2: Get the Governance Authority Address

GOV_AUTH=$(veranad q auth module-accounts --node $NODE_RPC --output json \
| jq -r '.accounts[] | select(.value.name=="gov") | .value.address')

Step 3: Build the Proposal JSON

cat > td_yield_funding_proposal.json <<JSON
{
"messages": [
{
"@type": "/cosmos.protocolpool.v1.MsgCreateContinuousFund",
"authority": "${GOV_AUTH}",
"recipient": "${YIELD_INTERMEDIATE_POOL}",
"percentage": "0.005000000000000000",
"expiry": null
}
],
"metadata": "ipfs://CID",
"deposit": "10000000uvna",
"title": "Fund Trust Deposit Yield (Continuous)",
"summary": "Continuously fund the Yield Intermediate Pool to distribute TD yield.",
"expedited": false
}
JSON

Step 4: Submit the Proposal

veranad tx gov submit-proposal td_yield_funding_proposal.json \
--from $USER_ACC \
--keyring-backend test \
--chain-id $CHAIN_ID \
--fees 750000uvna \
--gas auto \
--node $NODE_RPC

Step 5: Track and Vote

veranad q gov proposals --node $NODE_RPC
PROPOSAL_ID=1
veranad tx gov vote $PROPOSAL_ID yes \
--from $USER_ACC \
--keyring-backend test \
--chain-id $CHAIN_ID \
--fees 650000uvna \
--gas auto \
--node $NODE_RPC

Step 6: Verify Funding

Check the Yield Intermediate Pool balance after the proposal passes:

veranad q bank balances $YIELD_INTERMEDIATE_POOL --node $NODE_RPC --output json