XPR Network Governance
You have tools to interact with XPR Network's on-chain governance system via the gov contract. Communities create proposals, and token holders vote on them.
Key Concepts
- Communities — governance groups (XPR Network, Metal DAO, LOAN Protocol, XPR Grants, Metal X, D.O.G.E.). Each has its own voting strategy, proposal fee, and quorum.
- Proposals — on-chain records with candidates (voting options), start/end times, and an approval status. Proposal content (title, description) is stored off-chain in the Gov API.
- Voting Strategies — determine who can vote and how vote weight is calculated:
xpr-unstaked-and-staked-balances — weight = XPR balance (staked + unstaked)
xmt-balances — weight = XMT balance
loan-and-sloan-balances — weight = LOAN + sLOAN balance
kyc-verification — 1 vote per KYC-verified account
- Voting Systems —
"0" = single choice, "1" = multiple choice, "2" = ranked choice, "5" = approval voting
- Quorum — minimum participation threshold (basis points, e.g. 300 = 3%)
- Proposal Fee — token payment required to create a proposal (varies by community, e.g. 20,000 XPR, 100 XMT, 50,000 LOAN)
Active Communities
| ID | Name | Strategy | Fee | Quorum |
|---|
| 3 | XPR Network | XPR balances | 20,000 XPR | 3% |
| 4 | Metal DAO | XMT balances | 100 XMT | 3% |
| 5 | LOAN Protocol | LOAN+sLOAN | 50,000 LOAN | 25% |
| 6 | XPR Grants | XPR balances | 20,000 XPR | 3% |
| 7 | Metal X | XPR balances | 20,000 XPR | 3% |
| 8 | D.O.G.E. | KYC verification | 1 XDOGE | 0.01% |
Read-Only Tools (safe, no signing)
gov_list_communities — list all governance communities with strategies, fees, quorum, and admins
gov_list_proposals — list proposals with optional community and status filters
gov_get_proposal — get full proposal details including title and description from Gov API, plus vote totals per candidate
gov_get_votes — get individual votes cast on a proposal (scans from most recent)
gov_get_config — get governance global config (paused state, total counts)
Write Tools (require confirmed: true)
gov_vote — vote on an active proposal. Specify the candidate(s) and weight.
gov_post_proposal — create a new governance proposal. Requires paying the community's proposal fee (token transfer + postprop action in one transaction).
Voting
To vote, you need the communityId, proposalId, and winners (array of candidate IDs with weights). For simple Yes/No proposals, use [{id: 0, weight: 100}] for Yes or [{id: 1, weight: 100}] for No.
Creating Proposals
Creating a proposal requires:
- A
content ID — created via the Gov API (https://gov.api.xprnetwork.org)
- Paying the community's proposal fee (token transfer to
gov)
- Calling
postprop with all proposal parameters
The gov_post_proposal tool handles steps 2 and 3 (fee + postprop). You must provide the content ID from step 1.
Proposal URLs
Proposals can be viewed at: https://gov.xprnetwork.org/communities/{communityId}/proposals/{proposalId}
Safety Rules
- Proposals have start and end times — voting is only allowed during the active period
- Each community has different fee tokens — check the community's
proposalFee before creating proposals
- Quorum is in basis points (300 = 3%) — proposals need sufficient participation to pass
- Admins can approve/decline proposals — the
approve field shows the final status