Open an OTC token sale
dexe_otc_dao_open_saleProposes a multi-tier OTC token sale on a DeXe DAO: builds the createTiers envelope with merkle whitelists pinned to IPFS, then runs the proposal flow to approve, deposit, and create the vote.
Instructions
Broadcasts when a signer is configured. Proposes a multi-tier token sale on an OTC DAO: builds the createTiers envelope (deduped approves, auto-merkle, auto-addToWhitelist, merkle lists pinned to IPFS so buyers can regenerate proofs), then runs the proposal_create flow (approve, deposit, IPFS metadata, createProposalAndVote). DAOs from dexe_dao_create (v0.19+) already wire TokenSaleProposal as an executor; older ones need a new_proposal_type proposal first.
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>",
"tiers": "<tiers>"
},
"name": "dexe_otc_dao_open_sale"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user | No | Acting address; defaults to the configured signer. | |
| tiers | Yes | Tier specs for `createTiers`, in order; at least one. | |
| dryRun | No | Preview: no broadcast, no IPFS pin. CIDs are right but unpinned — do NOT broadcast. | |
| chainId | No | Target chain id. Defaults to the MCP's default chain. | |
| govPool | Yes | GovPool address | |
| buildOnly | No | Return only the envelope (actions + metadata + merkle roots); skips IPFS and DAO reads. | |
| signerKey | No | Keyring signer: omit = primary key; 'agent<n>' or address = a DEXE_AGENT_PK_* key. | |
| voteAmount | No | Vote size: whole tokens ('12.5') or raw wei. Omit to vote with all available power. | |
| voteNftIds | No | Your governance NFT token ids, decimal; [] for ERC20-only DAOs. | |
| flowContext | No | Guided-flow position from dexe_guide's step templates. Adds flowProgress + next to the result and persists it. | |
| latestTierId | No | Current `latestTierId()` on the sale; new tiers start after it. | 0 |
| proposalName | No | Proposal title in the DAO UI. | Open OTC Token Sale |
| tokenSaleProposal | No | TokenSaleProposal helper address. Omit for a DAO this install deployed (recorded at deploy); otherwise dexe_dao_predict_addresses or the deploy receipt. | |
| proposalDescription | No | Proposal body; Markdown supported. | |
| acknowledgeVestingBlocked | No | Refused by default: opt into vestingPercentage > 0; the vested leg is stranded (F15). |