Skip to main content
Glama

Server Details

Vealth work board: find real work, claim free with your wallet, prove it. Free onchain anchoring.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

71 tools
account_statementWhat this wallet has already paid, itemizedA
Read-onlyIdempotent
Inspect

One wallet's complete payment history with this server: every settled call, what it cost, which door it bought, and the on-chain hash that proves it — plus totals and a per-door breakdown. Use it when someone asks what they have spent here, whether a call was charged twice, or for an expense record. Each line settled from the caller's own wallet on a public chain, so every hash is independently verifiable without trusting this server. Free, keyless, read-only, and it stores nothing about anyone.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoOptional cap on payments returned (newest first).
walletYesThe 0x… address that paid. The ADDRESS only, never a private key.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent annotations, it discloses keyless access, that it stores nothing, that payments settle on a public chain, and that hashes are independently verifiable without trusting the server. This adds materially useful trust and privacy context for a financial-history tool.

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?

Four sentences, front-loaded with the core result, followed by usage triggers and trust/privacy context. There is no filler or repetition; every sentence contributes a distinct fact an agent needs.

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

Completeness5/5

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

The description is self-sufficient: it states the data returned, use cases, verification model, and access characteristics, while the output schema and 100% parameter coverage supply the remaining structure. There is no missing invocation-critical information.

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 reinforces the 'wallet' parameter by explaining the result is per-wallet payment history, but it adds no parameter-level detail beyond the schema, and 'limit' behavior is already documented in the schema.

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 and complete statement: 'One wallet's complete payment history with this server', and enumerates exact contents (settled calls, cost, door, on-chain hash, totals, per-door breakdown). This sharply distinguishes it from the many payment and submission siblings in the tool list.

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 explicit triggers: 'Use it when someone asks what they have spent here, whether a call was charged twice, or for an expense record.' It does not name exclusion cases or sibling alternatives, but the context is clear enough that an agent can select this over future-facing or action-oriented payment tools.

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

anchor_proofTimestamp a file onchain so you can prove you had it firstAInspect

Anchor the SHA-256 of any file onchain, free. Use it the moment you produce something whose PRIORITY matters: a security finding before you disclose it, research before you share it, a draft before you send it out. You send only the hash, never the file, so nothing you make is disclosed to anyone. It lands in the next weekly Base batch and the Ethereum root, and from then on anyone can prove those exact bytes existed by that time. Free to submit, free to verify, no account, no wallet, no payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoOptional short public label for your own reference. Never include anything secret.
sha256YesSHA-256 of your file, 64 lowercase hex characters. Get it with: shasum -a 256 <file>

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds valuable behavioral context beyond these: the onchain batching delay ('next weekly Base batch'), the privacy guarantee (only hash sent), and the zero-cost aspect. It does not contradict any annotation and provides useful operational detail for the agent.

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?

A single well-organized paragraph that front-loads the core action and immediately explains why and when to use it. Every sentence earns its place: purpose, usage contexts, privacy, mechanics, and cost. No filler or redundancy.

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

Completeness5/5

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

Given the tool's complexity (write, non-idempotent, delayed onchain effect), the description covers all critical aspects: what happens (lands in batch and Ethereum root), cost (free), prerequisites (none), and the long-term verification capability. An output schema exists, so return values are covered elsewhere. An agent has enough to decide and safely call this tool.

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%: both 'label' and 'sha256' have descriptive text including the shasum command and security warning. The description reinforces the hash-only policy but adds no new parameter-level semantics beyond the schema. Baseline of 3 is appropriate since the schema already carries the full parameter documentation.

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 states a specific action ('Anchor the SHA-256 of any file onchain') with a specific resource (file hash) and outcome (proving existence by a time). It clearly distinguishes from siblings like verify_anchor and other submit_* tools by focusing on the anchoring action and its priority-preservation purpose.

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

Usage Guidelines5/5

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

The description explicitly says 'Use it the moment you produce something whose PRIORITY matters' and provides concrete examples (security finding, research, draft). It also clarifies what the tool does NOT do ('You send only the hash, never the file') and implies a contrast with verification tools. This is more than sufficient for an agent to decide when to invoke it.

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

board_statsLive board statisticsA
Read-onlyIdempotent
Inspect

Live counts from the Vealth work board, read at this moment — total and open work, claims, settlements, proposed value, and the sector breakdown. Pass a location to also count work nearby. Never cached; the public mirror is https://vealth.net/labor/stats. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
latitudeNoOptional: also count open work near this point.
radiusKmNoNearby radius in km. Default 50.
longitudeNoOptional: also count open work near this point.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable behavioral context beyond annotations: 'Never cached' indicates real-time data, and 'keyless' clarifies access requirements. This enriches transparency without contradicting annotations.

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?

The description is two sentences, front-loaded with the core purpose and metrics, then adds usage context (location) and operational details (never cached, public mirror, free, keyless). Every sentence contributes meaningful information with no redundancy or fluff.

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

Completeness5/5

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

With an output schema present, the description need not detail return formats; it appropriately lists the main returned metrics (total/open work, claims, settlements, proposed value, sector breakdown). Optional location behavior is explained, and annotations cover the read-only, idempotent nature. Nothing essential is missing for an agent to invoke this tool correctly.

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%, with each parameter (latitude, radiusKm, longitude) having a clear description. The tool description adds a high-level concept of 'location' and 'nearby' but does not provide additional syntax or format details beyond what the schema already offers. Baseline 3 is appropriate as the schema does the heavy lifting.

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 clearly states the tool's purpose: 'Live counts from the Vealth work board' with specific metrics (total/open work, claims, settlements, proposed value, sector breakdown). It uses a specific verb ('read', 'count') and resource, and the unique functionality of optional location-based nearby counting distinguishes it from siblings like find_work.

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 provides some usage guidance: 'Pass a location to also count work nearby' and notes that it is free and read-only, but it does not explicitly mention when to use this tool versus alternatives or when not to use it. The context is clear enough to infer appropriate use, but lacks explicit routing or exclusions.

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

compare_titlesLay a wallet's titles beside a job's requirements, six words, human decidesA
Read-onlyIdempotent
Inspect

Machine comparison, human decision. Give a wallet and the requirements of a job or project; each requirement comes back as exactly one of six words: verified_match (declared, current, and on-chain-confirmed board work in scope), verified_mismatch (the record contradicts the requirement), supported (declared, nothing contradicts it, no board work yet), unknown (the record does not say), expired (declared expiry passed), human_judgment_required (a human reads it: years of experience, free text). The reply never says qualified and never decides; it carries a receipt hash the decider can anchor for free. Public mirror: https://vealth.net/labor/worker//compare?require=CHST,STS. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletYesThe worker's wallet address (0x…).
requireYesRequirements: a comma list of titles (comma = each required, | = any of, e.g. "CHST,STS|STSC"), or a JSON array of {kind:"title",anyOf:[…],issuer?,mustBeCurrent?} / {kind:"years_experience",years,area?} / {kind:"text",text}.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (read-only, open-world, idempotent), the description adds substantial behavioral detail: every requirement maps to exactly one of six semantic categories, the reply never decides or says 'qualified,' and it includes a receipt hash for anchoring. This is rich context that helps an agent correctly interpret results.

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?

The description is dense and front-loaded, with the core 'machine comparison, human decision' sentence first and the six output words defined compactly. It loses a point for the redundant 'read-only' closing (already in annotations) and the public mirror URL, which add marginal value for an agent selecting or invoking the tool.

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

Completeness5/5

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

Given the six-way classification semantics and the receipt-hash behavior, the description is nearly complete on its own. The output schema exists, so return-field details need not be explained in prose. An agent knows enough to invoke it correctly and interpret all possible outcomes.

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 percent, with detailed schema descriptions for both wallet and require. The tool description reinforces the job-vs-requirements framing but does not add syntax or semantics beyond what the input schema already provides, so the baseline score of 3 applies.

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 and title clearly identify a comparison tool: a wallet's titles are placed beside a job's requirements, and each requirement resolves to one of six enumerated words. This is distinct from sibling tools like worker_titles (which likely lists titles) and verify_work (which likely verifies a single fact).

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?

The description states the stated usage context: give a wallet and the requirements of a job or project. It does not explicitly name alternatives or state when not to use it, but the comparison purpose is clear enough that an agent can infer when this tool is relevant.

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

credential_quoteWhat a credential certificate would contain right now, and what it costsA
Read-onlyIdempotent
Inspect

Price and preview a Vealth credential certificate BEFORE paying for one. Give a wallet for a work-record certificate (its settled packets, accepted proofs and banked credit) or a place for a standing certificate under The Vealth Standard. Returns the live price, exactly what the document would contain right now, and whether issuance would be REFUSED and why — a wallet with no settled work and no banked credit is refused for free, before any payment, because an empty certificate is unsellable. Payment buys the sealed, anchored artifact, never the achievement: every fact inside is already public and free to read at its own endpoint. Issuing is HTTP (POST /certificate/worker/ or POST /certificate/place); reading and verifying an issued certificate are free forever. This tool is free, keyless, read-only, and moves no money.

ParametersJSON Schema
NameRequiredDescriptionDefault
placeNoA city, address fragment, or venue name, for a place standing certificate.
walletNo0x wallet address, for a work-record certificate.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint=false, so the safety profile is known. The description adds concrete behavioral details beyond that: it is free, keyless, moves no money, returns a refusal reason when a wallet has no settled work/no banked credit, and notes that facts are public and readable at their own endpoint. It also mentions the HTTP endpoints for issuance, which adds transparency about the workflow. No contradiction with annotations.

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

Conciseness3/5

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

The description is lengthy (about 180 words) and packs in extra details like the HTTP issuing endpoints and the statement about facts being public. While it is front-loaded with the core purpose, some sentences (e.g., the issuing endpoint specifics) could be trimmed without losing essential meaning. It is not verbose enough to be a serious problem, but it is not as concise as it could be.

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 two-parameter optional tool with an output schema, the description covers the essentials: what it returns (price, content, refusal reason), how to choose the input, refusals, costs, and read-only safety. The output schema presumably details return fields, so the description doesn't need to. It could explicitly state whether exactly one parameter is required, but the 'or' phrasing implies that. Overall, it is complete enough for an agent to call it correctly.

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 description coverage is 100%, so both parameters have meaningful descriptions. The description adds further nuance: it explains that a wallet for a work-record certificate includes settled packets, accepted proofs, and banked credit, and that a place is for a standing certificate under The Vealth Standard. It also clarifies the refusal condition involving the wallet parameters, which enriches parameter understanding beyond the schema.

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 clearly states the tool's purpose: to price and preview a Vealth credential certificate before payment. It names the resource (credential certificate) and the action (price and preview), and distinguishes between two certificate types (work-record and place). The title reinforces this, and no sibling tool overlaps with this exact pre-purchase preview behavior.

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?

The description explains when to use the tool (before paying, for pricing/preview) and provides guidance on selecting the parameter type (wallet for work-record, place for standing certificate). It implies it is not for actual issuance since it says 'BEFORE paying' and notes that payment buys the artifact. It doesn't explicitly name alternative tools, but the context makes usage boundaries clear.

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

crypto_lanesWhich money rails are runningA
Read-onlyIdempotent
Inspect

Whether each recurring-spend lane is running or stopped, and why, read from the file the code itself obeys. A lane marked stopped is stopped by decision, not broken. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description adds valuable context beyond those: it discloses the data source ('the file the code itself obeys') and clarifies that a stopped lane is stopped by decision, not broken – an important interpretive nuance that prevents misinterpretation. This exceeds what annotations provide.

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?

Two concise sentences. The first states purpose and data source in a front-loaded manner; the second adds a meaningful clarification about stopped lanes. The phrase 'Free, keyless, read-only' is a short, useful note about access, adding no unnecessary length. Every word earns its place.

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

Completeness5/5

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

With no parameters and an output schema available (indicated by 'has output schema: true'), the description covers purpose, data source, and interpretation of results ('and why', 'stopped by decision'). It is complete for an agent to decide when to invoke it and to correctly interpret the response. No essential information is missing.

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?

The tool has zero parameters, so the schema coverage is trivially 100%. The description appropriately omits parameter details, meeting the baseline for zero-parameter tools. No additional parameter explanation is needed.

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 clearly states the tool reports whether each recurring-spend lane is running or stopped, and why, sourced from the configuration file the code obeys. It distinguishes itself from all siblings by focusing on 'recurring-spend lanes', a concept not covered by any other tool. The title reinforces the purpose.

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?

The description implies usage by specifying the authoritative data source ('read from the file the code itself obeys'), making it clear this is the canonical source for lane status. While it does not explicitly name alternatives or exclusion conditions, the 'recurring-spend lane' concept is unique among siblings, so an agent would correctly select this tool for such queries. Missing explicit 'when not to use' guidance is a minor gap.

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

crypto_lp_positionsOur liquidity positionsA
Read-onlyIdempotent
Inspect

Every pool we provide liquidity to, with reserves and our share read live from chain. Also carries the pool-pricing trap: raw balance ratios give spot price only for constant-product pools, never for concentrated-liquidity pools. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only and non-destructive behavior; the description adds meaningful context: data is read live from chain, the operation is keyless and free, and it discloses a real analytical pitfall about spot pricing. This goes well beyond the annotations.

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?

Every sentence earns its place: scope, live data source, the pricing limitation, and access characteristics are all covered in a compact three-sentence description. Information is front-loaded and there is no repetition of schema or annotation content.

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

Completeness5/5

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

Given zero parameters, rich annotations, and the presence of an output schema, the description fully covers what an agent needs: the resource scope, freshness of data, access requirements, and a caution about interpretation. Nothing essential is missing.

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?

The tool has zero parameters, so there is nothing for the description to clarify. The schema is already complete, and the description's live-chain note adds relevant context even though no parameter semantics are needed.

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 states a specific verb and resource: it lists every pool the user provides liquidity to, with reserves and share read live from chain. It is clearly distinguishable from siblings like gmx_get_positions by specifying LP positions generally rather than a particular protocol.

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?

The description implies when to use the tool: when you need our LP positions and live reserves. It also provides an exclusion by warning against using raw balance ratios for pricing in concentrated-liquidity pools, though it does not explicitly name an alternative tool.

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

crypto_route_setThe permitted conversion routesA
Read-onlyIdempotent
Inspect

The only asset conversions our rails may perform, plus the standing laws that govern them (gas pricing, the per-transaction fee cap, EARTH's one-way token physics). An edge not listed here is absent on purpose. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, and non-destructive behavior. The description adds valuable context beyond that: the call is free and keyless, the route list is intentionally closed, and the governing rules include gas pricing, a per-transaction fee cap, and EARTH's one-way token physics. This gives the agent useful expectations about cost, authentication, and domain constraints.

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 first defines scope and content, the second clarifies intentional absence, and the third states access cost, authentication, and safety. The most important scoping information is front-loaded.

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

Completeness5/5

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

For a read-only, zero-parameter reference tool with an output schema, this description is complete. It names the exact content area, the laws covered, the closed-set behavior, and the lack of authentication requirements. An agent can decide whether to call this tool and what to expect from it without further ambiguity.

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?

The tool has zero parameters and the schema covers 100% of them, so the description carries no parameter-documentation burden. It appropriately focuses on what the resource contains rather than repeating empty schema fields.

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?

The description clearly states that the tool exposes the authoritative, restricted set of asset conversions the system may perform, along with the rules governing them. It goes beyond the title by emphasizing that unlisted edges are intentionally absent, which gives the tool a well-defined scope. It does not explicitly name a sibling tool to differentiate from, but the phrase 'the only asset conversions our rails may perform' is specific enough.

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 implies that this tool should be used to determine which conversion routes are permitted and that anything not listed is intentionally unsupported. However, it never explicitly states when to prefer this tool over alternatives like crypto_lanes, prepare_bridge, or payment_options. The usage context is inferable but not directly stated.

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

crypto_tokensCanonical token registryA
Read-onlyIdempotent
Inspect

The canonical on-chain address for every token we operate, read from the registry the rails themselves use. Ask this BEFORE using any token address. ECOWEALTH (the token) and EWP (the work protocol) are different things on different chains and confusing them has already broken a live session. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNoOptional: return just this symbol, e.g. ECOWEALTH.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

While the readOnlyHint annotation already indicates safety, the description adds meaningful behavioral context: the tool is the canonical source used by the rails themselves, requires no key or payment, and the ECOWEALTH/EWP confusion has previously broken a live session. This goes beyond the annotations without contradicting them.

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?

The description is compact and front-loaded with purpose, followed by critical usage guidance and a real-world warning. Every sentence earns its place, and there is no filler or repetition of schema details.

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

Completeness5/5

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

For a single-optional-parameter, read-only registry lookup with an output schema, the description is complete. It tells the agent why the tool exists, when to call it, what danger to avoid, and that no authentication is needed. Nothing essential is missing.

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?

The schema already fully documents the only parameter, `symbol`, with an example. The description does not introduce new parameter-level details beyond the schema, so it earns the baseline 3. It does reinforce the example symbol but does not explain edge cases like omitting the parameter.

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 clearly states the tool's function: it returns the canonical on-chain address for every token the system operates on, sourced from the registry that the rails themselves use. It distinguishes itself as the authoritative token-address reference, especially with the explicit warning about ECOWEALTH versus EWP, which sets it apart from sibling token tools.

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?

The description gives explicit timing guidance: 'Ask this BEFORE using any token address.' It clearly explains the critical context for safe use, though it does not explicitly list when-not-to-use or alternative sibling tools, which would be needed for a 5.

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

crypto_walletsOur wallets and their live balancesA
Read-onlyIdempotent
Inspect

The three wallets we operate, each with its role and its live Base balances read at this moment. Use this instead of assuming which wallet does what, and never quote a balance from a document. Read-only: this tool cannot sign, send, or move anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
includeBalancesNoSet false to skip live chain reads and return roles only. Default true.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the read-only nature is covered. The description adds the live-read aspect ('read at this moment') and the warning against quoting from documents, providing context beyond the annotations. No contradiction.

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?

The description is two concise sentences. The core purpose is front-loaded in the first sentence, with usage and safety notes in the second. Every sentence earns its place with no redundancy.

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

Completeness5/5

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

For a simple read-only tool with one optional parameter and an output schema, the description covers purpose, usage, and behavioral characteristics (live read, read-only). It is complete enough for an agent to call it correctly without missing critical information.

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?

The single parameter includeBalances is fully described in the schema (100% coverage), including its effect and default. The tool description does not add additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

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 clearly states the tool returns the three wallets, their roles, and live Base balances. It uses specific verbs and a resource, and distinguishes itself from sibling tools like crypto_tokens or crypto_lp_positions by focusing on wallet identity and balances.

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

Usage Guidelines5/5

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

The description explicitly instructs to use this tool instead of assuming wallet roles or quoting balances from documents, giving clear when-to-use and when-not-to-use guidance. It also implies the alternative (assumptions/documents) without naming a specific sibling, which is sufficient.

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

estimate_footprintTurn this AI session into real provisioned ecological workA
Read-onlyIdempotent
Inspect

The anchor tool. Give a rough token or call count for your AI session and get an order-of-magnitude CO2e estimate PLUS the real, verifiable ecological work you can provision to answer it on Vealth. Vealth does NOT sell paper offsets — it provisions maintenance of the commons: you fund a bounded work packet keyless from your own wallet; when the retirement lane is running an approved proof queues a carbon retirement with an on-chain retirement certificate (that lane is paused by operator order since 2026-08-04). Call find_work next to pick the work. The estimate is orientation only, never a precise carbon claim, and this server never takes payment or holds a wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
callsNoOr approx number of model calls, if you have no token count.
tokensNoApprox total tokens this session (input + output).

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior, and the description adds substantial behavioral context beyond that: 'Vealth does NOT sell paper offsets,' the retirement lane 'is paused by operator order since 2026-08-04,' and 'this server never takes payment or holds a wallet.' This critically prevents the agent from assuming the tool can execute transactions or quote accurate carbon claims.

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?

The description is dense and front-loaded with the core purpose ('anchor tool' + estimate + work), but it includes a lengthy digression about Vealth's business model and the paused retirement lane. That context is valuable but not strictly necessary to invoke the tool correctly, so it is slightly less concise than an ideal definition.

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

Completeness5/5

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

Given the tool has no required parameters, a full output schema, and strong annotations, the description covers everything needed: what the estimate means, what it does not mean, what to do next, and the tool's non-transactional nature. An agent has enough context to call it correctly and interpret the result appropriately.

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% — both 'calls' and 'tokens' are fully described with approximate semantics. The description only reiterates that the values are 'rough' and that either can be used, without adding units, ranges, or parameter relationships. Baseline 3 is appropriate because the schema already handles the semantic load.

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 clearly states a specific action: take a rough token or call count and produce an order-of-magnitude CO2e estimate plus provisioning options. It distinguishes itself from siblings by calling itself 'the anchor tool' and explicitly directing the user to 'Call find_work next,' preventing confusion with actual provisioning tools like provision_work or funding_quote.

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?

The description gives clear context on when to use the tool: when you want an orientation-level estimate for an AI session. It also provides a direct next-step routing instruction ('Call find_work next to pick the work') and warns that the estimate is 'orientation only, never a precise carbon claim.' It does not explicitly enumerate when not to use it, but the guidance is sufficient for this simple estimation tool.

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

find_workFind real work nearbyA
Read-onlyIdempotent
Inspect

Search Vealth's public board of real ecological and community work packets. Each result includes the pay, the skill level, the exact proof that gets it approved, and a page URL. Free, no account, no wallet. Use this when someone asks for work, a job, a task, or something to do near a place.

ParametersJSON Schema
NameRequiredDescriptionDefault
nearNoA place in plain words: a city, neighborhood, address, or ZIP, e.g. 'Los Angeles, CA' or '90036'. Use this when the person names a place instead of giving coordinates, which is almost always. Every word must appear in the packet's address, so 'Los Angeles' will not match 'Los Fresnos'.
pageNoPage number, starting at 1. The reply says when more pages exist.
limitNoMax results per page, 1-25. Default 10.
queryNoFree text, e.g. 'storm drain' or 'tree planting'. Typo-tolerant.
fundedNotrue = only packets a verified payment already backs (money truth; a funded packet can still be earned_credit and never promise cash — read payModel); false = only unfunded packets, where approved proof records earned credit rather than cash unless later funded. Omit for both.
remoteNotrue = only work doable from anywhere (digital/self-verifying — what an agent with no field presence can complete); false = only placed field work. Omit for both.
latitudeNoCenter of the search. Only if you already have real coordinates.
radiusKmNoSearch radius in km, used with latitude/longitude. Default 50.
longitudeNoCenter of the search. Only if you already have real coordinates.
skillLevelNoUse 'entry' for someone starting today.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, open-world, idempotent, and non-destructive behavior, so the bar is lower. The description adds genuine value beyond them: 'Free, no account, no wallet' and 'public board' tell the agent no credentials or wallet setup are needed. No rate-limit or pagination behavior is disclosed, but the schema's page parameter partly covers that.

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 sentences with zero waste: purpose first, then result contents and access requirements, then the usage trigger. Every sentence earns its place and adds selection-relevant information.

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 an output schema present, four rich annotations, and 100% parameter coverage, the description only needs to enable correct selection, which it does. The only gap is not explicitly disambiguating from related siblings like get_work_packet when the user already knows a specific packet, but the 'public board' framing largely covers this.

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's 'near a place' phrasing aligns with the near parameter but adds no semantics beyond what the schema already provides, which includes rich detail like the exact-word-matching caveat and the remote filter's agent relevance.

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 states a specific verb+resource: 'Search Vealth's public board of real ecological and community work packets.' The 'public board' qualifier clearly distinguishes it from siblings like get_work_packet, my_work, and verify_work, and listing result contents (pay, skill level, proof, URL) sharpens what the tool returns.

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?

The description gives an explicit trigger: 'Use this when someone asks for work, a job, a task, or something to do near a place.' This is clear context for when to invoke, though it does not name sibling alternatives or state when-not-to-use cases (e.g., when the user references a specific packet ID via get_work_packet).

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

funding_quoteCan this packet be funded, and what would it costA
Read-onlyIdempotent
Inspect

For a BUYER, not a worker: ask whether one board packet can be funded right now, and what funding it costs NOW. The quote is the packet's OUTSTANDING obligation — the board's posted wage minus verified contributions already recorded — read from the board, never from anything you send, so no caller can fund a $700 packet for $1 and no caller is quoted a stale full wage after others chipped in. Partial funding: when the host has chip-ins armed, any open packet also takes contributions from $0.01 up to what it still needs (contributeUsd on prepare_funding); an EXPLICIT amount above the remaining is recorded as a premium reserved for the worker — no default or omitted amount ever creates a premium. A refusal comes back in the board's own words (already funded, fully covered, claimed, settled, expired, no wage). Read-only: this quotes, it charges nothing and marks nothing funded. Call prepare_funding next to actually pay.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdNoOptional packet id. Omit to quote the first open packet that still needs funding.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

The description goes well beyond the annotations by explaining that the quote is read from the board, never from caller input, that it reflects the outstanding obligation, and that a refusal comes in the board's own words. It also explicitly states 'this quotes, it charges nothing and marks nothing funded,' which aligns with and reinforces the readOnlyHint/idempotentHint annotations.

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?

The description is front-loaded with the core purpose and audience, then adds necessary behavioral caveats and a next-step pointer. It is somewhat long, but nearly every sentence adds important context about quote accuracy, partial funding, refusals, and read-only behavior, so the length is justified.

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

Completeness5/5

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

Given that this tool has one optional parameter, a rich output schema, and strong annotations, the description is amply complete. It covers edge cases like partially funded packets, explicit premiums, stale wage quotes, refusal wording, and the distinction between quoting and funding, leaving no important ambiguity for an agent.

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 coverage is 100%, so the schema already documents the single optional workId parameter and the omission behavior. The description reinforces the semantics but adds little beyond the schema for this tool; the partial-funding and premium details mostly apply to prepare_funding rather than funding_quote's own parameters.

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 names a specific verb ('quote'), a specific resource ('board packet'), and an explicit audience ('BUYER, not a worker'), immediately distinguishing this from worker-side tools. It also clarifies that this tool only asks about funding and cost, not performs funding, which separates it clearly from prepare_funding.

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

Usage Guidelines5/5

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

The description explicitly states when this tool is appropriate: a buyer wanting to know whether a packet can be funded and at what current cost. It directly names the next action ('Call prepare_funding next to actually pay') and excludes workers from its intended audience, giving clear routing guidance.

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

get_work_packetGet one work packetA
Read-onlyIdempotent
Inspect

Full detail for a single packet by its id, including the full description and proof requirement.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYese.g. WORK_1784530149768_4z4r6jz

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds useful context about the return content (full description and proof requirement) but does not disclose error behavior or edge cases. Given annotations, this is adequate but not rich.

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?

A single, front-loaded sentence that states the core purpose and content without any filler. Every word earns its place.

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?

The tool is simple with one parameter and has an output schema, so the description need not detail return structure. It covers what the tool does and what is included. It does not explicitly mention missing-id behavior, but that is likely covered by the output schema or expected error handling. Adequate for a tool of this complexity.

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%, and the workId parameter is fully documented with an example. The description only repeats 'by its id', adding no extra semantic value beyond the schema. Baseline of 3 applies given high schema coverage.

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 states a specific verb 'get' with a specific resource 'single work packet' and clearly scopes it by 'its id'. It also lists key content ('full description and proof requirement'), which distinguishes it from siblings like 'my_work' (likely a list) and 'work_status' (likely status only). No ambiguity remains.

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?

The description clearly implies when to use it: when you have a workId and need full detail. It provides clear context but does not explicitly name alternatives or when not to use this tool. That is a minor gap given the obvious distinguishing purpose among siblings.

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

gmx_get_ordersList open GMX pending ordersA
Read-onlyIdempotent
Inspect

Read all pending orders (limit, stop-loss, etc.) for a wallet on GMX v2 (Arbitrum). Read-only, no signing needed, free.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletYes0x… Arbitrum wallet address to check.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds 'no signing needed' and 'free', plus specifies the network (Arbitrum) and protocol version (GMX v2). It does not disclose return format or pagination behavior, so it adds limited context beyond what annotations already carry.

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?

A single, efficient sentence that front-loads the action and resource, then adds necessary usage constraints (read-only, no signing, free). No unnecessary words or repetition.

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

Completeness5/5

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

Given the single parameter is fully documented in the schema, an output schema exists, and annotations cover safety, the description is complete for an agent to invoke it correctly. It states the resource, network, and read-only nature, leaving nothing critical missing.

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?

The schema describes the only parameter, wallet, as '0x… Arbitrum wallet address to check' with 100% coverage. The description does not add any additional parameter semantics, so the baseline of 3 is appropriate since the schema fully documents the parameter.

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 clearly states the verb 'Read', the resource 'all pending orders', and the scope 'for a wallet on GMX v2 (Arbitrum)'. It also lists example order types (limit, stop-loss) which distinguishes it from sibling tools like gmx_get_positions (positions) and gmx_get_prices (prices).

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?

The context is clear: this is a read-only tool for fetching pending orders, and the description explicitly says 'Read-only, no signing needed'. This implies when to use it (to check orders) and distinguishes from submission tools like submit_gmx_order, without explicitly naming alternatives or exclusions.

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

gmx_get_positionsList open GMX perpetual positionsA
Read-onlyIdempotent
Inspect

Read all open perpetual positions for a wallet on GMX v2 (Arbitrum). Read-only, no signing needed, free.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletYes0x… Arbitrum wallet address to check.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's 'Read-only' is redundant. However, it adds valuable context that annotations do not cover: 'no signing needed' and 'free', which are operational constraints an agent must know. This extra information justifies a score above the baseline.

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?

The description is a single sentence of 20 words that front-loads the core action and scope. Every element (read, all open perpetual positions, wallet, GMX v2, Arbitrum) is necessary; there is no filler or redundancy.

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

Completeness5/5

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

For a simple read-only tool with one parameter, 100% schema coverage, and a provided output schema, the description is complete. It specifies the network and protocol, which are critical for correct invocation, and the annotations cover safety and idempotency. No missing information would prevent an agent from calling it correctly.

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 schema fully documents the 'wallet' parameter as a '0x… Arbitrum wallet address to check'. The description merely repeats 'wallet' without adding syntax, format, or behavior details beyond the schema. Since the schema does the heavy lifting, a baseline of 3 is appropriate.

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 states a specific verb ('read'), a precise resource ('all open perpetual positions'), and scopes it to 'a wallet on GMX v2 (Arbitrum)'. This clearly differentiates from sibling tools like gmx_get_orders or gmx_get_prices, which handle different aspects of the protocol.

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?

The description provides clear context by specifying that this tool reads perpetual positions, which implies its appropriate use case. However, it does not explicitly compare to alternatives (e.g., 'use gmx_get_orders for orders') or state when not to use it, leaving some inference to the agent.

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

gmx_get_pricesGet current GMX market pricesA
Read-onlyIdempotent
Inspect

Fetch current mark prices for all tradeable assets on GMX v2 (Arbitrum). Read-only, no signing needed, free.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, but the description adds useful beyond-annotation context: 'no signing needed, free.' It also specifies the network (Arbitrum) and that it covers 'all tradeable assets,' which helps set expectations without contradicting the annotations.

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?

The entire description is a single, front-loaded sentence that communicates the action, scope, network, and safety profile. There is no filler or repetition of the title. Every clause adds information an agent needs.

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

Completeness5/5

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

Given zero parameters, a present output schema, and comprehensive annotations, the description fully covers what an agent needs to know: what to expect, the network, the asset scope, and the read-only nature. No critical operational context is missing.

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?

There are zero parameters, so the schema carries no parameter details. The description clarifies that the tool fetches all tradeable assets with no filtering, which explains why no parameters are required. This matches the baseline for parameterless tools.

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 uses a specific verb and resource: 'Fetch current mark prices for all tradeable assets on GMX v2 (Arbitrum).' This clearly distinguishes it from trading tools like submit_gmx_order and account-oriented tools like crypto_wallets. The scope is precise and immediately actionable.

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?

The description makes the context clear: this is for retrieving current mark prices on GMX v2. It implicitly signals use for read-only price queries before an order, but it does not explicitly name alternatives or state when not to use it. Since the tool is simple and zero-parameter, the context is sufficient.

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

how_to_claimHow to claim a packet and get paidA
Read-onlyIdempotent
Inspect

Explains exactly how to claim work and what happens after. Claiming is free. Returns instructions, never performs the claim, because claiming requires the worker's own wallet signature.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value by explicitly stating 'Returns instructions, never performs the claim' and explains why (wallet signature required), plus the cost note 'Claiming is free.' This goes beyond the annotations by clarifying the exact behavior and rationale, though it doesn't detail the output structure or any edge cases.

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?

The description is two concise sentences that front-load the core purpose ('Explains exactly how to claim work and what happens after') and then add essential context (free, no action, reason). Every sentence earns its place with no filler or repetition.

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

Completeness5/5

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

For a parameterless, read-only informational tool, the description is complete. It tells the agent what the tool does, what it does not do, and why. Combined with the rich annotations and presence of an output schema, an agent has everything needed to correctly invoke this tool without further investigation.

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?

The tool has 0 parameters, so the schema is trivially covered at 100%. The description correctly adds no parameter information because none is needed. This meets the baseline of 4 for a parameterless tool.

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 clearly states the tool's purpose: 'Explains exactly how to claim work and what happens after.' It uses a specific verb (explains) and resource (claim work), and explicitly distinguishes itself from action tools like 'prepare_claim' and 'submit_claim' by noting it 'never performs the claim.' This makes it easy for an agent to know this is an informational tool, not an action.

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?

The description implies when to use it: when you need instructions on claiming. It clarifies it does not perform the claim, which directs agents toward other tools for actual claiming, but it does not name those alternatives explicitly. The context 'claims requires the worker's own wallet signature' provides rationale, but a direct reference to sibling tools would make it a 5.

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

hydrex_claimableWhat a Hydrex voter can claim right now, and from which contractA
Read-onlyIdempotent
Inspect

The money answer: for every gauge a wallet votes for, the fee contract and the bribe contract, every reward token each one tracks, and exactly how much is claimable per veNFT — all resolved from chain, so a zero here is a real zero rather than a degraded API. Returns the claim calldata SHAPES for a caller to build their own transaction; it builds and signs nothing itself. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoOptional: the voting wallet. Omit to follow our own position.
tokenIdsNoOptional: veHYDX token IDs to check earnings for. Rewards are tracked per NFT.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already cover read-only, open-world, idempotent, and non-destructive behavior. The description adds valuable context beyond these: data is resolved directly from chain ('a zero here is a real zero rather than a degraded API'), it is free and keyless, and it returns only calldata shapes without executing or signing anything. No contradiction with annotations.

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?

The description is a compact three-sentence paragraph that front-loads the core purpose and includes useful behavioral details. Minor stylistic flourishes such as 'The money answer' and 'rather than a degraded API' add character but are not strictly necessary, preventing a perfect score.

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

Completeness5/5

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

The description covers data source, scope, per-NFT granularity, non-execution behavior, cost, and auth requirements, while the existing output schema handles return-value details. Nothing critical is missing for an agent to decide when to invoke this tool and what to expect from it.

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 description coverage is 100%, so the baseline is 3. The description adds meaning by linking the address parameter to the voting wallet and explaining that rewards are tracked per veNFT (matching tokenIds). It also clarifies the computational scope (gauges, fee contracts, bribe contracts, reward tokens), which helps an agent understand how the parameters influence the result.

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 specifies a concrete function: compute exact claimable amounts per veNFT across fee and bribe contracts for every gauge a wallet votes for, then return calldata shapes. It also explicitly distinguishes itself from execution tools by stating it 'builds and signs nothing itself', which separates it from siblings like prepare_claim and submit_claim.

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?

The description clearly states the context: use when you need to know claimable rewards and obtain calldata shapes for building a transaction, not for executing claims. It implies the boundary with 'builds and signs nothing itself', but it does not explicitly name alternative tools or give a precise when-not-to-use condition, so it stops short of a 5.

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

hydrex_positionA Hydrex veHYDX position: locks, voting power, and who owns it right nowA
Read-onlyIdempotent
Inspect

Everything about a veHYDX voting-escrow position on Base, read live: each NFT's current owner (resolved with ownerOf at call time, never assumed), its voting power, its locked HYDX, and whether it can ever be unlocked. Also reports oHYDX, the separate OPTION token, with its live exercise economics — oHYDX and veHYDX are different things and this tool keeps them apart on purpose. Works for any Hydrex holder: pass an address, or omit it to read the position this server operates. Free, keyless, read-only — it cannot sign or move anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoOptional: a wallet to inspect. Omit to read our own position, whose owner is resolved live rather than hardcoded.
tokenIdsNoOptional: specific veHYDX token IDs. Omit to discover them, or to use our known IDs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotent, and destructiveHint false. The description adds meaningful behavioral context: it reads live via ownerOf at call time, never assumes ownership, is free/keyless, and explicitly cannot sign or move anything. It also clarifies the deliberate separation of oHYDX and veHYDX, which goes beyond the annotation surface.

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?

The description is a single, information-dense paragraph that front-loads the core purpose ('Everything about a veHYDX... read live') and packs details efficiently. Every sentence adds useful information without redundancy, though it could be slightly more structured for scanning.

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

Completeness5/5

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

Given the presence of an output schema, the description doesn't need to explain return values. It covers the tool's scope (veHYDX and oHYDX), ownership resolution, unlockability, and usage scenarios, making it complete enough for an agent to decide when to call it and what to expect.

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% with both parameters documented. The description adds value by explaining the address parameter is optional and that omitting it reads the server's own position, which clarifies the default behavior. It does not elaborate on tokenIds, but since the schema already describes it, a 4 is justified (baseline 3 plus a slight boost).

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 clearly states the tool reads a veHYDX position with specific attributes (owner, voting power, locked HYDX, unlockability) and also handles oHYDX separately. It uses specific verbs and resources, and explicitly distinguishes oHYDX from veHYDX, making its purpose unambiguous even among many siblings.

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?

The description provides clear usage context: pass an address or omit it to read the server's own position, with owner resolved live. It does not name alternative tools like hydrex_votes or hydrex_claimable, but the guidance on how to invoke and what to expect is clear, which meets the 'clear context, no exclusions' bar.

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

hydrex_realityHydrex measured income versus advertised projection, side by sideA
Read-onlyIdempotent
Inspect

Call this before repeating any Hydrex APR or yield projection. It puts the venue's advertised weekly number next to the money actually collected (measured at 0.089% of the projection), and computes live from the venue's own per-gauge data why the ceiling is structural: total fees and bribes the whole venue distributes, against the fraction of system votes a position actually holds. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so safety is covered. The description adds behavioral context: it computes live from the venue's per-gauge data, uses a specific measurement ratio, and compares advertised vs actual. This goes beyond the annotations and helps an agent anticipate the tool's computational nature. No contradiction with annotations.

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?

The description packs a lot of information into two sentences with no filler. The purpose is front-loaded ('Call this before repeating...'), followed by a detailed explanation of the computation. The structure is efficient, though the long second sentence could be slightly more readable, but it earns its length.

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 tool with no parameters and an output schema present, the description adequately explains what it does and why. It contextualizes the output (comparison, structural ceiling explanation) without needing to describe the return format, which is left to the output schema. The only minor gap is that it doesn't explicitly state the output is a report, but that is inferable.

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?

The tool has zero parameters, so the schema is trivially 100% covered. The description explains what data the tool uses internally (venue's per-gauge data, fees, bribes, vote fraction) without needing to document input parameters. This is appropriate for a no-arg tool.

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?

Description clearly states the tool's function: comparing Hydrex's advertised weekly projection against actual collected income, and explaining the structural ceiling via per-gauge data. It uses a specific verb ('Call'), resource ('Hydrex'), and includes a distinguishing detail ('measured at 0.089% of the projection'). This sets it apart from sibling tools like hydrex_position or hydrex_vault that likely report raw position data.

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

Usage Guidelines5/5

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

Explicitly instructs when to use: 'Call this before repeating any Hydrex APR or yield projection.' This is a direct usage condition. It also highlights that it is free, keyless, and read-only, which encourages adoption and clarifies no setup is needed. Does not need to mention alternatives since it is clearly the go-to for verification.

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

hydrex_vaultA Hydrex ICHI vault position, including whether it is actually earningA
Read-onlyIdempotent
Inspect

An ICHI single-sided vault position on Hydrex: shares held, share of the vault, the token composition of that slice, and — the part that matters — whether those shares are STAKED in the emissions gauge. Depositing and staking are two separate steps, and unstaked shares earn none of the advertised farming APR. Advertised APRs are returned but labelled display-only. Defaults to the kVCM/USDC vault. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
vaultNoOptional: an ICHI vault address. Defaults to the kVCM/USDC single-sided vault.
addressNoOptional: the holder to inspect. Omit to follow our own position.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (readOnly, openWorld, etc.), the description adds crucial behavioral context: that advertised APRs are display-only and not guaranteed earnings, and that depositing and staking are separate steps. This gives the agent a realistic expectation of what the tool returns and its limitations.

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?

The description is well-structured and front-loaded with the most important aspect (staking status). Each sentence adds distinct information (position contents, staking significance, APR labeling, default, and access). It is slightly verbose but not wasteful; a minor trimming could improve conciseness without losing substance.

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

Completeness5/5

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

With an output schema present, the return format is already defined. The description covers inputs (optional vault and address), the key output dimensions (shares, share, composition, staking), and an important caveat about APR display. It also notes keyless read-only access. Nothing essential for a read-only inspection tool is missing.

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?

The input schema already fully documents both optional parameters with defaults and descriptions (100% coverage). The description repeats the default vault name but adds no new parameter-level detail, such as format constraints or usage notes, so it adds minimal semantic value beyond the schema.

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 clearly states the tool's purpose: to report an ICHI single-sided vault position on Hydrex, including shares held, share of the vault, token composition, and crucially whether shares are staked. It distinguishes itself from sibling tools like hydrex_position by highlighting the staking status as the key output, which is likely unique to this tool.

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 implies when to use the tool (when you need to know if shares are actually earning, i.e., staked) by emphasizing that unstaked shares earn no APR. It also mentions the default vault. However, it does not explicitly name alternatives or state when NOT to use it, such as pointing to hydrex_position for non-staking vault details.

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

hydrex_votesWhat a Hydrex position is voting for, and the honest denominator to judge it byA
Read-onlyIdempotent
Inspect

A wallet's current gauge-vote allocation read from VoterV5 on chain, plus where the weekly epoch stands and the live emission rate. Carries the two traps that make naive readings wrong by orders of magnitude: the live system weight is a mid-epoch partial that inflates any share-% computed from it, and a gauge's live weight can read exactly zero while a full vote sits on chain. Share percentages here use the last COMPLETED epoch. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressNoOptional: the voting wallet. Omit to follow our own position to whichever wallet currently holds it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

The description goes well beyond the readOnly/idempotent annotations by exposing two non-obvious failure modes: mid-epoch partial system weight inflating share percentages, and a live gauge weight of zero despite a full vote on chain. It also states that percentages use the last completed epoch, which is critical for correct interpretation.

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?

The description front-loads the core return value, then packs the caveats into a dense but purposeful warning, and ends with a concise access note. Every sentence contributes either to scope or to safe interpretation, with no filler or repetition beyond what annotations already provide.

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 one-parameter, read-only tool with no output schema, the description explains what is returned (allocation, epoch standing, emission rate), the denominator used, and the two traps that could mislead an agent. It does not enumerate concrete output field names, but the semantic contract is sufficient for invocation and interpretation.

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?

The only parameter, address, is already well documented in the input schema, including the default behavior when omitted. The description adds no extra parameter-level detail beyond identifying the wallet as the subject, so the high schema coverage carries the burden.

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 clearly states the tool's subject and action: reading a wallet's current gauge-vote allocation from VoterV5 on chain, plus epoch standing and live emission rate. The title's 'honest denominator' framing and the traps it names distinguish this tool from vote-submission, claim, or position tools without requiring schema inspection.

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?

The description gives clear context for when the tool is appropriate: when you need a wallet's current gauge-vote allocation with an honest share denominator and epoch context. It does not explicitly name alternatives or say when not to use it, but the read-only, wallet-specific scope is clear enough for an agent to route correctly.

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

my_votesWhat one wallet has voted on and backedA
Read-onlyIdempotent
Inspect

One wallet's whole demand history: every packet it voted for or against, and every packet it pledged to back — both free, signed acts that move no money. Use this when someone asks what they voted for, whether their vote is still active, or what they have pledged. A pledge here is a signed statement of intent only: pledged is not funded, nothing moves and nothing is held until a real payment settles through the separate funding door (prepare_funding). Free, keyless, read-only, and it records nothing about the caller.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletYesThe 0x… address that voted or pledged. The ADDRESS only, never a private key.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

The description goes well beyond the annotations by explaining that voting and pledging 'move no money,' that a pledge is only a signed intent, that nothing is held until payment settles, and that the tool is 'free, keyless, read-only' and 'records nothing about the caller.' This is rich, non-obvious behavioral context consistent with the readOnlyHint and idempotentHint annotations.

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?

The description is front-loaded with the core purpose and each sentence adds meaningful information: scope, use cases, the pledge-vs-funding distinction, and safety/read-only transparency. It is somewhat longer than average but every sentence earns its place given the subtle semantics around pledges.

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

Completeness5/5

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

Given the tool's simple single-parameter input, strong annotations, and presence of an output schema, the description fully covers what the tool does, when to use it, the meaning of pledge, and the fact that it is read-only and records nothing. No important context appears missing.

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 coverage is 100% and the wallet parameter is already well described as 'The 0x… address that voted or pledged. The ADDRESS only, never a private key.' The description reinforces the wallet-centric scope but does not add additional parameter-level meaning beyond the schema, so the baseline of 3 is appropriate.

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 uses specific, concrete language: 'One wallet's whole demand history' and 'every packet it voted for or against, and every packet it pledged to back.' This clearly identifies the resource (a wallet's voting/backing history), the action (viewing), and the scope, distinguishing it from voting/backing submission tools like submit_vote and submit_backing.

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool: 'Use this when someone asks what they voted for, whether their vote is still active, or what they have pledged.' It also clarifies that a pledge is not funded and points to prepare_funding as the separate path for actual payments, providing clear routing guidance.

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

my_workWhat happened with my workA
Read-onlyIdempotent
Inspect

One question, the whole picture for ONE wallet: every packet it claimed and where each one stands, what is waiting on the person (proof not handed in, proof rejected and the reason given), what settled and its public receipt, and what is newly open nearby that fits the kind of work they have already done. Use this whenever someone asks how their work is going, whether they got paid, whether anyone reviewed their proof, or what to pick up next. Vealth sends no email and no notifications, so this tool is how a person stays with the process. Free, keyless, read-only, and it records nothing about the person: it cannot know when they last looked, so pass since if you know.

ParametersJSON Schema
NameRequiredDescriptionDefault
nearNoOptional place in plain words for the what-to-pick-up-next list, e.g. 'Los Angeles, CA'.
sinceNoOptional ISO timestamp of when this person last checked, e.g. '2026-08-01T00:00:00Z'. Used only to mark what changed since then. Nothing about anyone is stored here, so without it everything is listed.
walletYesThe 0x… address that claimed the work. The ADDRESS only, never a private key.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Beyond the annotations (readOnly, idempotent, non-destructive), it discloses that Vealth sends no email or notifications, that the tool is free and keyless, that it records nothing about the person, and that `since` must be passed because no prior state is stored. This adds meaningful behavioral context the annotations do not express, and there is no contradiction.

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?

The description is front-loaded with the overall scope and then gives trigger phrases and important context about privacy and statelessness. Each sentence serves a purpose, though the rhetorical framing 'One question, the whole picture' is slightly wordy and could be tightened.

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

Completeness5/5

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

With an output schema present and full schema parameter coverage, the description supplies the remaining essentials: what the tool covers, when to use it, how it behaves without stored state, and why `since` is needed. Nothing critical appears missing for an agent to call it correctly.

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 every parameter already has a description. The description adds value by explaining why `since` matters—'it cannot know when they last looked, so pass `since` if you know'—and by reinforcing that wallet is an address only. This is above baseline but not extensively loaded with new semantics.

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?

The description clearly identifies a specific verb, resource, and scope: 'One question, the whole picture for ONE wallet' and enumerates what it returns. It distinguishes itself by emphasizing the wallet-specific, all-in-one nature, but it does not explicitly name or contrast sibling tools like work_status or get_work_packet, so differentiation relies on context.

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 explicit trigger scenarios: 'Use this whenever someone asks how their work is going, whether they got paid, whether anyone reviewed their proof, or what to pick up next.' This is clear when-to-use guidance, but it does not state exclusions or alternatives for related tools, leaving some routing judgment to the agent.

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

net_subscription_quoteSovereign net worth as a service — your user's own token programA
Read-onlyIdempotent
Inspect

The token program we proved on NET, run for your user: $1/month mints their OWN 1,000-fixed-supply asset (~999 to their wallet, no owner functions), creates a real burned-LP market for it, and standing-buys it monthly while they hold ~99% of the supply; $2/month adds a dollar for the service. This tool returns the tiers, the doors, whether sales are open, how to pay (standard x402 from their own wallet — we never take custody of their supply), and the honesty block: the market is thin, its price is their own buying, never external demand, and no profit is promised. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, but the description adds meaningful behavioral context beyond those: the tool is keyless, requires no custody of the user's supply, and discloses the market thinness and absence of profit promise. This honesty block is valuable qualitative info not conveyed by annotations. Not contradicting annotations.

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?

The description is a single, dense sentence that packs a lot of meaningful details. It could be slightly unwieldy, but it is well-structured with a clear flow: what it does, what it returns, and a prominent honesty note. All sentences earn their place, though a line break or two would improve readability.

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

Completeness5/5

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

For a zero-parameter, read-only tool with a rich output schema and strong annotations, the description covers everything an agent needs to decide and call correctly: what it does, who it's for, pricing, payment method, custody details, and risk caveats. No missing critical context is apparent.

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?

The input schema has zero parameters, so the description doesn't need to compensate for parameter documentation. The description instead explains what the output covers (tiers, doors, sales status, payment method, honesty block), which is arguably more useful for an agent deciding to call it than a parameter list would be.

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 title and description clearly state the resource ('Sovereign net worth as a service — your user's own token program') and the actionable verb 'returns' with specifics: tiers, doors, sales open status, payment method, and the honesty block. It distinguishes itself from siblings like net_subscription_status and funding_quote by focusing on a user-specific token program quote.

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?

The description explains the offering, payment method (standard x402 from their own wallet), and explicitly notes it is free, keyless, and read-only. While it doesn't name alternatives explicitly, the context signals and sibling list make the tool's niche clear; a straightforward quote/read tool versus actionable funding or preparation tools. It lacks an explicit 'when not to use' statement but provides enough context.

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

net_subscription_statusA wallet's program subscription: months paid and program stateA
Read-onlyIdempotent
Inspect

Given a subscriber wallet, returns its paid months, each window's program budget, the asset naming on record, and fulfillment state. Everything the program does for the wallet — the mint, the burned market seed, every standing buy — is independently checkable on Base. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletYesThe subscriber wallet (0x…), the same wallet that paid.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful context beyond those annotations: it is free, keyless, and independently checkable on Base, which informs cost, authentication, and verifiability expectations. No contradiction with annotations exists.

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?

The description is compact and front-loaded, starting with what the tool returns before adding verifiability and access qualifiers. Every sentence earns its place—'Free, keyless, read-only' is high-value decision information, and the Base verifiability sentence adds trust context without bloating the text.

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 simple single-parameter read-only tool with a rich output schema and strong annotations, the description is nearly complete. It conveys the input precondition, the kind of data returned, and the trust/cost profile; the only notable gap is not routing agents away from sibling tools like net_subscription_quote.

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?

There is only one parameter and schema description coverage is 100%, so the schema already explains that wallet is the subscriber wallet (0x…) that paid. The tool description repeats this notion but adds no genuinely new detail about the parameter format or edge cases.

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?

The description uses a specific verb ('returns') and names concrete resources: paid months, program budget, asset naming, and fulfillment state. It clearly identifies the tool as a subscription-status lookup, though it does not explicitly distinguish it from the similarly named net_subscription_quote.

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?

The phrase 'Given a subscriber wallet' establishes a clear precondition and usage context, and the enumerated return values make it obvious when this tool is appropriate. It does not name alternatives such as net_subscription_quote or specify when not to use it, so it misses the top score.

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

operator_decisionsThe operator decision ledger — standing law, with its enforcementA
Read-onlyIdempotent
Inspect

Every standing operator decision that governs these rails — what was decided, the operator's words, and the machine-checkable enforcement (lane state, kill switches, env vars, CI tests) that makes it real. Ask this BEFORE reviving, patching, or questioning any stopped lane: a rail that looks broken may be stopped by decision, and a check fails in CI whenever a decision here stops being enforced. Free, keyless, read-only, no chain reads.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOptional: return just this decision id, e.g. no-sell-walls.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description discloses that the tool is free, keyless, read-only, and makes no chain reads. It also reveals the CI enforcement relationship, adding valuable behavioral context that is not present in the annotations.

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 sentences: the first defines the tool's content, the second gives actionable usage guidance, and the third summarizes cost, access, and read-only behavior. No wasted words, and the most important scoping information is front-loaded.

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

Completeness5/5

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

The description provides the conceptual model, the when-to-use scenario, the enforcement mechanism, and the cost/access profile. With an output schema present and annotations covering safety, this is complete for an agent to decide whether and how to invoke the tool.

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 coverage is 100%, and the single optional id parameter already includes a description with an example. The tool description does not add parameter-specific detail, but the schema carries the burden, so a baseline of 3 is appropriate.

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 clearly states what the tool provides: a ledger of standing operator decisions, including the decision content, the operator's words, and machine-checkable enforcement. It distinguishes itself from sibling tools by focusing on governance decisions and their role in stopped lanes.

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

Usage Guidelines5/5

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

Explicitly instructs when to use: 'Ask this BEFORE reviving, patching, or questioning any stopped lane.' It also explains why (a rail may be stopped by decision) and notes the CI enforcement consequence, giving clear context for choosing this tool.

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

payment_optionsWhat everything here costs, before you pay for anythingA
Read-onlyIdempotent
Inspect

The whole price list for this server's paid doors, in dollars, cheapest first. Use it to budget BEFORE committing to a call — without it the only way to learn a price is to call a door and read the 402 it answers with. Prices are read from the live door manifest, never a hand-kept table, so a door that changes price cannot leave a stale number quoted here; the door's own 402 challenge remains the final price truth. Free, keyless, read-only. There is no balance to top up: you pay each call from your own wallet at the moment you call.

ParametersJSON Schema
NameRequiredDescriptionDefault
maxUsdNoOptional ceiling — show only doors costing this much or less.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already mark readOnly/openWorld/idempotent, but the description adds genuinely useful behavior: prices are read live from the door manifest rather than a stale table, the door's own 402 challenge is the final price truth, and each call is paid from the caller's own wallet at call time. This goes well beyond the structured hints.

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?

Four sentences, all substantive, with the main purpose front-loaded. It is slightly longer than strictly necessary—'Free, keyless, read-only' partially repeats annotations—but every sentence earns its place by clarifying cost semantics, freshness, or workflow.

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

Completeness5/5

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

Given the output schema exists, one optional parameter, and read-only annotations, the description is complete enough for an agent to decide when to call it and what to expect: full price list, sorted cheapest first, live source, no wallet balance interaction, and final authority delegated to the door's 402 response.

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 single optional maxUsd parameter is already documented. The description adds useful context like 'cheapest first' but does not discuss the ceiling filter; the schema carries that weight, so the baseline of 3 is appropriate.

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?

The description clearly identifies the resource: 'the whole price list for this server's paid doors, in dollars, cheapest first.' It is phrased as a noun phrase rather than an explicit imperative verb, and it does not call out a sibling by name, but the function is unmistakable and the 'budget BEFORE committing' framing distinguishes it from payment execution tools.

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

Usage Guidelines5/5

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

Explicitly instructs when to use it: 'Use it to budget BEFORE committing to a call.' It also names the alternative behavior—without it, the only way to learn a price is to call a door and read the 402—and clarifies that there is no balance to top up, so agents know not to treat this as a wallet or prepayment tool.

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

payment_preflightCan this wallet afford this call right nowA
Read-onlyIdempotent
Inspect

Reads a wallet's live USDC balance on Base and answers whether it covers one named door (or a given amount), with the exact shortfall if not and how many calls at that price the balance covers. Use it before a paid call so an agent never burns a turn discovering it is short. A balance that cannot be read answers UNKNOWN, never no — an RPC hiccup must not stop a funded caller. Read-only: it checks a public balance, holds nothing, and charges nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletYesThe 0x… address that would pay. The ADDRESS only, never a private key.
endpointNoA door name from payment_options, e.g. 'work-packet'. Prices the check from the live list.
amountUsdNoCheck against a plain dollar amount instead of a named door.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds beyond annotations: it specifies that the check 'holds nothing, and charges nothing' and, critically, that an unreadable balance returns UNKNOWN rather than no, preventing false negatives from RPC issues. This is substantial behavioral context not present in annotations.

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?

The description is two sentences, front-loaded with the tool's purpose and result, then the usage guidance and a critical edge-case. Zero filler; every clause earns its place. The UNKNOWN behavior and no-charge note are wrapped into the final sentence without bloat.

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

Completeness5/5

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

Given that the tool has an output schema (so return format is covered elsewhere), three parameters (fully described in schema), and annotations providing the safety profile, the description covers the essential context: what it does, when to use it, the alternative mode, and a critical failure behavior that could otherwise cause wrong agent decisions. No missing information prevents correct calling.

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 coverage is 100%, so all three parameters (wallet, endpoint, amountUsd) are documented in the schema itself. The description adds only marginal semantic value: it clarifies that endpoint is a 'door name' and amountUsd is an alternative ('instead of'), but the schema already states 'A door name from payment_options' and 'Check against a plain dollar amount'. The description does not introduce new details about parameter formats or interactions beyond the schema, so the baseline 3 is appropriate.

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 precise verb-resource pair: 'Reads a wallet's live USDC balance on Base' and states the core answer it provides (covers a door/amount, exact shortfall, count of calls). It clearly distinguishes itself from payment_submit or prepare tools by being a pre-flight check, and the sibling list contains no other similar preflight tool.

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 explicitly instructs to use it 'before a paid call so an agent never burns a turn discovering it is short', giving a strong when-to-use instruction. It does not name specific alternative tools or explicitly say when not to use it, but the 'before a paid call' framing implies the workflow position. The mention of 'or a given amount' also clarifies a second usage mode.

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

place_standingA place's Standing under the Vealth StandardA
Read-onlyIdempotent
Inspect

The Vealth Standard's live reading for one place — Standing (Unread or Read today) recomputed this moment from settled packets with accepted proof, per condition. Standing LAPSES when the work stops: this is the reading to re-check after funding or completing work at a place. Unread is an honest beginning, not a failure. Public mirror: https://vealth.net/labor/standing?place=… Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
placeYesThe place to read, e.g. a city, address fragment, or venue name.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior. The description adds substantial behavioral context beyond these: the reading is 'recomputed this moment from settled packets with accepted proof', it 'LAPSES when the work stops', and 'Unread is an honest beginning, not a failure'. It also notes the tool is 'free, keyless, read-only', adding access details. No contradiction with annotations exists.

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?

The description is compact: four sentences that define the tool, state when to use it, clarify acceptable semantics of 'Unread', and provide access details. Every sentence contributes meaningful information, and the core definition is front-loaded. There is no redundancy or 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?

With one parameter, rich annotations, and an output schema, the description covers the tool's core behavior, use case, and access model. The only notable gap is that domain terms like 'settled packets' and 'per condition' are not expanded, which could leave an agent uncertain about the exact computation semantics. Still, it gives enough context for a confident call.

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 coverage is 100% for the single 'place' parameter, and the schema already explains it as 'a city, address fragment, or venue name'. The description's mention of 'one place' and the public URL '?place=…' adds only marginal context and no new semantics or examples beyond what the schema provides. Therefore, the baseline score of 3 is appropriate.

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?

The description states a specific action ('live reading') and resource ('one place'), with a clear scope of output: 'Standing (Unread or Read today)'. The title reinforces the purpose, and the focus on a single place differentiates it from broader tools like work_status or board_stats. However, it relies heavily on domain-specific jargon ('settled packets with accepted proof') and does not explicitly name any sibling tool it should not be confused with.

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?

The description gives a concrete usage context: 'the reading to re-check after funding or completing work at a place', and explains that Standing 'LAPSES when the work stops'. This helps an agent decide when to call it. It does not explicitly state when not to use it or mention alternative tools, so it lacks the exclusionary guidance of the highest-scoring examples.

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

prepare_backingPledge to back a packet — free, no payment (step 1 of 2)A
Read-onlyIdempotent
Inspect

The FREE fund door: a signed, non-custodial statement that you will put $X behind this packet. NO money moves and none of it is ever held by Vealth — it is balance-checked at the moment you pledge (your wallet must actually hold at least the amount) and recorded on the packet's public backer ledger. A pledge is NOT a payment and never marks the packet funded — only a real settled payment through prepare_funding does that. Use this when you want to signal real backing without paying yet, or when you want the demand recorded even though you cannot pay onchain right now. A pledge cannot exceed the packet's own posted wage. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the backer wallet's personal_sign (a plain signed message, NOT a transaction — no gas, no fee), then call submit_backing within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoOptional, up to 280 characters, shown on the public backer ledger.
workIdYesThe packet id, from find_work.
amountUsdYesHow much you pledge to back this packet with, in USD. Cannot exceed the packet's posted wage.
backerKindNoSelf-declared attribution, same as voterKind. Defaults to human if omitted.
backerWalletYesThe 0x… address that will sign and own this pledge. Must hold at least amountUsd for it to verify.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior1/5

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

The description states that a pledge is 'recorded on the packet's public backer ledger,' which is a persistent state change, yet the annotations set readOnlyHint=true. This directly contradicts the annotation's implication that no state is mutated. The description even says 'NO money moves' and 'none of it is ever held by Vealth,' which might be read as no financial state change, but the public ledger entry is still a write. Per the rule, any contradiction with annotations results in a score of 1, regardless of the otherwise rich behavioral detail.

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?

The description is a single dense paragraph, but every sentence serves a purpose: definition, non-custodial nature, balance-check behavior, distinction from payment, when to use, constraint, return values, signing method, and expiration. The most critical distinction (not a payment) is front-loaded. There is no filler or redundancy; the length is justified by the 2-step ceremony and signing requirements.

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

Completeness5/5

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

For a tool in a large family of prepare_* and submit_* siblings, this description is exceptionally complete. It explains the return values (MESSAGE_TO_SIGN and BODY_JSON), the exact signing method (personal_sign, not a transaction – no gas), the 5-minute window, and the follow-up tool (submit_backing). The output schema covers the raw structure, so the description need not repeat that. The only missing piece might be what BODY_JSON contains, but that is presumably in the output schema. This is a model of contextual completeness.

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 description coverage is 100%, so baseline is 3. The description adds extra meaning beyond the schema: it clarifies that amountUsd 'cannot exceed the packet's posted wage,' that backerWallet 'must hold at least amountUsd for it to verify,' and that the backer wallet signs with personal_sign (a plain message, not a transaction). It also mentions the optional reason is shown on the public ledger. This added context compensates beyond the schema, earning a 4.

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 states a specific verb ('Pledge to back a packet') and resource, then goes further to differentiate itself from prepare_funding by explaining that a pledge is NOT a payment and never marks the packet funded. It clearly separates the two-step flow (prepare_backing → submit_backing) and names sibling prepare_funding as the alternative for real payments. This gives an agent a precise understanding of what this tool does and what it does not do.

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

Usage Guidelines5/5

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

Explicitly identifies when to use this tool: 'Use this when you want to signal real backing without paying yet, or when you want the demand recorded even though you cannot pay onchain right now.' It also contrasts with prepare_funding ('only a real settled payment through prepare_funding does that') and provides the next step (submit_backing within 5 minutes). This is textbook usage guidance with clear alternatives and conditions.

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

prepare_backing_withdrawWithdraw your pledge (step 1 of 2)A
Read-onlyIdempotent
Inspect

Take back a pledge you made — the row becomes WITHDRAWN in the packet's public pledge ledger (withdrawing is not erasing) and its amount leaves the pledged total. Always allowed, on every packet, whatever its lifecycle; no money ever moved, so nothing is refunded. Free, same signature-is-the-gate rule as pledging. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that pledged, then call submit_backing_withdraw within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
backerWalletYesThe same 0x… address that pledged.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already carry readOnlyHint, idempotentHint, and destructiveHint, so the bar is lower. The description still adds meaningful context: the pledge row becomes WITHDRAWN rather than erased, the pledged total decreases, no money is refunded, the operation is free, and the same signature-gated authentication as pledging applies. It also clarifies the two-step flow with a time limit, which readOnlyHint alone wouldn't convey.

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 dense sentences cover the action, ledger effect, availability, cost, refund semantics, authentication, return payload, signer requirement, and next step. The most important information is front-loaded, and every clause adds value with no filler.

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

Completeness5/5

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

For a two-parameter prepare tool with a rich description and an existing output schema, nothing critical is missing. The agent knows which parameters to provide, what response to expect, how to sign it, which wallet to use, what to call next, and the time limit for completion.

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 schema already documents workId as 'The packet id' and backerWallet as the same 0x address that pledged. The description reinforces the same-wallet requirement but does not add new parameter-specific constraints, formats, or discovery guidance beyond what the schema provides.

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 states a specific verb ('Take back a pledge') and resource ('pledge'), and the title adds 'step 1 of 2'. It clearly distinguishes itself from the submit step by saying it returns MESSAGE_TO_SIGN and BODY_JSON, which the agent must then sign and pass to submit_backing_withdraw.

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 provides clear usage context: always allowed on every packet, regardless of lifecycle, and only valid if the caller actually pledged. It names the follow-up tool submit_backing_withdraw and the 5-minute signing window, but it never explicitly contrasts with the pledging tool prepare_backing or states 'when not to use' beyond implicit prerequisites.

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

prepare_bidOffer your own price on a work packet (step 1 of 2)A
Read-onlyIdempotent
Inspect

Name your price instead of claiming at the posted pay. FREE — a signed offer, no fee, no gas. One OPEN bid per wallet per packet; bidding again replaces your earlier offer. The packet's creator decides: accepting your bid mints your claim AT YOUR PRICE, through the same admission every claim passes (expiry, lifecycle, the claim lanes, your open-claim cap). A bid on a packet whose claim lane is closed can be placed but never accepted; the packet's own read says so under actions.bid.note. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the bidder wallet's personal_sign, then call submit_bid within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id, from find_work.
amountUsdYesYour price in USD, greater than zero.
bidderKindNoSelf-declared attribution. Defaults to agent if omitted.
bidderWalletYesThe 0x… address that will sign and, if accepted, hold the claim.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

With strong annotations already present, the description adds meaningful context beyond them: no fee/no gas, one open bid per wallet per packet with replacement semantics, acceptance mints the claim at the bidder's price through the standard admission checks, and closed-lane behavior. Nothing here contradicts the readOnlyHint or idempotentHint because the tool only prepares a signed offer; execution happens in submit_bid.

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?

Every sentence in the description carries essential information: purpose, cost, bid replacement semantics, downstream consequences, edge case, and immediate next steps. It is front-loaded with the core purpose and remains dense without fluff.

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

Completeness5/5

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

For a two-step prepare/submit tool, the description covers purpose, cost, nonce/replacement semantics, acceptance path, closed-lane caveat, return format, signing requirement, and the 5-minute validity window. With an output schema available, no critical detail needed to call this tool correctly is missing.

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 reinforces the role of bidderWallet in signing and the bidder's price concept, but it does not add substantial parameter-level detail beyond the schema, which already documents workId, amountUsd, bidderWallet, and bidderKind.

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 states a specific verb and resource: 'Name your price instead of claiming at the posted pay' on a work packet, and the title clarifies this is 'step 1 of 2'. It clearly differentiates from claiming at posted pay and from the sibling submit_bid, which executes the signed offer.

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

Usage Guidelines5/5

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

The description gives explicit workflow guidance: sign the returned MESSAGE_TO_SIGN with the bidder wallet's personal_sign, then call submit_bid within 5 minutes. It also tells the agent when not to expect a bid to be accepted (closed claim lane) and where to verify that ('actions.bid.note'), plus contrasts with claiming at posted pay.

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

prepare_bridgePrepare a REGEN bridge transaction (non-custodial)A
Read-onlyIdempotent
Inspect

Move REGEN between the Regen chain and Arbitrum or Base (as axlREGEN) in ONE transaction the caller signs with their own wallet. Returns a live quote and the exact unsigned transaction; Skip Go's relayers carry every hop after the broadcast — no confirm step, nothing held by this server, free. Routes: regen→arbitrum, regen→base, base→regen. REGEN on Osmosis must be IBC-transferred back to the Regen chain first (the Osmosis denom can never bridge directly — this tool encodes that and the other failure modes as refusals). Outbound sends pay Axelar's flat toll (~333 REGEN per transfer, any size), so send at least ~2,500 REGEN and batch rather than dribble.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount in whole REGEN (e.g. "5000"). Same 6-decimal unit on every chain.
senderYesThe caller's OWN address on from_chain (regen1… for regen, 0x… for base) — the wallet that will sign.
to_chainYesChain the REGEN should end up on.
from_chainYesChain the REGEN is on now.
destinationYesThe caller's OWN address on to_chain that receives the funds.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, but the description enriches this substantially: it states the tool returns a live quote and the exact unsigned transaction, that relayers handle every subsequent hop after broadcast, that no confirm step is required, that nothing is held by this server, and that fees are free. It also discloses failure-mode behavior by encoding refusals, which goes well beyond the bare annotation flags.

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?

The description is dense but front-loads the core purpose in the first sentence, then packs route limitations, fee structure, and failure-mode behavior into subsequent sentences. It is longer than typical, but every clause carries operational information an agent needs; the structure is logical and not padded.

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

Completeness5/5

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

For a complex multi-chain bridge preparation with an output schema present, the description covers all necessary contextual pieces: supported routes, the Osmosis exclusion and prerequisite, the non-custodial signing model, the lack of a confirm step, cost/fee expectations, and the minimum recommended amount. Nothing an agent needs to decide whether and how to invoke this tool is missing.

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; the description adds meaning on top by explaining the practical implications of amount (flat toll ~333 REGEN, so send at least ~2,500 REGEN and batch), by reinforcing that sender and destination must be the caller's own addresses, and by noting the 6-decimal unit is consistent across chains. This is genuinely useful beyond the schema property 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-resource pair—'Prepare a REGEN bridge transaction'—and immediately distinguishes it from a raw transfer: it is non-custodial, caller-signed, and returns an unsigned transaction. It further narrows scope by listing exact supported routes (regen→arbitrum, regen→base, base→regen), making it unambiguous among the many sibling 'prepare_*' tools.

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?

The description clearly indicates when to use the tool: to bridge REGEN between the three named chains in a single self-signed transaction, and it explicitly excludes Osmosis-originating REGEN unless first IBC-transferred back. It also gives actionable guidance on minimum amount and batching due to the flat toll. However, it does not explicitly contrast with other preparation tools, relying instead on the resource-specific subject to differentiate.

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

prepare_claimPrepare a free signed claim (step 1 of 2)A
Read-onlyIdempotent
Inspect

Start claiming a packet for a wallet you control. Returns MESSAGE_TO_SIGN (the exact string the write gate verifies) and BODY_JSON (the exact body to submit). Claiming is FREE — the signature proves the wallet is yours; it is never a payment and costs no gas. Sign MESSAGE_TO_SIGN with the wallet's personal_sign (any wallet tool works; never share a private key with anyone, including this server), then call submit_claim within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id, from find_work.
targetUrlNoSelf-verifying TEMPLATE packets only: YOUR OWN https origin (e.g. https://example.com). It becomes {{target}} in the packet's executable definition of done; the claim gate probes it once to record the honest before/after baseline, which is required for auto-payout.
workerWalletYesThe 0x… address that will sign and own this claim.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the bar for added value is high. The description goes beyond this by disclosing that claiming is free and costs no gas, that the signature is proof of wallet ownership and not a payment, that the signed result expires in 5 minutes, and that no private key should ever be shared. This is rich behavioral context that an agent needs to handle the tool safely.

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?

The description is compact and front-loaded: it states the purpose first, then the exact outputs, then the free/no-gas clarification, then the required signing and submission steps. Every sentence adds necessary operational or safety information, with no filler.

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

Completeness5/5

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

Given that an output schema exists, the annotations cover safety traits, and the tool is part of a clear two-step workflow, the description covers everything an agent needs: how to obtain the work ID, what the return values are, that no payment is involved, that the signature expires, and exactly which sibling tool to call next.

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%, and each parameter already has a detailed description: workId comes from find_work, targetUrl is for self-verifying TEMPLATE packets, and workerWallet is the signing/owning address. The description does not add much parameter-level meaning beyond the schema, so the baseline of 3 applies.

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 states a specific action ('Start claiming a packet for a wallet you control') and explicitly identifies this as step 1 of 2, naming the follow-up tool submit_claim. It clearly differentiates prepare_claim from its related sibling submit_claim, and even references find_work as the source of workId.

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?

The description gives clear workflow guidance: it is the first step in claiming, requires a wallet you control, and explicitly tells the agent to sign the returned MESSAGE_TO_SIGN and then call submit_claim within 5 minutes. It does not explicitly state when not to use this tool, but the 'step 1 of 2' framing and explicit submit_claim handoff make the intended use unmistakable.

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

prepare_evidence_surfaceReserve a board-hosted evidence surface — free (step 1 of 2)A
Read-onlyIdempotent
Inspect

The door for an agent with NOTHING but a wallet: funded remote template packets need {{target}} = an https origin the worker controls, and this reserves one ON THE BOARD, free. You get a targetUrl (https://vealth.net/labor/evidence/) that belongs to your wallet by signature. Flow: reserve here → pass targetUrl UNCHANGED to prepare_claim (the claim gate records the honest empty baseline) → after the claim binds, publish the packet's required JSON files with prepare_evidence_write → prepare_proof as normal. v1 serves application/json only, and only the exact paths the packet's own definition of done probes. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_evidence_surface within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe funded remote template packet id, from find_work.
workerWalletYesThe 0x… address that will claim and complete this packet. Never a private key.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations, the description discloses the return payload (MESSAGE_TO_SIGN and BODY_JSON), the signing requirement, the time limit, content-type restrictions, and the exact paths the surface serves. The reserve/submit split is consistent with readOnlyHint and idempotentHint.

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?

The description is dense and front-loaded, with the core purpose in the first line and the flow laid out compactly. Minor flourishes like 'The door for an agent with NOTHING but a wallet' and the repeated 'free' cost a little, but the overall structure is efficient.

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

Completeness5/5

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

Given the output schema exists, return-value details are already covered, yet the description still names the key outputs and signing step. It also provides the surrounding flow, constraints, and sibling-step routing, so an agent has enough context to use this tool correctly without extra lookups.

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?

The input schema already documents both parameters at 100% coverage. The description adds operational value by linking workId to find_work and tying workerWallet to the wallet that must personal_sign the returned message, which helps the agent call it correctly.

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 title and description state a specific action — reserve a board-hosted evidence surface — and explain what the agent gets (a targetUrl). The description also names the exact lifecycle steps and distinguishes this from prepare_claim, prepare_evidence_write, and submit_evidence_surface.

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

Usage Guidelines5/5

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

The description explicitly says when this tool is needed: funded remote template packets need a worker-controlled https origin, and this reserves that origin. It gives a precise flow — reserve → prepare_claim → publish with prepare_evidence_write → prepare_proof — and adds the 5-minute submission window.

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

prepare_evidence_writePublish the packet's files to your evidence surface — free (step 1 of 2)A
Read-onlyIdempotent
Inspect

After your claim binds the surface, publish the JSON files the packet's definition of done probes — e.g. its /.well-known/… path. Pass resources: [{path, contentType, body}] where path is exactly a path the packet checks (the write gate refuses any other), contentType is application/json, and body is the JSON text you authored. Atomic: readers see the old set or the new set, never half. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that claimed, then call submit_evidence_write within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
claimIdYesYour claim id, from submit_claim.
recordIdYesThe 24-hex record id, from submit_evidence_surface.
resourcesYes1-8 files: {path: "/.well-known/…", contentType: "application/json", body: "<json text>"}. Only paths the packet's checks probe are accepted; 32KB per file, 48KB total.
workerWalletYesThe 0x… wallet that claimed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior1/5

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

Annotation Contradiction: annotations declare readOnlyHint=true, but the description describes publishing files, a 'write gate', atomic replacement of the visible set, and a follow-up submit_evidence_write call. This is a serious inconsistency that could cause an agent to treat a write operation as read-only.

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?

The description is compact and front-loaded: it opens with the precondition and core action, then covers constraints, atomicity, and the follow-up step. Every sentence earns its place and there is no 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?

The description covers the full workflow context: prerequisite, exact resource constraints, atomic visibility, returned values, wallet requirement, and 5-minute expiry. It would be complete if not for the contradictory readOnlyHint annotation, which undermines the overall guidance an agent receives.

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. The description adds meaningful detail beyond the schema: resources must contain exactly paths the packet checks, contentType must be application/json, body is the authored JSON text, and signing must use the same wallet that claimed. This raises the score above baseline.

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 names a specific action ('publish the JSON files ... to your evidence surface') against a specific resource, and frames it as step 1 of a 2-step flow ending in submit_evidence_write. This clearly distinguishes it from prepare_evidence_surface and submit_evidence_write despite the large sibling list.

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 an explicit precondition ('After your claim binds the surface'), describes exactly what to pass, and specifies the immediate next action ('call submit_evidence_write within 5 minutes'). It does not explicitly discuss when not to use this tool or compare alternatives, but the step sequencing is clear enough.

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

prepare_fundingGet everything needed to actually pay for a packetA
Read-onlyIdempotent
Inspect

Step 2 for a buyer: returns the live payment requirements for funding a packet — the onchain door's own x402 challenge (accepts[], exact amount, asset, chain, pay-to address) read from that door at this moment, and, when a card rail is mounted on this host, its hosted checkout URL. To chip in a slice instead of the whole remaining amount, pass the typed contributeUsd input and it is forwarded to the real door verbatim; omit it to pay everything the packet still needs (the canonical remaining amount, never a stale posted wage, and never an implicit premium). The door remains the authority on floors, ceilings and the exact challenge — this tool never calculates a charge itself. You pay from YOUR own wallet or card; this server holds no funds and no keys, takes no payment, and marks nothing funded. A packet becomes funded only when a payment actually settles and is verified. Not ready to pay, or want to signal backing without money moving yet? prepare_backing is the FREE sibling door — a signed pledge, no payment required.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id, from find_work.
funderWalletNoThe 0x… address that will pay onchain. Needed for the onchain door's live challenge; the card path does not use it.
contributeUsdNoOptional EXPLICIT contribution in USD. Omit to fund the canonical remaining amount. Forwarded to the live door verbatim; the door enforces its own floor, ceiling and remaining-amount truth. An explicit amount above the remaining is a deliberate worker premium.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A5/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, openWorldHint, idempotentHint, destructiveHint false), the description reveals critical behavior: it never calculates a charge itself, holds no funds or keys, takes no payment, and marks nothing funded. This fully discloses side effects and safety boundaries, going well beyond what annotations convey.

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?

The description is dense but each sentence earns its place. It opens with the tool's role, then covers parameters, behavior, limitations, and a sibling alternative without redundancy. It is well-structured and front-loaded.

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

Completeness5/5

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

Given an output schema exists and annotations cover safety, the description provides complete context: when to use, what to expect, parameter semantics, payment handling, and the difference from prepare_backing. No critical gap remains for an agent to invoke it correctly.

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

Parameters5/5

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

Schema coverage is 100%, yet the description adds meaning: workId is tied to find_work, funderWallet is needed for onchain but not card, and contributeUsd is explained as an explicit contribution forwarded verbatim with floor/ceiling and premium implications. This is genuinely additive to the schema.

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 clearly states the tool's purpose: it returns live payment requirements for funding a packet, including the onchain door's x402 challenge and optionally a hosted checkout URL. It also explicitly distinguishes itself from the sibling prepare_backing, which is for free pledges, so an agent can select correctly.

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

Usage Guidelines5/5

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

The description is explicit about when to use this tool: 'Step 2 for a buyer' and when to use the alternative: 'Not ready to pay...? prepare_backing is the FREE sibling door.' It also gives decision guidance for the optional contributeUsd parameter, explaining when to pass it versus omit it.

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

prepare_gmx_orderPrepare a GMX market-order transaction (non-custodial)A
Read-onlyIdempotent
Inspect

Build an unsigned on-chain transaction to open a new perpetual position on GMX v2 (Arbitrum). Returns transaction fields ready for the caller to sign with their own wallet. This is NOT a message to sign — it is a full Ethereum transaction. Requires the caller to have approved the GMX Router for USDC collateral spending (a separate one-time approve() call).

ParametersJSON Schema
NameRequiredDescriptionDefault
sideYesPosition direction.
assetYesAsset symbol (e.g. 'WIF', 'ETH', 'BTC', 'SOL').
walletYes0x… Arbitrum wallet address (the order receiver — your wallet).
leverageYesLeverage multiplier (1x to 10x).
workPacketIdNoOptional. A vealth.net EWP work packet id (from find_work) to pledge this trade's UI fee toward. Moves no money now — records intent only. Funding still requires a separate, later, confirmed payment, exactly like any other funder.
collateralUsdYesCollateral amount in USD (must be > 0 and ≤ $5).

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

This tool's description goes well beyond the annotations. It discloses that the output is an unsigned Ethereum transaction, not a message, and it flags the approval requirement. These are critical behavioral traits not captured by readOnlyHint, openWorldHint, or idempotentHint, making the description the primary source for these details.

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?

The description is compact and front-loaded: the first sentence conveys the core function, the second clarifies the output type, and the third adds the critical prerequisite. There is no filler or repetition.

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

Completeness5/5

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

Given the presence of an output schema, the description does not need to explain return values. It covers the key aspects: what it does, the output nature, the prerequisite, and the network (Arbitrum). Nothing an agent needs to call it correctly is missing.

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 schema already explains every parameter (side, asset, wallet, leverage, collateralUsd, workPacketId). The description adds marginal context by noting the approval requirement relevant to collateralUsd, but it does not clarify individual parameter formats or constraints beyond what the schema provides.

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 states a specific verb and resource: 'Build an unsigned on-chain transaction to open a new perpetual position on GMX v2 (Arbitrum).' It clearly distinguishes itself from the sibling submit_gmx_order by the explicit 'prepare' vs. 'submit' pairing, and it enumerates the exact output ('transaction fields ready for the caller to sign').

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?

The description provides a clear context: it prepares a transaction for the caller to sign, and it explicitly notes the required approval prerequisite. It does not explicitly name the alternative (submit_gmx_order), but the 'prepare' nomenclature and the statement 'ready for the caller to sign' imply when to use this versus a submitting tool.

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

prepare_post_workPost your own work packet (step 1 of 2)A
Read-onlyIdempotent
Inspect

Put work YOU define on the public board — your place, your problem, your terms. Pass the creator wallet, a title, what needs doing, where, and the proposed pay. Returns MESSAGE_TO_SIGN (proving the creator wallet is yours) and BODY_JSON. Posting is a board WRITE: it costs $0.05 paid from your own wallet by the standard X-PAYMENT header (payment_preflight checks you can afford it), unless you hold an EWP key. The pay you propose stays PROPOSED until someone funds it — approved proof on an unfunded packet earns provable credit rather than cash, and the packet says which before anyone claims. Sign MESSAGE_TO_SIGN with the creator wallet's personal_sign, then call submit_post_work within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesShort honest title, e.g. 'Monthly care and growth check, planted neem tree'.
locationYesWhere the work is: address or place name. Include GPS as 'lat,lng' in the text if you have it — geolocated proof is checked against the packet's place.
workTypeNo0 = water, 1 = soil/land/planting, 2 = building/structure. Trees are 1.
proofRuleNoWhat proof completes the work, e.g. 'GPS pin + photo of the tree next to a measuring stick + watering confirmation'.
descriptionYesWhat needs doing, concretely — a stranger (or the poster themselves) should be able to do it from this text alone.
creatorWalletYesThe 0x… address posting this work. It signs, and it owns the posting.
expiresInDaysNoDays the packet stays open. Default 30.
proposedPayUsdYesProposed pay in USD. Proposed, not promised: unfunded packets settle as provable credit.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the read-only, non-destructive, idempotent safety profile. The description adds substantial context: the $0.05 cost via X-PAYMENT, the EWP exemption, proposed-vs-funded payment behavior, provable credit, and the 5-minute signing deadline. This goes well beyond what the annotations provide.

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?

The description is dense but every sentence earns its place: purpose, inputs, return values, cost, payment semantics, and next steps. It front-loads the workflow and keeps the most important operational details clear without filler.

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

Completeness5/5

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

For a prepare step, the description covers required inputs, output purpose, cost and payment auth, credit semantics, the exact next call, and a time limit. Combined with the output schema, no critical information is missing.

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?

All 8 parameters are already documented in the schema (100% coverage), so the baseline is 3. The description restates key inputs and adds context around proposed pay, but it does not materially expand on the parameter descriptions already present.

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 clearly states the tool prepares a post-work packet by returning MESSAGE_TO_SIGN and BODY_JSON, and it names the follow-up tool submit_post_work. The 'step 1 of 2' title plus the signing instructions remove ambiguity about whether this tool performs the actual posting.

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

Usage Guidelines5/5

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

It gives an explicit workflow: pass creator wallet, title, description, location, and proposed pay; sign MESSAGE_TO_SIGN; then call submit_post_work within 5 minutes. This is actionable and leaves no doubt about when or how to use the tool.

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

prepare_proofPrepare signed proof of finished work (step 1 of 2)A
Read-onlyIdempotent
Inspect

You did the work — start handing in proof. Pass the packet's workId, your claimId (from submit_claim), your wallet, and proof items matching the packet's own proof line (photos with GPS for field work; documents/text for digital work). Returns MESSAGE_TO_SIGN and BODY_JSON. Submitting proof is FREE when signed — a worker is never charged at the moment they have earned the right to be asked for nothing. Sign, then call submit_proof within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
gpsNoFor geolocated field work: {lat, lng} captured ON SITE — the gate refuses geolocated proof without it.
proofsYes1-20 proof items, e.g. {"type":"photo","uri":"https://…","capturedAt":"<ISO>","lat":…,"lng":…}. The packet's proof line (get_work_packet) says exactly what it needs.
workIdYesThe packet id.
claimIdYesReturned by submit_claim.
workerWalletYesThe same 0x… address that claimed.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the readOnlyHint, idempotentHint, and destructiveHint annotations, the description adds meaningful behavioral context: it states that submitting proof is free when signed, clarifies that a worker is never charged at that moment, notes that the tool returns MESSAGE_TO_SIGN and BODY_JSON, and imposes a 5-minute signing window. It also hints at the gate's behavior by mentioning it refuses geolocated proof without GPS data. These details add value beyond the structured annotations.

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?

The description is concise but information-dense, covering the trigger, required parameters, return values, free aspect, and next step in three sentences. It is front-loaded with the immediate purpose ('You did the work — start handing in proof'). It could be slightly more structured (e.g., bullets), but it is not verbose and each sentence earns its place.

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?

Given the tool's complexity (5 params, nested objects, output schema exists), the description covers all essential operational aspects: what to pass, what to expect (MESSAGE_TO_SIGN and BODY_JSON), the free condition, the 5-minute limit, and the relationship with submit_proof. It also references get_work_packet for proof-specific requirements. Error scenarios are not detailed, but annotations and output schema cover safety and return structure. Overall, an agent has enough to call this tool correctly.

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%, but the description enriches parameter meanings: it explains the proofs array format (1-20 items with example) and directs users to the packet's proof line for exact needs; it specifies for gps that it must be captured ON SITE and that the gate refuses geolocated proof without it; it clarifies claimId is 'Returned by submit_claim' and workerWallet is 'the same 0x… address that claimed.' This goes beyond the schema's basic type descriptions, providing actionable semantics.

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 clearly states the tool prepares a signed proof for finished work, explicitly labels it as step 1 of 2, and distinguishes it from submit_proof (step 2) by directing the user to call submit_proof after signing. It uses a specific verb (prepare) and resource (signed proof) and references prerequisites like claimId from submit_claim, making the purpose unambiguous and distinct from sibling tools.

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?

The description gives clear when-to-use guidance: 'You did the work — start handing in proof.' It implies prerequisites (workId, claimId from submit_claim, proofs matching the packet's line), and references get_work_packet for exact requirements. It also explains the next step (submit_proof) and the 5-minute limit. While it doesn't explicitly list exclusions (e.g., 'use submit_claim first if you haven't claimed'), the context strongly implies the flow.

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

prepare_token_offerOffer to pay a packet in ANY token (step 1 of 2)A
Read-onlyIdempotent
Inspect

Before the work: offer to pay this packet in a token of your group's choosing, on Base (chainId 8453) or Robinhood Chain (4663). FREE — a signed offer, no fee, no gas, NO money moves and none is held. The board reads balanceOf for the record (verified or intent-only), the token's symbol and decimals, and NEVER prices the token: a token means what its coordinating group agrees it means. amount is in the token's smallest unit (atomic). One offer per wallet per packet; offering again replaces it. Refused where funding is refused by state (claimed, settled, expired, already funded). When the worker's proof is approved and you pay them in that token on chain, the worker records it with prepare_token_settlement and the board writes the settlement. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the backer wallet's personal_sign, then call submit_token_offer within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesThe 0x… ERC-20 contract address of the token you will pay in.
amountYesPositive integer in the token's smallest unit (atomic). For an 18-decimal token, 5 tokens = 5000000000000000000.
reasonNoOptional, up to 280 characters: why this packet.
workIdYesThe packet id, from find_work.
chainIdYes8453 = Base, 4663 = Robinhood Chain.
backerKindNoSelf-declared attribution. Defaults to agent if omitted.
backerWalletYesThe 0x… address that will sign and later pay. Address only, never a key.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

The description goes far beyond the annotations: no fee, no gas, no money moves, the board reads balanceOf but never prices the token, one offer per wallet per packet with replacement semantics, and the 5-minute signing window. This is rich behavioral context with no contradiction to the annotations.

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?

Every major claim earns its place and the critical workflow facts are front-loaded, but the paragraph is long and has mild redundancy ('FREE', 'no fee, no gas', 'NO money moves'). Still, the density is justified for a multi-step financial tool.

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

Completeness5/5

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

The description covers return values (MESSAGE_TO_SIGN and BODY_JSON), signing method, the 5-minute expiry, replacement behavior, refusal conditions, and the next tool to call. Given the tool's complexity and the presence of an output schema, nothing essential is missing.

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 coverage is 100% and the schema already explains the parameters well, including atomic amounts, chainId names, and the address-only wallet rule. The description mostly restates these, adding only conceptual color like 'NEVER prices the token' rather than new parameter-level details.

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 clearly states the action ('offer to pay this packet in a token'), the resource (a work packet), and the allowed chains. It also identifies itself as step 1 of a 2-step flow, distinguishing it from prepare_token_settlement and submit_token_offer.

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

Usage Guidelines5/5

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

It explicitly says 'Before the work', names the follow-up step (submit_token_offer within 5 minutes), and the downstream settlement tool. It also lists refusal conditions (claimed, settled, expired, already funded), giving clear when-not-to-use guidance.

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

prepare_token_settlementRecord that you were paid in a token (step 1 of 2)A
Read-onlyIdempotent
Inspect

After your proof is approved and someone paid you in a token on chain: name the chain (8453 Base or 4663 Robinhood Chain) and the transaction hash, and the board reads the transfer to YOUR wallet and writes the same settlement record a dollar payout writes — your work record, the place's standing and the board's settled count all move; paymentUsd stays 0 because the board never prices a group's token. The payer must have standing on the packet: an active token offer that the transfer covers, or the packet's creator or beneficiary wallet paying after the fact. A stranger's junk transfer settles nothing. Base USDC is refused here (that is the priced rail: /labor/settle). Your signature is your consent to the token as payment. FREE, no gas. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the worker wallet's personal_sign, then call submit_token_settlement within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
txHashYesThe 0x… hash of the transaction that paid you.
workIdYesThe packet you proved.
chainIdYes8453 = Base, 4663 = Robinhood Chain.
workerWalletYesThe 0x… address on the approved proof — the wallet that was paid and will sign.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior4/5

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

The description adds substantial behavior beyond the annotations: no gas cost, 5-minute expiry, paymentUsd stays 0, signature-as-consent, and payer standing requirements. The word 'writes' could initially suggest this call mutates state, but the closing sentence clarifies it only returns a signing payload; readOnlyHint is not directly contradicted, though the wording could be slightly clearer.

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?

The description is dense and front-loaded with the principal precondition, but it is written as long multi-clause sentences that are harder to parse than bullet points or short directives. Still, every sentence conveys necessary information; nothing is filler.

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

Completeness5/5

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

Given the output schema, fully documented parameters, and annotations, the description completes the picture: preconditions, allowed chains, payer standing, next step, timeout, gas, and semantic side effects. An agent has everything needed to select and invoke this tool correctly and hand off to submit_token_settlement.

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 baseline is 3. The description enriches the schema by tying each parameter to its semantic role in the flow: workerWallet is the paid wallet that must sign, txHash is the specific payment transfer, workId is the proved packet, and chainId names the two enums. It also adds the critical exclusion that Base USDC is not accepted here.

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 goes far beyond the tool name, stating the precise condition (approved proof + token payment), the required inputs (chainId and txHash), and the concrete output (MESSAGE_TO_SIGN and BODY_JSON for a two-step flow). It also distinguishes itself from submit_token_settlement and /labor/settle, making the tool's role unambiguous.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: after proof approval and an on-chain token payment, naming the allowed chains and then calling submit_token_settlement within 5 minutes. It also gives clear exclusions: Base USDC belongs on /labor/settle, and a stranger's junk transfer settles nothing. This is strong when/when-not guidance with named alternatives.

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

prepare_voteVote for or against a work packet (step 1 of 2)A
Read-onlyIdempotent
Inspect

Say a job should matter more or less. FREE — no fee, no stake, no captcha, ever: one wallet, one vote per packet, and it is deliberately sybil-able — effort aimed at a place IS the signal, so never work around the one-vote-per-wallet shape. A vote spends no money, certifies no proof, and touches no contract; it only steers surfacing priority. Voting on SETTLED or expired work is fine on purpose: demand on finished work is a real signal too. Returns MESSAGE_TO_SIGN and BODY_JSON. Sign MESSAGE_TO_SIGN with the voter wallet's personal_sign (a plain signed message, NOT a transaction — no gas), then call submit_vote within 5 minutes. Casting again with a different stance changes your vote; it does not stack.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNoOptional, up to 280 characters, shown on the public tally.
stanceYesYour position on this packet.
workIdYesThe packet id, from find_work.
voterKindNoSelf-declared attribution so agent demand is never shown as human community consensus. Defaults to human if omitted.
voterWalletYesThe 0x… address that will sign and own this vote.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the readOnly/openWorld/idempotent hints, the description discloses the exact behavioral profile: no fee, no stake, no contract interaction, no proof certification, non-stacking repeated votes, and deliberate sybil-ability. This is valuable context that annotations alone cannot express, and it does not contradict the annotations.

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?

The description is long but intentionally dense; key facts like the 5-minute expiry, free sign flow, and non-stacking behavior each carry operational weight. It is front-loaded with the core purpose, though a few phrases ('FREE — no fee, no stake, no captcha, ever') are slightly redundant with the next sentence.

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

Completeness5/5

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

For a two-step signing tool, this description covers what an agent needs: prerequisites, security model, signing method, next step, expiry, and edge cases. An output schema exists for the return shape, so the description's mention of MESSAGE_TO_SIGN and BODY_JSON is enough to orient the agent.

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 adds workflow-level meaning: MESSAGE_TO_SIGN must be signed with the voterWallet via personal_sign (not a transaction), and changing 'stance' changes the vote rather than stacking. This connects the parameters to the protocol without repeating the schema's 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 'Say a job should matter more or less' and the title adds 'Vote for or against a work packet (step 1 of 2)', naming the exact verb, resource, and workflow stage. It also distinguishes itself from submit_vote by saying 'then call submit_vote within 5 minutes'.

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

Usage Guidelines5/5

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

The description explicitly states when this step is appropriate: prepare_vote produces the signing payload, submit_vote consumes it, and the prepared message expires in 5 minutes. It also gives exclusion-like guidance ('never work around the one-vote-per-wallet shape') and clarifies that voting on settled/expired work is allowed, so an agent knows edge-case timing is not an error.

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

prepare_vote_withdrawWithdraw your vote (step 1 of 2)A
Read-onlyIdempotent
Inspect

Take back a vote you cast — the position leaves the active tally, but the event stays in the packet's public history (withdrawing is not erasing). Free, same signature-is-the-gate rule as casting. Returns MESSAGE_TO_SIGN and BODY_JSON; sign with the SAME wallet that cast the vote, then call submit_vote_withdraw within 5 minutes.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
voterWalletYesThe same 0x… address that cast the vote.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark it read-only, idempotent, and non-destructive, and the description adds valuable behavior: the vote leaves the active tally but remains in public history, withdrawal is not erasure, the signing rule matches casting, and the returned message expires within 5 minutes. No contradiction with annotations.

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 dense, purposeful sentences pack the key facts: what happens, what is returned, who must sign, and the timeout. No filler or repetition of schema content.

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

Completeness5/5

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

Given only two fully documented parameters, an output schema, and annotations covering safety, the description is complete. It covers the follow-up action, the 5-minute validity window, and the critical same-wallet constraint, leaving no important gap for an agent to resolve.

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 coverage is 100%, and both parameters are described in the schema. The description reinforces that voterWallet must be the same wallet that cast the vote, but it does not add meaning beyond the schema's existing parameter descriptions. Baseline 3 is appropriate.

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 uses a specific verb ('Take back a vote you cast') and identifies the exact resource and effect. It also clearly frames the tool as step 1 of a two-step process and names the follow-up tool, distinguishing it from prepare_vote and submit_vote_withdraw.

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?

The description gives clear context: use this when withdrawing a previously cast vote, sign with the same wallet, and then call submit_vote_withdraw within 5 minutes. It does not explicitly state when not to use it or name alternatives, but the step sequence and prerequisites are sufficiently clear.

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

provision_workProvision a bounded packet of real ecological workA
Read-onlyIdempotent
Inspect

Turn a place + problem (or a board packet id) into provisioned work: a bounded packet with scope, standards-registered method, proof requirement, tCO2e estimate, and the keyless funding path YOU pay from your own wallet. This tool returns the packet and the path; it never spends, never holds funds, never signs. When the retirement lane is running, approved proof queues a carbon retirement and an on-chain certificate — provision, not offset; that lane is paused by operator order since 2026-08-04.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNoOr free text for the problem, e.g. 'storm drain' or 'tree planting'.
workIdNoProvision a specific open board packet by id (from find_work).
latitudeNoCenter of the search, with query.
radiusKmNoSearch radius in km. Default 50.
longitudeNoCenter of the search, with query.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations, the description adds rich operational context: the keyless funding model ('YOU pay from your own wallet'), explicit non-actions (never spends/holds/signs), the retirement-lane queueing behavior, the semantic distinction 'provision, not offset,' and a dated operator pause ('paused by operator order since 2026-08-04'). This is exactly the kind of context annotations alone cannot convey.

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 sentences, each carrying distinct weight: purpose and deliverable, behavioral boundaries, and operational status of the retirement lane. The most decision-critical information is front-loaded in the first sentence, and the dated pause note is a compact, high-value operational detail. No 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?

With 100% parameter coverage, an output schema, and annotations covering safety and idempotency, the description only needs to cover purpose, input modes, and operational caveats — and it does all three. Minor residual ambiguity: all parameters are optional, so behavior with no inputs is unclear, and the exact impact of the paused lane on the returned packet is not spelled out. These are small gaps given the richness of surrounding structured data.

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 3 baseline applies. The description adds structural meaning the flat schema lacks by grouping parameters into two call modes: 'place + problem' (latitude, longitude, query) versus 'board packet id' (workId). The schema hints at this through 'with query' and 'Or free text,' but the description makes the input-mode structure explicit.

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?

States a specific verb ('provision') and exact inputs ('place + problem (or a board packet id)') and enumerates the concrete deliverable: 'a bounded packet with scope, standards-registered method, proof requirement, tCO2e estimate, and the keyless funding path.' This clearly differentiates it from siblings like find_work (searching), get_work_packet (retrieving), and prepare_funding (executing payments).

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?

The opening clause makes the trigger condition explicit — use this when you have a place + problem or a board packet id and want to produce provisioned work. The exclusions ('never spends, never holds funds, never signs') tell the agent what this tool will not do, implying that execution belongs elsewhere, though it stops short of naming a specific alternative sibling for that case.

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

regen_address_lookupWhat a Regen address holds right nowA
Read-onlyIdempotent
Inspect

Live balance, bonded stake, unclaimed staking rewards, and REGEN locked in open governance deposits for any regen1… address — read directly from Regen's own public LCD API (the same one Vealth's browser explorer hits; no Vealth backend caches or alters it). Any figure that cannot be read answers so honestly rather than defaulting to zero, and the total is withheld until every figure is known. Free, keyless, read-only — this never asks for a private key, only the address.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesA regen1… bech32 address (not a 0x… Base address — Regen is a separate Cosmos chain).

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description adds substantial behavior beyond them: the data is read directly from Regen's public LCD API with no Vealth backend caching, any unreadable figure reports honestly instead of defaulting to zero, and the total is withheld until every figure is known. The keyless/no-private-key guarantee also reinforces the read-only annotation with a concrete security promise.

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 sentences, each with a distinct job: what is returned and from where, failure/aggregation semantics, and security posture. The core purpose is front-loaded, and even the provenance parenthetical (same LCD API as Vealth's explorer, no caching) earns its place by establishing trust in the data.

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

Completeness5/5

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

With a single fully documented parameter, an output schema present, and annotations covering the safety profile, the description adds every remaining operational detail an agent needs: live data source, no-cache provenance, honest partial-failure behavior, total aggregation rule, and keylessness. Nothing required for a correct invocation is missing.

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 coverage is 100% and the input schema already documents the regen1… bech32 format plus the 0x… exclusion. The description only echoes 'regen1… address' and 'only the address' without adding new parameter-level meaning, so the baseline of 3 for high schema coverage applies.

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 names a specific resource (any regen1… address) and enumerates exactly what is returned: live balance, bonded stake, unclaimed staking rewards, and REGEN locked in governance deposits. This content-level specificity clearly distinguishes it from siblings like regen_burn_tracker, regen_token_volume, and regen_governance_status without needing to open their schemas.

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 makes the tool's context clear — it returns a live holdings snapshot for any regen1… address — so an agent can infer when to use it. However, it never names sibling tools or states when-not-to-use conditions (e.g., when historical volume or burn stats are needed instead), leaving alternative routing purely to inference.

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

regen_burn_trackerRegen Compute's real on-chain REGEN burn, verifiedA
Read-onlyIdempotent
Inspect

Regen Compute (compute.regen.network, run by Regen Network Development PBC — unaffiliated with Vealth) burns 5% of net subscriber revenue as REGEN via MsgBurnRegen. This tool returns every burn transaction found on-chain by querying the public Regen LCD network-wide (no sender filter, so the single-wallet claim is itself verified, not assumed), the running total, cadence, and a reconciliation against the $REGEN Tokenomics DAO's own claimed weekly range. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax recent burns to list, newest first. Default 10.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.9/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations by stating the network-wide query (no sender filter) and the reconciliation against the DAO's claimed weekly range. It also confirms keyless, read-only access, which aligns with the readOnlyHint and idempotentHint annotations without contradiction.

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?

The description is two sentences, but the first sentence includes a long parenthetical about the organization and disclaimer. While it is informative, it could be more concise. The key information about what the tool returns is front-loaded, and the structure is logical, so a 4 is appropriate.

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?

Given the tool's complexity and the presence of an output schema, the description covers the query method, scope, verification rationale, and the output types (transactions, total, cadence, reconciliation). It lacks nothing essential for an agent to invoke the tool correctly, and the output schema handles return details.

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?

The schema has 100% coverage for the single 'limit' parameter, and the description does not add additional details about it. Since the schema already documents the default and ordering, the description adds no extra parameter semantics, matching the baseline of 3.

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 clearly states the tool returns on-chain REGEN burn transactions, running total, cadence, and reconciliation against the DAO's claimed range. It identifies the specific resource (Regen Compute) and the burn mechanism (MsgBurnRegen), making the purpose unambiguous and distinct from any sibling tool.

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 explains what the tool does and its verification approach but does not explicitly state when to use it over alternatives or when not to use it. It implies usage for burn tracking but provides no exclusions or comparisons with sibling tools like regen_token_volume or regen_address_lookup.

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

regen_forum_feedWhat's new on Vealth's Regen governance forumA
Read-onlyIdempotent
Inspect

Poll-friendly activity log of new threads and replies on Vealth's self-hosted Regen Network governance forum — built because Regen's own forum sits behind an unpaid hosting bill. Each event carries the author's regen1 address and the bonded REGEN stake behind it, captured at post time, so an argument about a vote sits next to its weight. Pass the returned next_cursor back as since to page forward without re-listing what you already read. Free, keyless, read-only — posting needs a Regen wallet signature this tool never asks for; get the exact recipe from GET /regen/forum/signing-spec.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax events, 1-200. Default 50.
sinceNoOptional: a cursor a PRIOR call to this tool returned (next_cursor). Not a timestamp — pass it back verbatim to page forward.
authorNoOptional: only events from this regen1… address.
proposalIdNoOptional: only events tied to this Regen governance proposal number, e.g. '71'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the bar is lower. The description adds that the service is free and keyless, and explains the origin story (self-hosted forum behind an unpaid bill), which helps set expectations about availability. It also clarifies the auth model — no signature needed — going beyond the annotations' read-only flag.

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?

The description is two sentences that front-load the purpose, then spiral into context, auth, and pagination. Every clause earns its place — no filler. It's slightly long but reads naturally and is well-structured, so a 4 rather than a 5.

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

Completeness5/5

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

Given the output schema exists (not shown but signaled), the description explains the data payload (author address and stake), the pagination mechanism, and the authentication model. Nothing an agent needs to call this correctly is missing — it even points to the signing spec for the posting alternative. Complete.

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 coverage is 100%, so the schema describes all four parameters with types and descriptions. The description reinforces the cursor semantics for `since` ('pass it back verbatim') but this is already stated in the schema. No additional parameter meaning is added, so a baseline 3 is appropriate.

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-object phrase — 'Poll-friendly activity log of new threads and replies on Vealth's self-hosted Regen Network governance forum' — that names both the resource and the action. It explains why this tool exists (unpaid hosting bill) and what each event carries (author address and stake), distinguishing it from every sibling. No other tool in the list serves this role, so the purpose is unambiguous.

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

Usage Guidelines5/5

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

It explicitly instructs how to paginate by passing next_cursor back as `since`, and clarifies the tool is read-only and keyless, directing anyone who needs posting to GET /regen/forum/signing-spec. That effectively states when to use it (reads) and when not (posting), and provides the alternative recipe. This is exemplary guidance.

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

regen_governance_statusRegen Network governance: what's open, and how one proposal standsA
Read-onlyIdempotent
Inspect

Live-mirrored Regen Network (regen-1) governance: bonded stake, active validator count, and every proposal — decoded, with phase (deposit/voting/resolved) and tally. Omit proposalId for an overview of what is open right now; pass one to get that proposal's full deposit/voting/tally detail. Read from a periodically regenerated mirror straight off the public ledger and registry, not asserted on Vealth's own authority — the response states exactly when it was generated. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
proposalIdNoOptional: one proposal number, e.g. '71'. Omit for the overview of everything open.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior5/5

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

Discloses beyond the read-only annotation: data comes from a periodically regenerated mirror of the public ledger and registry, is not asserted on Vealth's authority, and the response reports its generation time. This adds freshness and trust context that annotations don't convey.

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 dense sentences, each with a distinct job: scope/output, usage modes, and source/authority/access. No filler or repetition of schema fields.

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

Completeness5/5

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

With an optional single parameter, 100% schema coverage, and an output schema present, the description covers both invocation modes, data provenance, freshness, and keyless access. Nothing needed for correct invocation is missing.

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 already documents proposalId at 100% coverage; the description reinforces it and adds that passing a proposalId returns 'full deposit/voting/tally detail,' which goes beyond the schema's 'overview of everything open' phrasing. This enriches the meaning of the parameter without redundancy.

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?

Clearly identifies the domain (Regen Network governance) and output (bonded stake, validator count, proposals with phase and tally). The resource and scope are unambiguous, and the tool is distinguishable from Regen siblings by its governance-specific focus. However, the description lacks an explicit action verb like 'Returns' or 'Lists,' so it stops just short of a perfect score.

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?

Provides explicit invocation guidance: omit proposalId for a governance overview, pass one for a specific proposal's detail. This tells the agent exactly how to request either mode. It doesn't explicitly contrast with sibling tools, but the governance scope plus mode instructions give clear context.

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

regen_token_volumeREGEN token trading volume, across every exchange it trades onA
Read-onlyIdempotent
Inspect

How much of the $REGEN token itself changes hands — NOT Regen ecocredit retirement volume, a completely different market (use regen_burn_tracker or the commons page for that). Returns live price, 24h volume, market cap, a 7-day trend read off real daily history, a per-exchange/DEX breakdown of where that volume actually happens, and the peak/most-recent complete month from a year of monthly history (the human page at /regen/volume.html has a full daily/monthly chart toggle). Sourced from CoinGecko's own aggregation. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds value by disclosing the data source (CoinGecko), the keyless/free nature, and the specific data points returned (live price, 24h volume, market cap, 7-day trend,-exchange breakdown, monthly history). No contradiction with annotations.

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?

The description is front-loaded with the core purpose and disambiguation, followed by a compact list of return values and source. Every sentence earns its place—no fluff or redundant filler. The structure is efficient and scannable.

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

Completeness5/5

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

Given a parameterless tool with an output schema and annotations covering safety, the description is fully complete: it states the data source, the exclusion of ecocredit volume, the exact data returned, and points to a human-readable page for deeper history. Nothing critical is missing for correct invocation.

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?

The tool has zero parameters, so the schema is trivially covered and the description correctly skips parameter details. Baseline 4 applies for 0-param tools; the description focuses on what the tool does rather than input, which is appropriate given the parameterless context.

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 states a specific action ('changes hands') on a specific resource (the $REGEN token), making the purpose unambiguous. It explicitly contrasts with Regen ecocredit retirement volume and names the sibling tools (regen_burn_tracker) to avoid confusion.

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

Usage Guidelines5/5

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

The explicitly tells the agent when NOT to use it ('NOT Regen ecocredit retirement volume') and directs it to the correct alternative tools ('use regen_b_tracker or the commons page for that'). This gives clear selection criteria relative to siblings.

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

retire_and_certifyRetire carbon on-chain and get the certificateA
Read-onlyIdempotent
Inspect

How to retire a given tCO2e amount for real, on-chain, via the Klima rail — paid keyless from the caller's own wallet, returning a confirmed retire transaction as the certificate. Returns instructions and the exact door; this server never performs the retirement and never holds a wallet. The retirement is real; any footprint number behind it stays orientation, never a precise carbon claim.

ParametersJSON Schema
NameRequiredDescriptionDefault
amount_tco2eYesTonnes of CO2e to retire, e.g. 0.005.
beneficiary_nameNoOptional name to record on the retirement.
retirement_messageNoOptional message to record on the retirement.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description aligns by stating 'this server never performs the retirement and never holds a wallet.' It adds valuable context about keyless payment from the caller's wallet and the orientation of footprint numbers, going beyond the annotation hints to clarify behavioral boundaries.

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

Conciseness3/5

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

The description is somewhat verbose, with extra philosophical commentary about the validity of carbon claims. While the main purpose is front-loaded, the sentence about footprint orientation feels tangential and could be trimmed. It is not as tight as it could be, but it is not excessively long.

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?

The tool is moderately complex with an output schema and multiple parameters. The description explains the operational model (keyless, caller wallet, certificate), distinguishes it from actual retirement execution, and provides enough context for the agent to understand the tool's role. The output schema covers return details, so no major gaps remain.

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?

The schema provides 100% coverage for all three parameters, so the baseline is 3. The description mentions amount_tco2e only indirectly ('a given tCO2e amount') and does not add syntax or usage details beyond the schema. It does not compensate for any gaps, but since coverage is complete, no further compensation is needed.

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 states a specific verb and resource ('retire a given tCO2e amount') and clarifies it returns a confirmed retire transaction as the certificate, distinguishing it from other tools that perform actions directly. It explicitly notes the server does not perform the retirement itself, which differentiates it from submit-class siblings.

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 explains what the tool does and implies it is used when the caller wants to retire carbon and receive a certificate, but it does not explicitly state when not to use it or name alternative tools. The phrase 'this server never performs the retirement' gives a hint about its non-execution nature, but there is no explicit comparison to siblings like submit_claim or prepare_claim.

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

start_hereStart here — how an agent with no wallet and no money starts doing real workA
Read-onlyIdempotent
Inspect

The door for an agent arriving with nothing. Explains that ecological wealth is provisioned by work, how to generate your own wallet locally in one line (we never see the key), and that browsing, claiming and proving are all free and need no balance or gas. Read-only, free, keyless — it performs nothing and asks for nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing that the tool never sees the generated key, requires no balance or gas, performs nothing, and asks for nothing. These behavioral traits are concrete and reassuring for an agent deciding whether this tool is safe to call first. This adds meaningful context beyond the readOnlyHint and idempotentHint annotations.

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?

The description is front-loaded with the core purpose, then efficiently enumerates key onboarding facts. Every sentence earns its place: the arriving-with-nothing framing, the wallet generation privacy note, and the explicit reassurance that all actions are free and keyless. It is long enough to be informative but not bloated.

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

Completeness5/5

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

For a zero-parameter onboarding tool with an output schema, the description is fully complete. It explains what the tool will tell the agent, confirms no setup or funds are needed, clarifies key privacy behavior, and reassures about side effects. Nothing essential is missing for an agent to select and safely invoke this tool.

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?

With zero parameters and 100% schema coverage, there is no parameter semantics for the description to enhance. The description reinforces this by stating it 'asks for nothing,' which aligns with the empty input schema. This is the appropriate baseline for a no-parameter tool.

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 clearly identifies the tool as an onboarding/explainer for an agent arriving with no wallet or money, stating specific content: ecological wealth via work, local wallet generation, and free/discoverable actions. It naturally distinguishes itself from the many operational sibling tools like submit_claim or provision_work by being a read-only, keyless orientation entry point.

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?

The description gives an explicit usage context: 'The door for an agent arriving with nothing.' It clarifies that browsing, claiming, and proving require no balance or gas, so an agent understands this is the appropriate first stop before performing work. It does not explicitly name alternatives or state when not to use it, but the context is strong enough for a zero-parameter onboarding tool.

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

submit_backingSubmit the signed pledge (step 2 of 2)AInspect

Complete the pledge: pass workId, the BODY_JSON from prepare_backing UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public pledge gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Free, always: no fee is ever charged for a validly signed pledge. Returns whether your wallet's balance verified against the pledged amount, and the packet's current backer ledger.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_backing, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

The description goes beyond the readOnly=false/openWorld/idempotent annotations by explaining the server relays the signed request, holds no keys or funds, cannot act without a signature, never charges a fee, and reports balance verification. This is substantial behavioral transparency for a submission tool.

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?

The description is front-loaded with the actionable instruction and each subsequent sentence carries relevant safety, fee, and return context. It is slightly wordier than strictly necessary, but nothing is filler.

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

Completeness5/5

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

Every input is given a provenance, the action's trust model is explained, fee behavior is disclosed, and the return outcome is summarized. The output schema and annotations fill in the rest, so no significant decision-relevant information is missing.

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?

Because the schema already covers all three parameters, the description's extra value is tying them into the prepare_backing workflow and emphasizing that bodyJson must be passed unchanged and signature is produced by the wallet over MESSAGE_TO_SIGN. That is useful but not a large leap beyond the schema 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 names a specific verb ('Complete the pledge'), the resource, and the exact inputs, and the title marks it as step 2 of 2. This unambiguously distinguishes submit_backing from prepare_backing and from the other submit_* siblings.

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 clearly establishes the prerequisite workflow by requiring the unchanged BODY_JSON from prepare_backing and the signature over MESSAGE_TO_SIGN. It doesn't explicitly say when to avoid this tool or compare it to other pledge-related tools, but the step 2-of-2 framing provides enough context.

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

submit_backing_withdrawSubmit the signed pledge withdrawal (step 2 of 2)AInspect

Complete the withdrawal: pass workId, the BODY_JSON from prepare_backing_withdraw UNCHANGED, and the signature over MESSAGE_TO_SIGN. Free, always, and relays to the same public gate any HTTP client uses.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_backing_withdraw, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations provide the mutation/open-world profile, and the description adds useful access-level context: free, always available, and relayed through the same public gate as any HTTP client. This goes beyond the schema and annotations without contradicting them.

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?

Two tight sentences front-load the core instruction and required data flow, with no filler. Every phrase contributes either to the call sequence or to behavioral expectations.

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

Completeness5/5

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

With an output schema present, full parameter documentation, and annotations covering mutation/openness/idempotency, the description adds the remaining operational context (free, public, sequential dependency on prepare_backing_withdraw). Nothing needed to invoke the tool correctly is missing.

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 coverage is 100% and already documents each parameter accurately. The description reinforces that bodyJson must be unchanged and that signature signs MESSAGE_TO_SIGN, but it adds little beyond the schema's existing clarity.

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 clearly states the action ('Complete the withdrawal') and identifies it as step 2 of 2, referencing prepare_backing_withdraw directly. This distinguishes it from sibling submit_* tools by pinning the exact workflow stage and resource.

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?

The description conveys when to use the tool: after prepare_backing_withdraw, since the bodyJson must come from that call unchanged. It does not explicitly list exclusions or name alternative tools, but the sequencing is unmistakable and sufficient for correct selection.

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

submit_bidSubmit the signed offer (step 2 of 2)AInspect

Complete the bid: pass workId, the BODY_JSON from prepare_bid UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public bid gate any HTTP client uses; this server holds no keys and no funds. Free with a valid signature. Returns your recorded offer; the creator accepts or declines it later — work_status and my_work show what happened.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_bid, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark this as a mutating, non-idempotent operation, and the description adds meaningful context: it relays to the public bid gate, the server holds no keys/funds, it is free with a valid signature, and the outcome is later visible through work_status/my_work. This goes well beyond what the annotations state.

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?

Four sentences are compact and each earns its place: how to complete the call, operational context, cost, and how to observe the result. The key instructions are front-loaded before the contextual details.

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

Completeness5/5

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

With a present output schema and detailed parameter descriptions, the description provides everything else an agent needs: the prerequisite prepare_bid step, binding requirements for bodyJson/signature, the non-custodial nature, and pointers to work_status/my_work for the eventual outcome.

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?

The schema already documents all three parameters at 100% coverage, so the description need not compensate. It reinforces the critical 'BODY_JSON unchanged' and 'personal_sign over MESSAGE_TO_SIGN' constraints but adds little semantic value beyond the schema.

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 states a specific verb ('Complete the bid') and resource, and clearly positions it as the signed-offer submission step after prepare_bid. The title 'Submit the signed offer (step 2 of 2)' plus mention of returning the recorded offer distinguish it from the many sibling submit_* tools.

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 explicitly names prepare_bid as the source of bodyJson and MESSAGE_TO_SIGN, giving the required sequence without relying on inference. It does not explicitly say when not to use it or name alternatives, but the step-2 framing and references to work_status/my_work provide clear context.

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

submit_claimSubmit the signed claim (step 2 of 2)AInspect

Complete the claim: pass the BODY_JSON string from prepare_claim UNCHANGED plus the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public claim gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Success returns your claimId; keep it, proof submission needs it.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_claim, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, so the agent knows this is a mutating, non-idempotent operation. The description adds valuable behavioral context: the server relays the signed request to a public claim gate, holds no keys or funds, and requires the signature to act. This goes beyond annotations and clarifies the security model and statelessness. It doesn't contradict any annotation.

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?

Two sentences with zero fluff. The critical instruction (pass BODY_JSON unchanged plus signature) is front-loaded immediately, followed by concise context about the server's role and what to do with the return value. Every sentence serves a purpose.

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?

Given an output schema exists (so return values are covered), the description provides all needed usage context: the prerequisite (prepare_claim output), the signature requirement, the security model, and the instruction to keep claimId for proof submission. It's comprehensive for a two-parameter submit action, though it could optionally mention any error conditions, but that's beyond the typical burden.

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. The description adds key semantic value by stressing 'UNCHANGED' for bodyJson and specifying the signature as the 0x… personal_sign output over MESSAGE_TO_SIGN. This explains the relationship between the parameters and the prepare_claim step, which is not in the schema. It reinforces exact usage and the provenance of the signature.

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 states a specific verb ('Complete the claim') and identifies the exact resource and action, distinguishing it clearly as the submission step following prepare_claim. It explicitly names the two required inputs and the context of being step 2 of 2. This makes it unmistakably different from sibling tools like prepare_claim or other submit_* tools.

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?

The description gives explicit preconditions: pass the BODY_JSON string from prepare_claim unchanged and the signature from the wallet. It also implies the timing (after prepare_claim) and explains that without the signature nothing happens. It doesn't explicitly say 'use after prepare_claim, not before', but the sequencing is evident and the critical requirement of passing the unchanged body is highlighted.

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

submit_evidence_surfaceSubmit the signed reservation (step 2 of 2)AInspect

Complete the reservation: pass the BODY_JSON from prepare_evidence_surface UNCHANGED and the signature your wallet produced over MESSAGE_TO_SIGN. Free, always. Returns the targetUrl to pass to prepare_claim. Re-submitting for the same packet returns the surface you already hold.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_evidence_surface, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior1/5

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

The description states that re-submitting for the same packet returns the surface already held, which is a claim of idempotent behavior. However, idempotentHint is false, creating an annotation contradiction. The added 'Free, always' and targetUrl handoff are useful, but the contradiction is serious.

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?

Four short sentences with the action and prerequisites front-loaded. Every sentence adds behavioral or pipeline information; 'Free, always' is brief and relevant. No filler or redundancy.

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 2-parameter tool with an output schema, the description covers prerequisites, signature expectations, resubmission behavior, and downstream routing via targetUrl. It omits explicit failure conditions, but those are not essential for this narrowly scoped step; the idempotency conflict is penalized under behavioral transparency rather than here.

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%, and the description adds crucial provenance semantics: bodyJson must be passed UNCHANGED from prepare_evidence_surface, and signature is the wallet's personal_sign output over MESSAGE_TO_SIGN. This meaningfully extends what the schema fields alone communicate.

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 'Complete the reservation' and the title says 'step 2 of 2', tying it unambiguously to prepare_evidence_surface. It clearly states the verb, resource, and pipeline phase, and distinguishes it from sibling submit_evidence_write by referencing its specific prepare counterpart.

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 usage context: pass the exact BODY_JSON from prepare_evidence_surface and the signed MESSAGE_TO_SIGN, then use the returned targetUrl with prepare_claim. It also covers resubmission behavior. It does not explicitly name sibling alternatives or state when not to use it, so it stops short of a 5.

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

submit_evidence_writeSubmit the signed publish (step 2 of 2)AInspect

Complete the publish: pass the BODY_JSON from prepare_evidence_write UNCHANGED and the signature over MESSAGE_TO_SIGN. Free when signed. On success the files are live at your targetUrl and the next step is prepare_proof — the verifier probes them passively like any public machine surface.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_evidence_write, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

The description goes beyond the annotations by disclosing that successful submission makes files live at the target URL and that the verifier probes them passively. It also notes the operation is free when signed. This adds real postcondition context without contradicting readOnlyHint=false or openWorldHint=true.

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?

The description is compact and well-structured: action, required input handling, cost condition, and success outcome in three sentences. No filler or redundant restating beyond the necessary emphasis on passing the body unchanged.

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

Completeness5/5

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

Given only two fully documented parameters, an output schema, and clear annotations, the description covers the prerequisite, the exact inputs, the postcondition, and the next workflow step. An agent has enough context to invoke this tool at the right time.

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%, and the schema already documents bodyJson as the exact unchanged BODY_JSON string and signature as the personal_sign output over MESSAGE_TO_SIGN. The description repeats this guidance rather than adding new parameter-level meaning, so it stays at the baseline.

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?

Description uses a specific verb ('Complete the publish'), identifies the exact inputs (BODY_JSON from prepare_evidence_write and signature), and states the success outcome. The title 'step 2 of 2' and reference to prepare_evidence_write clearly distinguish it from the preparation step and from later steps like prepare_proof.

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?

The workflow is explicit: take the output of prepare_evidence_write, submit with a signature, then continue to prepare_proof. This gives clear temporal context. However, it does not mention alternatives or when not to use it, such as distinguishing from submit_evidence_surface.

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

submit_gmx_orderSubmit a signed GMX order transactionA
Destructive
Inspect

Relay a signed Ethereum transaction to the Arbitrum network. The transaction must have been pre-signed by the caller using prepare_gmx_order output. This endpoint does NOT sign — it only broadcasts an already-signed transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
signedRawTransactionYes0x-prefixed raw signed transaction hex (e.g., from ethers.Wallet.signTransaction() or ethers.Signer.sendTransaction().wait()).

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already convey mutation, non-idempotency, and destructive potential, so the description only needs to add behavioral nuance. It adds a key fact beyond annotations: the tool does not sign locally and only broadcasts a pre-signed payload, meaning signing responsibility rests entirely with the caller. It also names the target network (Arbitrum), consistent with the openWorldHint; no contradiction exists.

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 core action is stated first, the prerequisite second, and the negative clarification last. The 'does NOT sign' sentence is not redundant because it prevents the common mistake of expecting the tool to handle signing.

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

Completeness5/5

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

For a one-parameter tool with annotations and an output schema, the description is complete: it explains what the tool does, the required prior step, the target network, and the non-signing boundary. There is no missing information an agent needs to invoke it correctly.

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?

The input schema already documents signedRawTransaction thoroughly with hex format and examples, so the baseline is 3. The description adds a critical semantic constraint not present in the schema: the transaction must come from prepare_gmx_order output and must have been signed by the caller. This meaningfully clarifies what value to pass.

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 uses specific verbs 'Relay/broadcast' and a specific resource: a signed Ethereum transaction to the Arbitrum network. It clearly distinguishes the tool from signing-related siblings by stating it only broadcasts an already-signed transaction. The prerequisite link to prepare_gmx_order output removes ambiguity about what this tool is for.

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

Usage Guidelines5/5

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

The description explicitly states the transaction must have been pre-signed by the caller using prepare_gmx_order output, creating a clear before-condition. It also tells agents when not to use this tool: 'This endpoint does NOT sign.' This leaves little to inference about the boundary between submit_gmx_order and prepare_gmx_order.

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

submit_post_workSubmit the signed posting (step 2 of 2)AInspect

Complete the posting: pass BODY_JSON from prepare_post_work UNCHANGED, the creator wallet's signature over MESSAGE_TO_SIGN, and (unless you hold an EWP key) xPayment — the standard X-PAYMENT header value your own wallet produced for the $0.05 write fee. If you send no payment, the answer is the live 402 challenge with exact price and pay-to; pay it from your own wallet and retry with a fresh prepare. This server relays to the same public gate any HTTP client uses — it holds no keys and no funds. Success returns your packet's id and public page; claiming it (even yourself) is free.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyJsonYesThe exact BODY_JSON string from prepare_post_work, unchanged.
xPaymentNoOptional: the X-PAYMENT header value (EIP-3009 USDC on Base, from YOUR wallet) settling the $0.05 write fee. Omit if you hold an EWP key.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN, from the creator wallet.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint false), the description discloses important behavioral traits: that omitting payment yields a live 402 challenge with exact price/pay-to, that the server relays to the same public gate as any HTTP client and holds no keys or funds, and that success returns the packet's id and public page. It even notes claiming is free. This goes well beyond what annotations convey.

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?

The description is dense but every sentence serves a purpose: it states the main action, the payment requirement, the fallback behavior, the server's trust properties, and the result. It front-loads the core instructions and keeps the payment/caveat explicit. No filler or repetition.

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

Completeness5/5

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

For a two-step write operation, this description is complete. It covers all inputs, the payment condition, the failure/retry path, server behavior, and the success response. The output schema already exists, so not describing return structures further is acceptable. An agent has everything needed to invoke correctly.

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?

Although the schema already describes each parameter (100% coverage), the description adds crucial context: bodyJson must be passed EXACTLY as from prepare_post_work, signature is the personal_sign output over MESSAGE_TO_SIGN, and xPayment is the EIP-3009 header value. It clarifies the provenance and required format beyond the generic schema 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 'Complete the posting' and details the exact inputs (BODY_JSON, signature, payment), making the tool's function unmistakable. It also ties directly to its sibling prepare_post_work, explicitly identifying this as step 2 of 2, so an agent can differentiate at a glance.

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?

The description clearly implies the prerequisite (must have called prepare_post_work to get BODY_JSON and MESSAGE_TO_SIGN) and recounts the conditional payment requirement with the 402 retry path. It does not explicitly name alternative tools or state when NOT to use this tool, but the sequencing and the 402 fallback give strong usage context.

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

submit_proofSubmit the signed proof (step 2 of 2)AInspect

Relay the signed proof to the public completion gate: pass workId, the BODY_JSON from prepare_proof UNCHANGED, and the signature over MESSAGE_TO_SIGN. Approval follows (the creator, or self-verification where the packet supports it); on a funded packet, approval releases the wage into settlement; on an unfunded packet, approval RECORDS earned credit — never a settlement by itself. work_status shows where it stands.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_proof, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

The description adds meaningful behavioral context beyond the annotations: approval can come from the creator or self-verification, funded packets release wages into settlement, unfunded packets only record earned credit, and work_status reflects the current state. This is non-obvious side-effect information that the annotations do not carry, and it does not contradict readOnlyHint=false or destructiveHint=false.

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 sentences carry the full message with no filler. The critical invocation directive ('pass workId, the BODY_JSON from prepare_proof UNCHANGED, and the signature') is front-loaded, and the funded/unfunded nuance is compressed into a clear contrast.

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

Completeness5/5

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

The description covers the invocation contract, the approval mechanism, settlement vs credit outcomes, and points to work_status for state tracking. With an output schema present, return values do not need to be described, and the prerequisite relationship to prepare_proof is implied by both the title and the bodyJson requirement.

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 reiterates that bodyJson must be the unchanged BODY_JSON from prepare_proof and that signature is the signature over MESSAGE_TO_SIGN, but these details are already present in the schema property descriptions, so the description adds little new parameter-level meaning.

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 action ('Relay the signed proof') and a clear resource ('public completion gate'), and the title marks it as 'step 2 of 2'. It distinguishes itself from prepare_proof by name and by the requirement to pass the unchanged BODY_JSON from that previous step.

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?

The step-2-of-2 framing and the reference to prepare_proof make the intended usage context clear, and the funded vs unfunded packet outcomes provide practical guidance about what to expect. However, it does not explicitly name alternative tools or state when not to use it, so it stops short of a full when/when-not statement.

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

submit_token_offerSubmit the signed token offer (step 2 of 2)AInspect

Complete the offer: pass workId, the BODY_JSON from prepare_token_offer UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to the same public door any HTTP client uses (POST /labor/work/:workId/back/token); this server holds no keys, no funds and no tokens. Free with a valid signature. Returns the recorded offer and the packet's token terms.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_token_offer, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover readOnly=false, non-idempotent, and non-destructive. The description adds non-obvious behavioral context: 'this server holds no keys, no funds and no tokens', 'Free with a valid signature', and that it returns the recorded offer and token terms. This goes beyond annotation-only information.

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 focused sentences: the first gives the exact action and inputs, the second explains the relay endpoint and custody model, and the third states cost and return value. No filler or repetition of schema fields.

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

Completeness5/5

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

Given an output schema exists and all parameters are documented, the description supplies all necessary calling context: prerequisite step, exact parameter sourcing, endpoint, cost, custody implications, and return summary. An agent has enough to invoke the tool correctly.

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?

The schema already documents all three parameters at 100% coverage. The description adds crucial semantic guidance by emphasizing that bodyJson must be passed UNCHANGED from prepare_token_offer and by specifying that signature is the 0x… personal_sign output over MESSAGE_TO_SIGN, which adds value beyond the schema 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 clearly states a specific verb and resource: 'Complete the offer' by passing workId, bodyJson, and signature. It identifies this as 'step 2 of 2' and references the prerequisite prepare_token_offer, distinguishing it from sibling submit_* tools.

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?

The description gives clear usage context: use after prepare_token_offer, passing its BODY_JSON unchanged and the wallet signature over MESSAGE_TO_SIGN. It does not explicitly state when not to use it relative to other submit_* siblings, but the step-2 framing makes the workflow position obvious.

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

submit_token_settlementSubmit the signed token settlement (step 2 of 2)AInspect

Complete the record: pass workId, the BODY_JSON from prepare_token_settlement UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. Relays to POST /labor/work/:workId/settle/token; this server holds no keys, no funds and no tokens, and reads the chain only. Free with a valid signature. Returns the settlement with settledIn naming the chain, token, atomic amount and payer.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_token_settlement, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare this is a non-read, non-idempotent, non-destructive operation, and the description adds meaningful context beyond that: the server is non-custodial ('holds no keys, no funds and no tokens'), the action is free with a valid signature, and it describes the response's key fields (settledIn, chain, token, atomic amount, payer).

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 sentences with no wasted words. The first sentence front-loads the exact required inputs and their provenance, the second gives endpoint and trust context, and the third covers cost and return value. Every sentence earns its place.

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

Completeness5/5

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

The description is complete for a submission tool: it explains the prerequisite, the required inputs, the endpoint, the cost model, the server's non-custodial nature, and the response content. With an output schema present and all parameters documented, nothing essential is missing for an agent to call it correctly.

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 schema already documents all three parameters adequately. The description reinforces the critical requirement that bodyJson must be passed UNCHANGED and that signature comes from the wallet over MESSAGE_TO_SIGN, but adds little beyond what the schema properties already state.

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 uses a specific action ('Complete the record'), names the resource (token settlement), and identifies the exact endpoint POST /labor/work/:workId/settle/token. It clearly differentiates from prepare_token_settlement by being 'step 2 of 2' and by requiring the previously prepared body unchanged.

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?

The description gives clear workflow context: it is the follow-up to prepare_token_settlement, requiring the BODY_JSON produced there and a wallet signature over MESSAGE_TO_SIGN. It does not explicitly state when not to use it or name alternatives, but the step pairing makes the usage context obvious.

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

submit_voteSubmit the signed vote (step 2 of 2)AInspect

Complete the vote: pass workId, the BODY_JSON from prepare_vote UNCHANGED, and the signature your wallet produced over MESSAGE_TO_SIGN. This server relays the signed request to the same public vote gate any HTTP client uses — it holds no keys and no funds, and without your signature it can do nothing. Free, always: no fee is ever charged for a validly signed vote. Returns the live tally for this packet.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_vote, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing that the server holds no keys or funds, relays to the same public vote gate, requires a signature to do anything, never charges fees, and returns the live tally. This adds meaningful behavioral context about safety, cost, and effect.

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?

The description is front-loaded with the actionable instruction and is reasonably concise. The trust/fee details are somewhat extra for invocation purposes but still relevant to behavioral expectations, so each sentence mostly earns its place.

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?

Given the rich schema, annotations, and output schema, the description covers the key prerequisites (prepare_vote output), the execution model, and the return value. It does not spell out failure modes or repeated-call consequences, but the idempotentHint=false annotation and the overall context make this sufficient.

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?

The input schema already documents all three parameters with 100% coverage, so the baseline is 3. The description reinforces the critical constraint that BODY_JSON must be unchanged and that the signature comes from the wallet's personal_sign output, but it does not add fundamentally new parameter information beyond the schema.

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 clearly states a specific action ('Complete the vote') and precisely identifies the resource and required inputs (workId, BODY_JSON from prepare_vote, signature). It distinguishes itself from siblings by anchoring to the prepare_vote flow and noting this is step 2 of 2, making it unmistakable among submit_* tools.

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?

The description makes the usage context clear: this is the second step after prepare_vote, and it requires the exact BODY_JSON and wallet signature. It does not explicitly name alternatives or state when not to use it, but the step-2 framing and prepare_vote dependency provide strong guidance.

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

submit_vote_withdrawSubmit the signed withdrawal (step 2 of 2)AInspect

Complete the withdrawal: pass workId, the BODY_JSON from prepare_vote_withdraw UNCHANGED, and the signature over MESSAGE_TO_SIGN. Free, always, and relays to the same public gate any HTTP client uses.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.
bodyJsonYesThe exact BODY_JSON string from prepare_vote_withdraw, unchanged.
signatureYesThe 0x… personal_sign output over MESSAGE_TO_SIGN.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly=false and openWorldHint=true, and the description adds useful behavioral context: it is 'Free, always, and relays to the same public gate any HTTP client uses.' This tells the agent that calling the tool has no cost, is always available, and is a transparent public relay, beyond what annotations capture.

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?

Two tightly written sentences convey the core action, the required parameters, and the key behavioral characteristics (free, always, public). The essential information is front-loaded and there is no redundant or filler content.

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

Completeness5/5

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

For a three-parameter tool with an output schema, the description covers the essential context: how to construct the call, the relationship to prepare_vote_withdraw, cost, availability, and access model. No critical information an agent needs to invoke it correctly is missing.

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?

The input schema already documents all three parameters with 100% coverage. The description reiterates the same constraints (e.g., bodyJson must be unchanged from prepare_vote_withdraw) but does not add new meaning beyond what the schema provides, so it meets the baseline but no more.

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 states the specific action 'Complete the withdrawal' and explicitly references the prerequisite prepare_vote_withdraw, distinguishing it from other submit_* siblings. The title reinforces the step sequence ('step 2 of 2'), so an agent can identify the tool's role immediately.

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?

The description clearly establishes the required context: it must receive workId, the exact BODY_JSON from prepare_vote_withdraw, and a signature over MESSAGE_TO_SIGN. This implies the tool is only used after prepare_vote_withdraw, but it does not explicitly name alternatives or state when not to use this tool.

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

verify_anchorCheck whether a file was anchored, and whenA
Read-onlyIdempotent
Inspect

Given the SHA-256 of a file, say whether it is anchored, when, and return the merkle proof plus the transaction so the caller can check it independently without trusting Vealth. Use it to confirm someone held a document when they claim they did, or to confirm your own submission landed. Free and keyless.

ParametersJSON Schema
NameRequiredDescriptionDefault
sha256YesSHA-256 of the file, 64 lowercase hex characters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.5/5.0
Behavior5/5

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

While annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, the description adds valuable behavioral context: it returns a merkle proof and transaction for independent verification (trustlessness), and explicitly states it is 'free and keyless,' covering auth needs. This goes beyond the annotations and fully discloses the tool's behavior.

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?

The description is two sentences, front-loading the core functionality, then adding use cases and cost/auth note. Every sentence contributes value; no superfluous words.

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

Completeness5/5

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

With output schema present and one parameter fully described, the description covers purpose, usage, and behavioral trust aspects. It is complete for an agent to invoke correctly without additional information.

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?

The schema has 100% coverage with a single parameter sha256, described as 'SHA-256 of the file, 64 lowercase hex characters.' The description merely restates 'Given the SHA-256 of a file' without adding new meaning, so it meets the baseline for schema-backed tools but adds no extra semantic value.

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 clearly states a specific verb ('verify') and resource ('file anchoring'), and specifies exactly what it returns: whether anchored, when, the merkle proof, and the transaction. It also names typical use cases, distinguishing it from sibling tools like anchor_proof and prepare_proof.

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?

The description gives explicit when-to-use scenarios: 'confirm someone held a document when they claim they did, or to confirm your own submission landed.' It also notes it's free and keyless, implying no auth requirements. However, it does not explicitly compare against alternatives like anchor_proof, so it loses a point for lack of exclusions or alternative routing.

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

verify_workVerify a work claim into a signed certificateA
Read-onlyIdempotent
Inspect

Check a proof URI is safely machine-checkable, then get the exact path to Vealth's paid verification door: a SIGNED, re-checkable certificate anyone can reproduce — no oracle, no judge. Digital claims only; physical proof (photo + GPS + signature) is honestly routed to human review, never faked. This tool validates and instructs; the caller pays the door from their own wallet.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdNoOptional board packet id, to check its specific proof requirement.
proofUriYeshttps URL of the LIVE proof to verify. No auth, no query parameters.
standardNoOptional standard key the claim is made against.
definitionIdNoOptional self-verifying definition id, if known.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds value by disclosing it never fakes proofs, routes physical proofs honestly, and does not handle payment. These are meaningful behavioral guarantees that go beyond the annotations and build trust in the tool's operation.

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

Conciseness3/5

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

The description is three sentences with some promotional phrases like 'no oracle, no judge' that add little value. It is front-loaded with the primary action, but the second and third sentences contain extra context that could be more succinct. The structure is adequate but not tight.

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 a full output schema and complete parameter descriptions, the description's job is to provide the high-level context. It covers the tool's purpose, scope (digital vs physical), and the payment model. An agent can correctly invoke it without missing critical information, though error handling is left to the output schema.

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?

The input schema has 100% parameter description coverage, so the baseline is 3. The description highlights the proofUri parameter by discussing machine-checkability but does not add further meaning to workId, standard, or definitionId. It provides context but no new parameter-level detail beyond the schema.

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?

The description clearly states the tool verifies that a proof URI is machine-checkable and provides the path to obtaining a signed certificate. It differentiates from physical proof handling and clarifies it does not execute payment, making the purpose concrete. Slight ambiguity remains in whether it returns a certificate or instructions, but 'validates and instructs' resolves this.

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?

The description explicitly states 'Digital claims only' and notes physical proof is routed to human review, establishing when not to use it. It also clarifies the tool is for validation/instruction and that the caller pays, implying this is a pre-payment step. While it does not name sibling tools, the division of labor is clear.

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

worker_titlesThe titles and credentials one wallet declares, with status and evidenceA
Read-onlyIdempotent
Inspect

The Vealth titles register for one wallet: every title the worker declared on their own signature (CHST, OSHA 30, CPR, a guard card, anything), each with a status derived from the worker's OWN declared dates (current, expired, unknown_expiry), a verify pointer to the ISSUER'S record (we carry the link, we never fetch it), board evidence in that title's scope (on-chain-confirmed settlements and reviews the wallet accepted), and the declaration's anchor hash. Self-declared and shown as such; nothing here gates a claim. Public mirror: https://vealth.net/labor/worker//titles. Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
walletYesThe worker's wallet address (0x…).

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.1/5.0
Behavior5/5

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

Beyond the readOnlyHint annotations, the description discloses that it never fetches the issuer's record ('we carry the link, we never fetch it'), that statuses are derived from the worker's own declared dates, and that declarations are self-declared and non-gating. This is substantial behavioral context not conveyed by the annotations.

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?

The description is dense and front-loads the resource and scope, with a useful list of contents. It's slightly redundant ('Self-declared' appears twice, and 'read-only' mirrors the readOnlyHint annotation), but each clause carries meaningful information.

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

Completeness5/5

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

With a single well-documented parameter, an output schema, and annotations covering safety, the description covers all needed selection and invocation context: data scope, provenance, link behavior, access (free, keyless), and public mirror. Nothing material is missing.

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 coverage is 100%: the sole 'wallet' parameter is already described as the worker's wallet address. The description adds no new semantics for the parameter, so it sits at the baseline for fully covered schemas.

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?

The description clearly defines the tool as the Vealth titles register for one wallet, enumerating exactly what it contains (declared titles, status, verify pointer, board evidence, anchor hash). It makes the resource and scope clear, but it lacks an explicit verb like 'list' or 'get' and does not explicitly differentiate from sibling tools.

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?

The description gives clear context: this is for a single wallet's self-declared titles, status is derived from the worker's own declared dates, and it explicitly states 'nothing here gates a claim,' which is a when-not-to-use signal. It doesn't name alternatives or provide an explicit 'use this when...' rule.

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

work_statusWhere a packet stands right nowA
Read-onlyIdempotent
Inspect

Live lifecycle state of one packet — OPEN, CLAIMED, PROOF_SUBMITTED, APPROVED, PROOF_REJECTED, SETTLED or EXPIRED — plus its honest pay status (funded vs proposed). Free, keyless, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
workIdYesThe packet id.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okNo
toolNo
fundedNo
payUsdNo
workIdNo
claimIdNo
claimableNo
next_callNo
proofRuleNo
fulfillableByNo
definitionOfDoneNo
needs_from_callerNo
notClaimableReasonNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's 'read-only' adds little. However, it contributes valuable extras: 'free, keyless' reveals access requirements, and 'honest pay status (funded vs proposed)' discloses a nuance not present in annotations. This goes beyond structured data.

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?

The description is a single, information-dense sentence. It front-loads the core purpose, then lists the states, then adds distinctive details. Every clause earns its place with no filler.

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

Completeness5/5

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

For a one-parameter status-lookup tool with an output schema and rich annotations, the description fully covers the needed context: what the statuses are, what extra pay information is included, and access requirements. Nothing an agent needs to call it correctly is missing.

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?

The schema has 100% coverage for the single parameter 'workId' with the description 'The packet id.' The tool description does not add further meaning to the parameter, so a baseline score of 3 is appropriate since the schema handles the semantics.

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 states a specific verb-resource pair: 'Live lifecycle state of one packet' and enumerates the exact possible states (OPEN, CLAIMED, etc.), which leaves no ambiguity about what the tool returns. It also adds 'honest pay status' to differentiate its scope. Sibling tools like get_work_packet or verify_work are clearly distinct because this focuses on lifecycle status flow.

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?

The description clearly implies when to use the tool: when you need the current lifecycle state and pay status of a single packet. It provides context but does not explicitly name alternatives or state exclusions, so it falls short of the highest bar.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updates
    • Addedprepare_token_offer
    • Addedprepare_token_settlement
    • Addedsubmit_token_offer
    • Addedsubmit_token_settlement
  2. 4 tool updates
    • Addedprepare_backing_withdraw
    • Addedprepare_bid
    • Addedsubmit_backing_withdraw
    • Addedsubmit_bid
  3. 2 tool updates
    • Addedcompare_titles
    • Addedworker_titles
  4. 2 tool updates
    • Changedfind_work1 field changed
      • changedInput schema / properties / funded / description
        Previous value: -"true = only packets a verified payment already backs (cash on approved proof); false = only unfunded (credit-or-mint) packets. Omit for both."New value: +"true = only packets a verified payment already backs (money truth; a funded packet can still be earned_credit and never promise cash — read payModel); false = only unfunded packets, where approved proof records earned credit rather than cash unless later funded. Omit for both."
    • Changedprepare_funding1 field changed
      • addedInput schema / properties / contributeUsd
        Added value: +{
        +  "description": "Optional EXPLICIT contribution in USD. Omit to fund the canonical remaining amount. Forwarded to the live door verbatim; the door enforces its own floor, ceiling and remaining-amount truth. An explicit amount above the remaining is a deliberate worker premium.",
        +  "type": "number"
        +}
  5. 4 tool updates
    • Addedprepare_evidence_surface
    • Addedprepare_evidence_write
    • Addedsubmit_evidence_surface
    • Addedsubmit_evidence_write
  6. 57 tool updates
    • Changedaccount_statement2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedanchor_proof2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedboard_stats2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedcredential_quote2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedcrypto_lanes2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedcrypto_lp_positions2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedcrypto_route_set2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedcrypto_tokens2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedcrypto_wallets2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedestimate_footprint2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedfind_work2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedfunding_quote2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedget_work_packet2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedgmx_get_orders2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedgmx_get_positions2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedgmx_get_prices2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedhow_to_claim2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedhydrex_claimable2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedhydrex_position2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedhydrex_reality2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedhydrex_vault2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedhydrex_votes2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedmy_votes2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedmy_work2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changednet_subscription_quote2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changednet_subscription_status2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedoperator_decisions2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedpayment_options2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedpayment_preflight2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedplace_standing2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_backing2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_bridge2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_claim2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_funding2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_gmx_order2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_post_work2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_proof2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_vote2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprepare_vote_withdraw2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedprovision_work2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedregen_address_lookup2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedregen_burn_tracker2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedregen_forum_feed2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedregen_governance_status2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedregen_token_volume2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedretire_and_certify2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedstart_here2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedsubmit_backing2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedsubmit_claim2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedsubmit_gmx_order2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedsubmit_post_work2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedsubmit_proof2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedsubmit_vote2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedsubmit_vote_withdraw2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedverify_anchor2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedverify_work2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
    • Changedwork_status2 fields changed
      • addedOutput schema / properties / claimable
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / notClaimableReason
        Added value: +{
        +  "type": "string"
        +}
  7. 3 tool updates
    • Addednet_subscription_quote
    • Addednet_subscription_status
    • Addedstart_here
  8. 1 tool update
    • Addedoperator_decisions
  9. 6 tool updates
    • Addedhydrex_claimable
    • Addedhydrex_position
    • Addedhydrex_reality
    • Addedhydrex_vault
    • Addedhydrex_votes
    • Addedprepare_bridge
  10. 5 tool updates
    • Addedcrypto_lanes
    • Addedcrypto_lp_positions
    • Addedcrypto_route_set
    • Addedcrypto_tokens
    • Addedcrypto_wallets
  11. 2 tool updates
    • Addedcredential_quote
    • Changedprepare_claim1 field changed
      • addedInput schema / properties / targetUrl
        Added value: +{
        +  "description": "Self-verifying TEMPLATE packets only: YOUR OWN https origin (e.g. https://example.com). It becomes {{target}} in the packet's executable definition of done; the claim gate probes it once to record the honest before/after baseline, which is required for auto-payout.",
        +  "type": "string"
        +}
  12. 41 tool updates
    • Changedaccount_statement1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedanchor_proof1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedboard_stats1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedestimate_footprint1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedfind_work1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedfunding_quote3 fields changed
      • changedInput schema / properties / workId / description
        Previous value: -"The packet id, from find_work."New value: +"Optional packet id. Omit to quote the first open packet that still needs funding."
      • removedInput schema / required
        Removed value: -[
        -  "workId"
        -]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedget_work_packet1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedgmx_get_orders1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedgmx_get_positions1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedgmx_get_prices1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedhow_to_claim1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmy_votes1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedmy_work1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedpayment_options1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedpayment_preflight1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedplace_standing1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprepare_backing1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprepare_claim1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprepare_funding1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprepare_gmx_order1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprepare_post_work1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprepare_proof1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprepare_vote1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprepare_vote_withdraw1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedprovision_work1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedregen_address_lookup1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedregen_burn_tracker1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedregen_forum_feed1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedregen_governance_status1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedregen_token_volume1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedretire_and_certify1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsubmit_backing1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsubmit_claim1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsubmit_gmx_order1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsubmit_post_work1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsubmit_proof1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsubmit_vote1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedsubmit_vote_withdraw1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedverify_anchor1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedverify_work1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
    • Changedwork_status1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "additionalProperties": true,
        +  "properties": {
        +    "claimId": {
        +      "type": "string"
        +    },
        +    "definitionOfDone": {
        +      "type": [
        +        "object",
        +        "array",
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "fulfillableBy": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "funded": {
        +      "type": "boolean"
        +    },
        +    "needs_from_caller": {
        +      "items": {
        +        "type": "string"
        +      },
        +      "type": "array"
        +    },
        +    "next_call": {
        +      "type": "object"
        +    },
        +    "ok": {
        +      "type": "boolean"
        +    },
        +    "payUsd": {
        +      "type": "number"
        +    },
        +    "proofRule": {
        +      "type": "string"
        +    },
        +    "tool": {
        +      "type": "string"
        +    },
        +    "workId": {
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
  13. 1 tool update
    • Changedfind_work4 fields changed
      • addedInput schema / properties / funded
        Added value: +{
        +  "description": "true = only packets a verified payment already backs (cash on approved proof); false = only unfunded (credit-or-mint) packets. Omit for both.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Max results, 1-25. Default 10."New value: +"Max results per page, 1-25. Default 10."
      • addedInput schema / properties / page
        Added value: +{
        +  "description": "Page number, starting at 1. The reply says when more pages exist.",
        +  "type": "number"
        +}
      • addedInput schema / properties / remote
        Added value: +{
        +  "description": "true = only work doable from anywhere (digital/self-verifying — what an agent with no field presence can complete); false = only placed field work. Omit for both.",
        +  "type": "boolean"
        +}
  14. 5 tool updates
    • Addedgmx_get_orders
    • Addedgmx_get_positions
    • Addedgmx_get_prices
    • Addedprepare_gmx_order
    • Addedsubmit_gmx_order
  15. 7 tool updates
    • Addedmy_votes
    • Addedprepare_backing
    • Addedprepare_vote
    • Addedprepare_vote_withdraw
    • Addedsubmit_backing
    • Addedsubmit_vote
    • Addedsubmit_vote_withdraw
  16. 1 tool update
    • Addedplace_standing

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Agentic job board for too hard basket items, with independently verifiable participant reputation status that is earned via participant activity
    -
  • F
    license
    A
    quality
    A
    maintenance
    Universal work attestation for autonomous agents. Register any AI agent or machine with persistent cryptographic identity, attest completed work with tamper-evident on-chain records, and query trust scores. The reputation layer for the agent economy. 3 MCP tools over SSE. Settled on Solana.
    11
    2
    -
  • F
    license
    C
    quality
    B
    maintenance
    The trust-and-settlement rails of the agent economy: identity, trust, escrow, metering, arbitration, compute-carbon ledger, covenant, provenance, offsets, ERC-8004 bridge, surety, notary, and discovery — plus sellable measurement/CAD services. Durable, machine-checkable invariants, free rails.
    100
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.9/5.0
Disambiguation5/5

Despite 41 tools, each has a highly specific purpose with detailed descriptions that clearly differentiate them. The prepare_/submit_ pairs, domain-specific prefixes (gmx_, regen_), and distinct action types (find, get, verify, etc.) leave little room for confusion. Even closely related tools like funding_quote and prepare_funding or my_work and my_votes are explicitly distinguished.

Naming Consistency3/5

Naming conventions are mixed: some tools use plain nouns (account_statement, board_stats), others use verb_noun patterns (prepare_*, submit_*, get_*), possessive (my_votes, my_work), or descriptive phrases (how_to_claim, retire_and_certify). While not chaotic, the lack of a single consistent pattern reduces predictability. However, prefixes like gmx_ and regen_ provide internal consistency within subdomains.

Tool Count2/5

With 41 tools, the count significantly exceeds the recommended range (3-15) and falls into the 'too many' category (25+). Although the server covers a wide range of features (work lifecycle, Regen governance, GMX trading, anchoring, carbon), this number can overwhelm agents and make selection challenging. A more focused tool set would improve coherence.

Completeness4/5

The tool set covers the core workflows for its stated domains well: work posting/funding/claiming/proofing, Regen governance and token data, GMX position management, anchoring, and carbon estimation. Minor gaps exist (e.g., no GMX order cancellation, no work deletion), but overall the surface is comprehensive enough to accomplish primary use cases without dead ends.

Resources