Skip to main content
Glama

Stake tokens/NFTs into a DAO to gain voting power

dexe_vote_build_deposit
Read-only

Builds calldata to stake governance tokens and optional NFT IDs into a DAO GovPool for voting power without broadcasting; supports native-coin or ERC20 deposits.

Instructions

Builds calldata; does not broadcast. GovPool.deposit(amount, nftIds) — stakes into the DAO to gain voting power. Payable: native-coin DAOs pass value; ERC20 DAOs pass value=0 and need the GovUserKeeper approve 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>",
      "amount": "<amount>"
    },
    "name": "dexe_vote_build_deposit"
  }
}

Input Schema

NameRequiredDescriptionDefault
valueNoNative coin (BNB/ETH, 18 decimals) sent with the tx — native-staking DAOs only. RAW base units, digits only ('1500000000000000000' = 1.5 at 18 dec); '1.5' is REJECTED — scale it, or use dexe_proposal_create. Pass '0' for ERC20-staking DAOs0
amountYesGovernance token to stake, in that token's own decimals. RAW base units, digits only ('1500000000000000000' = 1.5 at 18 dec); '1.5' is REJECTED — scale it, or use dexe_proposal_create
nftIdsNoYour governance NFT token ids, decimal; [] for ERC20-only DAOs.
chainIdNoChain this payload targets: 56 mainnet, 97 testnet. Default: the configured chain.
govPoolYesDAO GovPool address (dexe_dao_registry_lookup).

Output Schema

NameRequiredDescriptionDefault
payloadYes
warningsNo
advisoriesNoDeprecated — use warnings.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.37.1

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations supply only readOnlyHint=true, and the description's 'does not broadcast' is consistent with that (the tool returns calldata and mutates nothing). Beyond that it adds real behavioral context: the payability rule per DAO type and the mandatory approve ordering for ERC20. It does not describe the returned payload shape or whether the calldata must be executed immediately, leaving some behavioral gaps against a thin annotation set.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, each earning its place: the non-broadcast scope first, the signature and effect second, the payable/approve rules last. Nothing is repeated from the schema or annotations, and the most decision-relevant fact is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With five parameters, an output schema, and full schema descriptions, the definition covers the non-obvious parts an agent needs: no broadcast, payability by DAO type, and the approve prerequisite. Remaining details (return payload content, chainId defaults) are already carried by the output schema and field descriptions, though naming the approve tool outright would have closed the loop fully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining the cross-parameter relationship: `value` is meaningful only for native-staking DAOs and must be 0 for ERC20 DAOs, which in turn requires an approve on the token. That conditional coupling between `value`, `amount`, and `nftIds` is not expressed in the schema field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and scope: 'Builds calldata; does not broadcast', then names the exact contract entry point `GovPool.deposit(amount, nftIds)` and its effect (stakes into the DAO to gain voting power). The 'does not broadcast' clause implicitly separates it from the execute/broadcast sibling, so an agent can tell this is a payload-construction step rather than a state-changing call.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear conditional routing: native-coin DAOs pass `value`, while ERC20 DAOs pass value=0 and require a prior GovUserKeeper approve. That prerequisite effectively points at the approve-building sibling. It stops short of explicitly naming an alternative tool or stating when not to use this one (e.g. use execute to actually send), so it falls just shy of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.