Skip to main content
Glama

hire_plan_rebalancer

Plan a hire of the ChainHelix rebalancer agent (ERC-8004 #269223, Portfolio rebalancing plan). Given current holdings, target weights and prices, returns current vs target weights, per-asset drift and the ordered trade list (sells before buys) that moves the portfolio to target, with the residual cash the plan does not net out. Deterministic arithmetic, no custody, no execution. Send the job parameters; you get back the agent's live wallet-signed quote (the job price, paid into escrow on chain when you fund) and the createJob calldata to sign from YOUR wallet, then fund and tell the agent (steps in the answer). This call is free; the job is not. The parameters here are exactly what the agent accepts; an example is in the input schema description.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
termsNooptional ERC-8183 terms {deliverables, quality_standards}; the agent quotes its fixed price either way
pricesNoa mark for every symbol in holdings or targets (also accepted as: marks, quotes, pricesUsd)
targetsNodesired weights, must sum to 1 (also accepted as: targetWeights, weights, allocation)
holdingsNocurrent position sizes in token units, one key per symbol (also accepted as: positions, balances, portfolio)
minTradeUsdNodust filter on emitted trades, default 5
driftThresholdPctNono-trade band per asset, default 1

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
txNo
nextNo
planNo
agentYes
errorNo
exampleNo
missingNo
envelopeNo
expectedNo
erc8004IdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"670f7504e3de5031beccee25a2d24e4515f68b893295f6d5b0d3a0665498b2c9"New value: +"25cc80db6d8e9eac73d47a50f7ad6333a21f1972d008a8fed0159de8bfb4b519"
  2. Changed2 schema fields changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"e5b4290024a229f2bdf97f8fc6a0079c3fe13b77267f41fdcffeb8b26aa1c41e"New value: +"670f7504e3de5031beccee25a2d24e4515f68b893295f6d5b0d3a0665498b2c9"
    • changedInput schema / x-lexicon / version
      Previous value: -"0.1.0"New value: +"0.2.0"
  3. Changed1 schema field changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"a1c2e10fd3177d6b4d59ca78693e8fb36880165cf0f735f680dd86a510411178"New value: +"e5b4290024a229f2bdf97f8fc6a0079c3fe13b77267f41fdcffeb8b26aa1c41e"
  4. Changed1 schema field changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"1eeb782ee15fe69fc80776948e0556fa6b795e210e6305935b2c97b73d955cda"New value: +"a1c2e10fd3177d6b4d59ca78693e8fb36880165cf0f735f680dd86a510411178"
  5. Changed1 schema field changed
    • changedInput schema / x-lexicon / bundleSha256
      Previous value: -"c014292cad7497ce9fd68c33345ac32cb42b672c8e77d6c749c26e162cc207e4"New value: +"1eeb782ee15fe69fc80776948e0556fa6b795e210e6305935b2c97b73d955cda"
  6. Changed3 schema fields changed
    • addedInput schema / x-aliases
      Added value: +{
      +  "holdings": [
      +    "positions",
      +    "balances",
      +    "portfolio"
      +  ],
      +  "prices": [
      +    "marks",
      +    "quotes",
      +    "pricesUsd"
      +  ],
      +  "targets": [
      +    "Targets",
      +    "targetWeights",
      +    "weights",
      +    "allocation"
      +  ]
      +}
    • addedInput schema / x-lexicon
      Added value: +{
      +  "bundleSha256": "c014292cad7497ce9fd68c33345ac32cb42b672c8e77d6c749c26e162cc207e4",
      +  "name": "ChainHelix Agentic Lexicon",
      +  "resolve": "lexicon_resolve",
      +  "spec": "lexicon_spec",
      +  "version": "0.1.0"
      +}
    • addedInput schema / x-vocab
      Added value: +{
      +  "driftThresholdPct": "market.driftThresholdPct",
      +  "holdings": "common.holdings",
      +  "minTradeUsd": "market.minTradeUsd",
      +  "prices": "market.prices",
      +  "targets": "common.targets",
      +  "terms": "data.terms"
      +}
  7. Added

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it discloses deterministic arithmetic, no custody, no execution, that the quote call is free while the job is paid, that payment goes into escrow on chain, and that the createJob calldata must be signed from the caller's own wallet. Missing are failure modes, idempotency, and rate limits, but the core behavioral profile is well covered.

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

Conciseness4/5

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

Purpose and output are front-loaded in the first sentence, and sentences like 'This call is free; the job is not.' carry real signal. It is dense and slightly run-on (the residual-cash clause is convoluted), but virtually no sentence is filler.

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?

For a 6-parameter tool with nested objects and an output schema, the definition covers the essential context an agent needs: what the plan computes, that it is non-executing, and the quote/fund handshake. Return values need not be restated given the output schema, and the remaining gap (sibling routing, edge cases) is modest.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description only adds that 'the parameters here are exactly what the agent accepts' and points to the schema example; it contributes no semantics beyond what the schema's own descriptions and x-aliases already provide.

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

Purpose4/5

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

States a specific verb and resource: plans a hire of the ChainHelix rebalancer agent and enumerates exactly what the plan returns (current vs target weights, per-asset drift, ordered trade list, residual cash). The name and 'Portfolio rebalancing plan' framing make it distinguishable from siblings like hire_plan_gridtrader, though it never explicitly contrasts itself with them.

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

Usage Guidelines3/5

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

The description gives a clear how-to flow (send params, receive wallet-signed quote plus createJob calldata, fund, notify the agent), which is useful usage context. It never states when to choose this tool over hire_plan_gridtrader/hire_plan_healthmon/hire_plan_yieldopt or the generic hire_quote, so alternative-selection guidance is only implied by the name.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources