Create a proposal
dexe_proposal_createCreates any DeXe governance proposal in one call, handling approval, deposit, IPFS metadata, and voting; without a signer, it returns ordered transactions and a WalletConnect QR to sign.
Instructions
Broadcasts when a signer is configured. Creates ANY governance proposal in ONE call: runs approve→deposit→createProposalAndVote and uploads correct IPFS metadata (category/isMeta/changes). Without a signer it returns ordered TxPayloads + a WalletConnect QR.\nPass proposalType — the enum lists every wired type — with its inputs in params:\n• 'custom': your own actionsOnFor [{executor,value,data}]. 'modify_dao_profile' reads the top-level newDaoName/newDaoDescription/newWebsiteUrl/newSocialLinks/newAvatarPath fields, not params.\n• External: token_transfer {token,recipient,amount,isNative?} · withdraw_treasury {receiver,token?,amount?,nftAddress?,nftIds?} · change_voting_settings {govSettings?,settings[],settingsIds?} · add_expert/remove_expert {expertNftContract,scope,nominatedUser,uri?} · token_sale_whitelist {tokenSaleProposal,requests[]} · token_sale_recover {tokenSaleProposal,tierIds[]} · manage_validators {govValidators,changes[]} · validators_allocation {credits[]} · delegate_to_expert/revoke_from_expert {expert,amount,nftIds?} · change_math_model {newVotePower} · blacklist {erc20Gov,addAddresses?,removeAddresses?} · apply_to_dao {token,receiver,amount} · new_proposal_type/enable_staking {govSettings?,settings,executors,newSettingId} · custom_abi {target,signature,method,args?} · token_distribution · token_sale · create_staking_tier · reward_multiplier.\n• Internal (validators-only): change_validator_balances {changes[]} · change_validator_settings {duration,executionDelay,quorum} · monthly_withdraw {withdrawals[],destination} · offchain_internal_proposal {}.\nOff-chain backend types are rejected with the flow to use instead. Full recipes with examples: dexe://playbook, or dexe_proposal_catalog.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"govPool": "<govPool>",
"title": "<title>"
},
"name": "dexe_proposal_create"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user | No | User address. Required when no signer is loaded. | |
| title | Yes | Proposal title | |
| dryRun | No | Preview: no broadcast, no IPFS pin, no Pinata key needed. The metadata CID is right but unpinned — do NOT broadcast this calldata. | |
| params | No | Type-specific builder inputs for the chosen proposalType (recipes: tool description / dexe://playbook). | |
| chainId | No | Target chain (56 mainnet, 97 testnet); needs an RPC for it. Default: the MCP's default chain. | |
| govPool | Yes | DAO GovPool address (dexe_dao_registry_lookup). | |
| category | No | Proposal category (included in IPFS metadata). | |
| signerKey | No | Keyring signer: omit = primary key; 'agent<n>' or address = a DEXE_AGENT_PK_* key. | |
| newDaoName | No | modify_dao_profile: the DAO's new display name. | |
| voteAmount | No | Auto-vote amount: raw wei (digits only) or human units with a decimal point ('12.5'). Default: all available power. | |
| voteNftIds | No | Your governance NFT token ids, decimal; [] for ERC20-only DAOs. | |
| description | No | Proposal description (markdown supported) | |
| flowContext | No | Guided-flow position from dexe_guide's step templates. Adds flowProgress + next to the result and persists it. | |
| actionsOnFor | No | Actions run when the proposal passes. Required for proposalType:'custom'. | |
| confirmRisky | No | Required when the built proposal carries a DANGER governance-safety advisory. Without it the flow refuses BEFORE any transaction. | |
| newAvatarCID | No | modify_dao_profile: IPFS CID of an already-pinned avatar. | |
| proposalType | No | What kind of proposal to create — required in practice. 'custom' means you supply actionsOnFor. Unsure? Call dexe_proposal_catalog. | |
| newAvatarPath | No | Local avatar image path (JPEG/PNG/WebP/GIF, max 10 MB) — the server validates and pins it for you. | |
| newWebsiteUrl | No | modify_dao_profile: the DAO's new website URL. | |
| allowDuplicate | No | The create is SKIPPED when a live proposal already carries the same IPFS metadata URL (a resumed run). True mints a second identical proposal on purpose. | |
| newSocialLinks | No | modify_dao_profile: [[network, url], ...]. | |
| newAvatarBase64 | No | Base64 image bytes — only when the image isn't a local file. | |
| newAvatarFileName | No | modify_dao_profile: file name stored with newAvatarCID. | |
| newDaoDescription | No | modify_dao_profile: the DAO's new description (markdown). | |
| proposalMetadataExtra | No | Extra fields merged into IPFS metadata. |