Skip to main content
Glama

Zero Dark: a wallet's balances

darkroom_balance
Read-onlyIdempotent

A wallet's Zero Dark balances (USDG and each market's stock): in Zero Dark, pending until the next batch, available for orders, and in the wallet. Orders draw on this balance at each batch; no order locks funds of its own.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "wallet": "<wallet>"
    },
    "name": "darkroom_balance"
  }
}

Input Schema

NameRequiredDescriptionDefault
walletYesThe wallet's address (0x...): the transactions are built for it to sign

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already establish readOnly/idempotent/non-destructive, so the safety profile is covered; the description instead adds genuinely non-obvious domain behavior: balances are split into pending-until-next-batch, available-for-orders, and in-wallet, and no individual order locks funds because settlement happens per batch. That batching/locking model is exactly the kind of context an agent cannot derive from the schema. It does not state freshness/latency beyond the batch hint.

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?

One sentence, front-loaded with the resource being read, with no filler or restatement of the title. The middle clause ('in Zero Dark, pending until the next batch, available for orders, and in the wallet') is dense and slightly hard to parse on first read, costing a point.

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 single-parameter read with full annotation coverage and no output schema, the description covers the essential contract: what is returned conceptually and how balances behave across batches. Adding a hint about return shape (values in USDG base units, per-market entries) or freshness would make it complete, but nothing critical 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 single `wallet` parameter is already documented as the 0x address the transactions are built for. The description adds no further meaning about the wallet argument (e.g. whether it defaults to the connected session wallet), so this lands 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 names the exact resource (a wallet's Zero Dark balances) and enumerates the three components returned: USDG, each market's stock, and the pending/available/in-wallet split. It is clearly distinguishable from siblings like darkroom_orders or darkroom_fills. It stops short of a clean action verb ('returns'/'reads'), phrasing it as a noun phrase, but the intent 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 Guidelines2/5

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

There is no explicit guidance on when to call this versus darkroom_orders, darkroom_markets, or position/health. The note that 'orders draw on this balance at each batch' hints that this is the pre-trade affordability check, but the agent must infer that. No prerequisites, no exclusions, no named alternative.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources