Skip to main content
Glama

chat on Discord twitter npm version Install in VS Code

The official Model Context Protocol server for BlindPay - Stablecoin API for global payments.

What This MCP Server Does

This MCP server provides AI assistants (Cursor, Claude Code, Codex, etc.) with access to BlindPay's stablecoin payment infrastructure. It exposes tools that allow AI assistants to:

  • Create and manage receivers (individuals/businesses)

  • Process payouts and payins on multiple blockchains

  • Create quotes and get FX rates

  • Manage virtual accounts and blockchain wallets

  • Configure webhooks and API keys

  • And more...

Related MCP server: @payre/mcp

Two ways to connect

Remote server (recommended)

Local npx server

URL / command

https://mcp.blindpay.com/mcp

npx -y @blindpay/mcp

Auth

OAuth 2.1 sign-in with your BlindPay account (PKCE)

BLINDPAY_API_KEY env var

Transport

Streamable HTTP

stdio

Works in

Claude, ChatGPT, Cursor, VS Code, Grok, any remote-capable client

Any stdio MCP client

Both expose the same tools, the same server instructions (call order, units, test amounts) and the same webhook event resources at blindpay://webhooks/events. The remote server needs no API key: the client opens a browser, you sign in and pick an instance, and the token is scoped to your role on it.

Tool profiles

Set BLINDPAY_MCP_PROFILE on the local server to choose which tools are exposed:

Profile

Tools

Use when

full (default)

Every public API operation, including payouts and transfers

Building or operating with an AI coding assistant

readonly

GET operations only: status, balances, history. Leaves out the wallet sign-message, webhook secret and webhook portal-access tools, and drops trace_id from JSON responses, like /mcp/readonly

Consumer assistants, or any place a tool that moves money is unwanted

Every tool carries MCP annotations (readOnlyHint, destructiveHint, idempotentHint) derived from its HTTP verb, so clients can gate confirmations themselves.

Prerequisites (local server only)

Get your API key and Instance ID:

  1. Create an account on BlindPay

  2. Create a development instance

  3. Go to the BlindPay Dashboard

  4. Select your instance and click on the API Keys tab

  5. Create a new API key

  6. Copy your instance ID (format: in_xxxxxxxxxxxx) from the dashboard url

Dependencies you need to have installed:

You can check if you have Node.js installed by running node -v. Same for Npm, you can check by running npm -v.

Installation

Cursor

One-click install (remote server with API key):

Add to Cursor

Replace YOUR_BLINDPAY_API_KEY in ~/.cursor/mcp.json with a key from the dashboard. Cursor's OAuth sign-in needs dynamic client registration, which BlindPay's sign-in doesn't offer, so the remote server takes the API key as a bearer token instead. The Cursor plugin in plugins/cursor sets this up with both endpoints.

One-click install (local server with API key):

Add MCP to Cursor

After installation, add your API key and instance ID to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "blindpay": {
      "command": "npx",
      "args": ["-y", "@blindpay/mcp"],
      "env": {
        "BLINDPAY_API_KEY": "your-api-key-here",
        "BLINDPAY_INSTANCE_ID": "your-instance-id-here"
      }
    }
  }
}

Claude Code

As a plugin (remote server, OAuth, no API key):

claude plugin marketplace add blindpaylabs/blindpay-mcp
claude plugin install blindpay@blindpay

Or as a plain MCP server:

claude mcp add --transport http blindpay https://mcp.blindpay.com/mcp

Local server with an API key:

claude mcp add --transport stdio blindpay --env BLINDPAY_API_KEY=your-api-key-here --env BLINDPAY_INSTANCE_ID=your-instance-id-here -- npx -y @blindpay/mcp

Claude Desktop

Add to your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "blindpay": {
      "command": "npx",
      "args": ["-y", "@blindpay/mcp"],
      "env": {
        "BLINDPAY_API_KEY": "your-api-key-here",
        "BLINDPAY_INSTANCE_ID": "your-instance-id-here"
      }
    }
  }
}

Codex

Remote server (OAuth, no API key):

codex mcp add blindpay --url https://mcp.blindpay.com/mcp

Local server with an API key:

codex mcp add blindpay --env BLINDPAY_API_KEY=your-api-key-here --env BLINDPAY_INSTANCE_ID=your-instance-id-here -- npx -y @blindpay/mcp

Or add to your ~/.codex/config.toml (or project-scoped .codex/config.toml):

[mcp_servers.blindpay]
command = "npx"
args = ["-y", "@blindpay/mcp"]

[mcp_servers.blindpay.env]
BLINDPAY_API_KEY = "your-api-key-here"
BLINDPAY_INSTANCE_ID = "your-instance-id-here"

VS Code

Click the Install in VS Code badge at the top, or add to .vscode/mcp.json:

{
  "servers": {
    "blindpay": {
      "type": "http",
      "url": "https://mcp.blindpay.com/mcp"
    }
  }
}

You can also search @mcp blindpay in the Extensions view once the gallery entry is live.

Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "blindpay": {
      "serverUrl": "https://mcp.blindpay.com/mcp"
    }
  }
}

Raycast

Open the Model Context Protocol Registry extension in Raycast, search for BlindPay and click Install Server. Or install manually with Manage Servers → Add Server using the local config from the Cursor section.

Claude (claude.ai / Claude Desktop, remote)

In Settings → Connectors → Add custom connector, paste https://mcp.blindpay.com/mcp and complete the sign-in. Only read-only tools are exposed to consumer directories.

ChatGPT

Enable Developer Mode in Settings → Connectors → Advanced, then Create a connector with https://mcp.blindpay.com/mcp and OAuth authentication.

Grok

Grok Build plugin (recommended): install blindpay from the xAI plugin marketplace. The plugin ships both remote HTTP MCP endpoints:

Server

URL

Scope

blindpay

https://mcp.blindpay.com/mcp

Full (read + write)

blindpay-readonly

https://mcp.blindpay.com/mcp/readonly

Read-only

Both use OAuth 2.1 (PKCE) with your BlindPay account — no API key to paste.

Custom connector (paid Grok tier): go to https://grok.com/connectors → New Connector → Custom, enter https://mcp.blindpay.com/mcp (or the readonly URL), leave client credentials empty, and complete the BlindPay sign-in when prompted.

Cline

Ask Cline to install the BlindPay MCP server from https://github.com/blindpaylabs/blindpay-mcp. It follows llms-install.md.

Gemini CLI

gemini extensions install https://github.com/blindpaylabs/blindpay-mcp

Docker

Local stdio server in a container, built from this repo:

docker build -t blindpay-mcp .
docker run -i --rm -e BLINDPAY_API_KEY=your-api-key-here -e BLINDPAY_INSTANCE_ID=your-instance-id-here blindpay-mcp

Any other MCP client

Remote: point the client at https://mcp.blindpay.com/mcp (Streamable HTTP, OAuth 2.1 discovery via /.well-known/oauth-protected-resource). Local: run npx -y @blindpay/mcp over stdio with BLINDPAY_API_KEY set.

Example Prompts

Once configured, you can ask your AI assistant to interact with BlindPay:

"Get me a quote for sending 1000 USDC to a bank account in Brazil"

"List all my recent payouts from the last 7 days"

"Create a virtual account for receiver with ID re_xxxxxxxxxxxx"

"Show me the available payment rails"

"Get all receivers for instance in_xxxxxxxxxxxx"
TIP

SetBLINDPAY_INSTANCE_ID and every instance-scoped tool fills in the instance id for you, the way the remote server does; a value the model sends is ignored. Without it, give the instance id in your prompt.

Documentation

Support

License

This project is licensed under the MIT License - see the LICENSE file for details.

Made with ❤️ by the BlindPay team

Available Tools

92 tools
DeleteV1InstancesCustomersBankAccountsByIdDelete Instances Customers Bank Accounts By IdC
DestructiveIdempotent
Inspect

Remove Bank Account

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.3/5.0
Behavior2/5

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

The annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, and "Remove" is consistent with those. However, the description adds no behavioral context beyond restating deletion, such as irreversibility, side effects, or required permissions.

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

Conciseness2/5

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

Two words are concise but under-specify a destructive, multi-parameter operation. The brevity does not earn its place because essential scope and behavior are missing.

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

Completeness2/5

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

For a destructive deletion tool with three required identifiers and 50% schema coverage, the description leaves out almost everything an agent needs: instance/customer scoping, effects of deletion, and retry semantics beyond the Idempotency-Key schema note. Annotations cover the safety hints, but the description itself is far from complete.

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

Parameters2/5

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

The description mentions no parameters at all. With only 50% schema description coverage, the undocumented id and instance_id parameters must be inferred from their names and examples, and the description does not compensate for that gap.

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

Purpose3/5

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

The description gives a clear verb and resource with "Remove Bank Account", but it is extremely terse and omits the by-ID scope and instance/customer context embedded in the tool name. It does not differentiate this deletion from other bank-account operations such as GetV1InstancesCustomersBankAccountsById or the related create/list tools.

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 guidance on when to use this deletion versus related tools, nor any mention of prerequisites, consequences, or alternatives. An agent must infer usage entirely from the tool name and sibling list.

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

DeleteV1InstancesCustomersBlockchainWalletsByIdDelete Instances Customers Blockchain Wallets By IdC
DestructiveIdempotent
Inspect

Remove Blockchain Wallet

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered structurally. Beyond echoing "Remove", the description adds nothing about consequences — e.g. whether funds or addresses on the wallet are lost, whether deletion is reversible, or what happens to in-flight payouts.

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?

Three words with zero filler and the action front-loaded, but for a destructive delete this level of brevity is under-specification rather than efficiency.

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

Completeness2/5

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

This is an irreversible destructive operation with no output schema and half the parameters undocumented. The description should at minimum state the resource scope (which blockchain wallet under which customer/instance) and any deletion consequences; it instead says nothing beyond the name.

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

Parameters2/5

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

Schema description coverage is only 50%: customer_id and Idempotency-Key are documented, but id and instance_id carry only examples. The description supplies no parameter meaning at all, so the undocumented half of the identifiers is left entirely to inference.

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

Purpose3/5

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

"Remove Blockchain Wallet" gives a clear verb and resource, so the basic action is unambiguous. However, it does nothing to separate this from close siblings such as DeleteV1InstancesCustomersWalletsById (non-blockchain wallet) or DeleteV1InstancesCustomersById, leaving the agent to infer the distinction from the long tool name alone.

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 when-to-use guidance, no prerequisites, and no mention of alternatives. An agent must decide entirely from the name whether this is the correct delete endpoint versus the plain wallet delete sibling.

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

DeleteV1InstancesCustomersByIdDelete Instances Customers By IdD
DestructiveIdempotent
Inspect

Delete Customer

NameRequiredDescriptionDefault
idYes
instance_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.6/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered structurally and the description does not contradict it. However, the description adds nothing beyond that: it does not say whether the delete is soft or hard, what happens to the customer's bank accounts/wallets/limits, or what an error on a missing ID looks like.

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

Conciseness2/5

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

Two words contain no filler but also no information; this is under-specification rather than conciseness. There is nothing front-loaded because there is nothing to load.

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

Completeness1/5

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

For a destructive, open-world mutation with no output schema and undocumented required parameters, the description supplies none of the context an agent needs (scope, cascading effects, confirmation expectations). It is effectively a label, not a definition.

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

Parameters1/5

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

Schema description coverage is only 33% – only Idempotency-Key is documented in the schema, while id and instance_id carry only examples and length constraints. The description compensates for none of this, never mentioning the instance path parameter or the customer ID it operates on.

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

Purpose2/5

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

"Delete Customer" restates the tool name and title almost verbatim, adding only the verb-object pairing. It does not state that the deletion is scoped to a specific instance/customer pair, nor distinguish it from the many sibling customer operations (PutV1InstancesCustomersById, GetV1InstancesCustomersById, DeleteV1InstancesCustomersBankAccountsById).

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no mention of prerequisites, and no warnings about irreversibility for a destructive operation. The agent gets no help choosing between this and PutV1InstancesCustomersById or the various sub-resource delete tools.

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

DeleteV1InstancesCustomersWalletsByIdDelete Instances Customers Wallets By IdC
DestructiveIdempotent
Inspect

Remove Wallet

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond restating the mutation: it does not say whether the wallet must be empty, what state is destroyed, whether deletion is reversible, or what authorization is required for a destructive financial-resource 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?

"Remove Wallet" contains no wasted words and is front-loaded, but it is under-specified rather than concise. Two words cannot carry the operational context an agent needs for a destructive call.

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

Completeness2/5

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

This is a destructive, idempotent delete on a financial resource with three required identifiers and no output schema. The description should at least confirm the deletion target/scope and consequences; instead it offers two words, leaving a substantial gap.

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

Parameters2/5

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

Schema coverage is only 50% (customer_id and Idempotency-Key are described; id and instance_id have examples but no description), so the description needs to compensate, and it does not. "Remove Wallet" gives no hint that three identifiers (instance, customer, wallet id) are required or what they identify.

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

Purpose3/5

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

"Remove Wallet" names a verb and resource, but it is the bare minimum and does not distinguish this tool from sibling deletes such as DeleteV1InstancesCustomersBlockchainWalletsById or DeleteV1InstancesCustomersBankAccountsById. An agent must rely almost entirely on the tool name to understand which wallet is being removed and in what scope.

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 guidance on when to use this delete versus the wallet-related siblings (blockchain wallets, bank accounts offramp wallets) or versus GetV1InstancesCustomersWallets/Put operations. No prerequisites, no exclusions, no stated alternatives.

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

DeleteV1InstancesMembersByUserIdDelete Instances Members By User IdC
DestructiveIdempotent
Inspect

Delete Member from Instance

NameRequiredDescriptionDefault
idYes
user_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.6/5.0
Behavior2/5

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

The annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true, and readOnlyHint=false, so the safety profile is known. The description adds no further behavioral context, such as irreversibility, side effects on related records, or permission requirements.

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 a single short phrase with no wasted words, but it is under-specified rather than appropriately concise. It lacks front-loaded detail needed for a destructive mutation.

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

Completeness2/5

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

For a destructive member-deletion operation with no output schema and low parameter description coverage, the description is too thin. It does not explain what happens to the member, whether related data is affected, or what authorization is required.

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

Parameters2/5

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

Schema description coverage is only 33%: only Idempotency-Key is documented in the schema. The description does not explain the roles of id and user_id, leaving the two required parameters semantically unclear.

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 verb and resource: deleting a member from an instance. It is clear enough to distinguish the action from most siblings, though it does not explicitly say the deletion is scoped by user id or contrast with PutV1InstancesMembersByUserId.

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 guidance on when this tool should be used instead of GetV1InstancesMembers or PutV1InstancesMembersByUserId. No prerequisites, warnings, or conditions are provided.

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

DeleteV1InstancesPartnerFeesByIdDelete Instances Partner Fees By IdC
DestructiveIdempotent
Inspect

Remove Partner Fee

NameRequiredDescriptionDefault
idYes
instance_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=true, idempotentHint=true, openWorldHint=true), so the description needn't repeat them. However, it adds no context at all about what is destroyed, whether the removal is recoverable, or side effects on related records, which is what this dimension rewards. 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?

"Remove Partner Fee" is front-loaded with zero waste, but it is under-specified rather than genuinely concise. It is a two-word phrase that provides no structure or actionable detail.

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

Completeness2/5

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

For a destructive, open-world delete with no output schema and two undocumented required parameters, the description is far too thin. Annotations carry the safety flags, but the agent still lacks confirmation of what the deletion affects or what a successful response looks like.

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

Parameters2/5

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

Schema description coverage is only 33% (only Idempotency-Key is documented; id and instance_id have examples and length bounds but no descriptions). With low coverage the description must compensate, and it says nothing about what id or instance_id refer to or their formats.

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

Purpose3/5

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

"Remove Partner Fee" states a verb and resource, so an agent can infer a deletion of a partner-fee record. But it merely restates the tool name/title and adds no scope, and nothing distinguishes it from the sibling GetV1InstancesPartnerFees / PostV1InstancesPartnerFees / GetV1InstancesPartnerFeesById beyond the name itself.

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 when-to-use guidance, no prerequisites, and no mention of alternatives or when not to call it. The agent must infer that this is the destructive path for an existing partner fee rather than, say, the create endpoint.

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

DeleteV1InstancesPayablesByIdDelete Instances Payables By IdC
DestructiveIdempotent
Inspect

Delete Payable

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds zero behavior context beyond that — no mention of whether the delete is soft or permanent, what happens to related records, whether funds/balance implications exist, or what errors arise from a non-existent or non-deletable payable. For a destructive financial mutation it should say more.

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

Conciseness2/5

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

Two words with no waste in the literal sense, but this is under-specification rather than conciseness — the sentence does not earn the space it takes by conveying anything actionable beyond the tool name.

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

Completeness2/5

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

There is no output schema, so the description should at least indicate the return shape or post-delete state, and it says nothing. For a destructive, open-world mutation with two undocumented parameters, the definition is far too thin to call safely.

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

Parameters1/5

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

Schema description coverage is 0% — neither `id` nor `instance_id` has a description (only length constraints and examples like `pb_...` / `in_...`). The description does nothing to explain that `id` is the payable identifier or that `instance_id` scopes the tenant, which is exactly the gap it needed to fill.

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

Purpose3/5

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

"Delete Payable" names a verb and a resource, so the basic action is identifiable, and the sibling list contains GetV1InstancesPayablesById as its read counterpart. But it is a two-word restatement of the title with no scope detail (what a payable is, what deleting one means in this API), so it barely clears the minimum-viable bar.

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?

No guidance on when to use this versus the sibling read/update payables endpoints, and no prerequisites (permissions, whether the payable must be in a certain state). The agent must infer everything from the name.

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

DeleteV1InstancesWebhookEndpointsByIdDelete Instances Webhook Endpoints By IdD
DestructiveIdempotent
Inspect

Remove Webhook

NameRequiredDescriptionDefault
idYes
instance_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is known without the description. The description adds nothing beyond that — no note on irreversibility, cascade effects, or whether the endpoint stops receiving events immediately.

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

Conciseness2/5

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

Two words is under-specification rather than conciseness. There is no wasted text, but the definition is far too thin to earn its place as the sole prose guidance for a destructive mutation.

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

Completeness1/5

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

For a destructive, open-world delete operation with no output schema and two undocumented required parameters, the description provides nothing an agent needs: not the target resource shape, not the effect scope, not error or retry behavior.

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

Parameters2/5

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

Schema description coverage is only 33%: the required id and instance_id properties carry no description in the schema, and the description supplies no meaning for them either. Only Idempotency-Key is documented, and that documentation lives entirely in the schema, not the description, so the description fails to compensate for the coverage gap.

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

Purpose2/5

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

"Remove Webhook" only restates the tool name (Delete Instances Webhook Endpoints By Id) in compressed form. It conveys the verb+resource but drops the instance scoping and adds no detail distinguishing this from the sibling GetV1InstancesWebhookEndpoints / PostV1InstancesWebhookEndpoints endpoints.

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 statement of when to use this versus alternatives, no prerequisites, and no warning about what happens to in-flight webhook deliveries. The agent must infer everything from the tool name.

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

GetInstancesCustomersBankAccountsOfframpWalletsByIdGet Instances Customers Bank Accounts Offramp Wallets By IdD
Read-onlyIdempotent
Inspect

Get Offramp Wallet

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes
bank_account_idYes

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false. The description adds no behavioral context beyond those annotations, such as required permissions, path hierarchy, or return behavior.

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

Conciseness2/5

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

The text is short but under-specified rather than concise. It is front-loaded but does not earn its place by conveying useful information.

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

Completeness1/5

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

For a nested read operation requiring instance_id, customer_id, bank_account_id, and id, the description is inadequate. No output schema exists, and the description does not explain the resource relationships or what the returned wallet represents.

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

Parameters1/5

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

Schema description coverage is only 25%, and the description mentions no parameters at all. With four required IDs and three undocumented in the schema, the description completely fails to compensate for the low coverage.

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

Purpose2/5

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

"Get Offramp Wallet" restates the tool name/title rather than adding meaning. It does not clarify that this retrieves a single offramp wallet by ID, nor how it differs from the sibling list endpoint GetV1InstancesCustomersBankAccountsOfframpWallets.

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?

The description gives no when-to-use guidance, no exclusions, and no references to alternatives. It does not mention that this is the by-ID detail endpoint versus the list or create siblings.

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

GetV1AvailableBankDetailsGet Available Bank DetailsA
Read-onlyIdempotent
Inspect

Returns the fields a bank account needs for a payout rail, so a recipient form can collect and validate them before calling create bank account. Each field has a label, the request body key to send it under, a validation regex, and, where the value comes from a fixed list (banks, countries, account types), the allowed items. Get valid rail values from GET /v1/available/rails. Public: no API key required.

NameRequiredDescriptionDefault
railYes

TDQS

A4.9/5.0
Behavior5/5

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

Goes well beyond the readOnly/idempotent annotations by disclosing that no API key is required ('Public'), which annotations cannot express, and by describing the response payload structure (label, key, regex, items). For a read-only lookup, that covers the behavioral burden fully.

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, front-loaded with the purpose, then the use case, then the payload/validation detail. Nothing is repeated from the schema or annotations and no sentence 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?

With no output schema, the description must describe the return payload and it does so precisely, plus it supplies the missing parameter documentation and auth context. An agent has everything needed 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 0%, so the description carries the load: it explains that `rail` selects the payout rail and directs the agent to GET /v1/available/rails for valid values, which the bare enum cannot convey. It stops short of explaining the semantic difference between enum values (wire vs ach vs pix).

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 and resource ('Returns the fields a bank account needs for a payout rail') and immediately scopes it to the pre-creation validation use case. It is clearly distinguished from sibling GetV1AvailableRails, which it names as the source for valid rail values.

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 says when to call it ('so a recipient form can collect and validate them before calling create bank account') and names the companion endpoint for obtaining the required `rail` input. Both the when and the prerequisite lookup are spelled out.

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

GetV1AvailableNaicsGet Available NaicsC
Read-onlyIdempotent
Inspect

NAICS list

NameRequiredDescriptionDefault

No parameters

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds nothing beyond that — no statement about caching, stability, or how results are returned — so it contributes no behavioral context of its own.

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

Conciseness2/5

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

Two words with no structure is under-specification rather than conciseness. There is nothing to front-load because nothing is stated, so brevity here costs the agent information rather than saving it.

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

Completeness2/5

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

A zero-parameter read tool with no output schema is simple, but the description still leaves open what a NAICS list contains and in what form. For a reference-data lookup, one sentence on the returned code set would have closed the gap.

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 takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. The empty schema is self-explanatory on its own.

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

Purpose2/5

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

"NAICS list" only restates the title "Get Available Naics" and adds no verb, scope, or resource detail. An agent learns nothing about what NAICS codes are returned or whether they are global reference data versus instance-specific.

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 when-to-use guidance and no mention of alternatives. The sibling tools GetV1AvailableRails and GetV1AvailableBankDetails occupy the same 'available reference data' family, and the description does nothing to distinguish this lookup from them.

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

GetV1AvailableRailsGet Available RailsA
Read-onlyIdempotent
Inspect

Lists every payout rail BlindPay supports (ACH, domestic wire, RTP, PIX, SPEI, SEPA, SWIFT, and more) as { label, value, country }. Pass value as the rail query parameter of GET /v1/available/bank-details, and as the type when creating a bank account. country is an ISO 3166-1 alpha-2 flag hint for display, not a statement of coverage. Public: no API key required.

NameRequiredDescriptionDefault

No parameters

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/idempotent/non-destructive profile, and the description adds materially: the exact response shape `{ label, value, country }`, the fact that no API key is required (public endpoint), and a caveat that `country` is a display flag hint rather than a coverage guarantee. The last point preempts a very likely agent misinterpretation.

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 filler: identity of the resource first, downstream usage second, response shape and caveat last. The auth note is appended rather than buried, and nothing is repeated from the schema or annotations.

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 public list endpoint with no output schema, the description supplies the return shape, the field meanings, the auth requirement, and the consumption path. An agent has everything needed to call it and use the result 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?

There are zero input parameters, so the baseline is 4 by rule. The description instead spends its words documenting output field semantics (`value` vs `country`), which is useful but not strictly a parameter concern.

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 and resource ('Lists every payout rail BlindPay supports') and enumerates the actual values returned, so an agent knows exactly what comes back. It is clearly distinguishable from GetV1AvailableBankDetails, which it names as the downstream consumer.

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?

Explains where the returned `value` is consumed — as the `rail` query parameter of `GET /v1/available/bank-details` and as the `type` when creating a bank account — which effectively positions this as a prerequisite discovery call. It stops short of an explicit when-not or a stated alternative, so it lands just under a perfect score.

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

GetV1AvailableSwiftBySwiftGet Available Swift By SwiftC
Read-onlyIdempotent
Inspect

Swift code bank details

NameRequiredDescriptionDefault
swiftYes

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is fully covered without the description. The description adds nothing beyond that — no disclosure of what 'bank details' contains, whether unknown SWIFT codes return empty or error, or whether responses are cached.

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

Conciseness2/5

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

At four words this is under-specified rather than concise. Brevity is not a virtue here because there is no front-loaded statement of what the tool returns or when to use it.

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

Completeness2/5

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

With no output schema, the description is the only place a caller could learn what 'bank details' means (name, address, country, BIC branch info, etc.), and it does not say. For a lookup tool returning an undocumented payload, this leaves a real gap even though the annotations are rich.

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 0%, but the schema itself carries strong structural constraints (8- or 11-character uppercase alphanumeric pattern, example BOFAUS3NLMA) that make the parameter's format evident. The description contributes no additional semantics such as whether BIC8/BIC11 branches differ in result, so it neither harms nor helps.

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

Purpose2/5

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

"Swift code bank details" is a noun phrase that essentially restates the tool name (Get Available Swift By Swift). It implies a lookup of bank information keyed by SWIFT code, but gives no verb, no scope, and no differentiation from siblings such as GetV1AvailableBankDetails or GetV1AvailableNaics, which follow the same lookup pattern.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no mention of alternatives, and no stated preconditions. An agent cannot tell from this description why it would call this lookup rather than GetV1AvailableBankDetails, nor what counts as a valid input beyond the schema regex.

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

GetV1InstancesBillingFeesGet Instances Billing FeesB
Read-onlyIdempotent
Inspect

Get all fees for an instance, sorted by payment method (fiat first, then blockchain)

NameRequiredDescriptionDefault
instance_idYesInstance id

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds the non-obvious return ordering (fiat before blockchain), which is real added value, but says nothing about pagination, completeness of the list, or time-range limits.

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?

A single front-loaded sentence with the verb and resource first and the ordering caveat second. Nothing is wasted, though it is arguably too short for the information an agent needs.

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

Completeness3/5

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

With no output schema, the description would ideally say something about what a fee record contains (amounts, currencies, payment-method grouping). For a simple one-parameter read tool it is adequate but leaves the return shape entirely unstated.

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?

Only one parameter and schema description coverage is 100%, so the schema fully documents instance_id. The description adds no extra meaning about the parameter's format or constraints, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ("Get all fees for an instance") and adds the ordering rule. It does not distinguish itself from the similarly named GetV1InstancesPartnerFees sibling, so an agent must infer which fee source applies.

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 when-to-use, when-not-to-use, or named alternative. The scope phrase "for an instance" only implies usage; nothing tells the agent why to pick this over GetV1InstancesPartnerFees.

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

GetV1InstancesByIdGet Instances By IdA
Read-onlyIdempotent
Inspect

Returns the instance your API key or connection is bound to. Check type before moving money: development simulates settlement and moves no real funds, production moves real funds. onboarding_step is completed once the instance can transact.

NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare this as a safe, idempotent read. The description adds valuable domain context beyond annotations, especially that `development` simulates settlement while `production` moves real funds, and that `onboarding_step=completed` means the instance can transact.

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 three short sentences with no filler. The core purpose is front-loaded, followed by the most important safety and onboarding context.

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 read operation with rich safety annotations and no output schema, the description provides enough behavioral context to interpret key fields safely. The main remaining gap is the unexplained `id` parameter.

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

Parameters2/5

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

The schema has 0% description coverage for the single required `id` parameter, and the description does not explain what `id` represents, its expected format, or how it relates to the bound instance. It leaves the only parameter semantically undocumented.

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 and resource: it returns the instance tied to the API key or connection. It is clear enough to distinguish this as an instance lookup tool, though it does not explicitly reinforce the `id`-based selection from the tool name.

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?

It gives useful conditional guidance to check `type` before moving money and explains what `onboarding_step` means. However, it does not explicitly say when to use this tool versus sibling instance or onboarding tools.

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

GetV1InstancesCustomersGet Instances CustomersD
Read-onlyIdempotent
Inspect

Retrieve Customers

NameRequiredDescriptionDefault
limitNoNumber of items to return
offsetNoNumber of items to skip
statusNo
countryNo
full_nameNo
customer_idNo
instance_idYes
customer_nameNo
ending_beforeNoA cursor for use in pagination. ending_before is an object ID that defines your place in the list.
starting_afterNoA cursor for use in pagination. starting_after is an object ID that defines your place in the list.
bank_account_idNo

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered elsewhere. The description adds nothing beyond that — no mention of how results are ordered, whether pagination is cursor- or offset-based despite both being supported, or what the response contains.

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

Conciseness2/5

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

Two words are not wasteful in themselves, but the brevity here reflects under-specification rather than efficiency. There is no front-loaded scope statement because there is no scope content at all.

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

Completeness2/5

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

For an 11-parameter list endpoint with no output schema, a vague two-word description leaves an agent unable to know what filters combine, how the two pagination styles interact, or what a returned customer looks like. Annotations cover safety but not the operational details an agent needs to call this correctly.

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

Parameters1/5

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

With 11 parameters and only 36% schema description coverage, the description carries the burden of explaining limit/offset/ending_before/starting_after interplay and the filter fields (status, country, full_name, customer_id, bank_account_id) — but it explains none of them. Undocumented enum and filter behavior is left entirely ambiguous.

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

Purpose2/5

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

"Retrieve Customers" names a verb and a resource, but it is essentially a restatement of the tool name/title and adds no scope. It does not say whether this lists customers within an instance, what filters are supported, or how it differs from the many sibling customer tools (GetV1InstancesCustomersById, PostV1InstancesCustomers).

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 when-to-use guidance, no mention of pagination or filtering expectations, and no reference to alternatives such as the by-ID variant. The only hint is the instance_id requirement, which comes from the schema, not the description.

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

GetV1InstancesCustomersBankAccountsGet Instances Customers Bank AccountsC
Read-onlyIdempotent
Inspect

Retrieve Bank Accounts

NameRequiredDescriptionDefault
nameNo
typeNo
statusNo
countryNo
customer_idYesCustomer ID
instance_idYes
bank_account_idNo

TDQS

C2/5.0
Behavior2/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 nothing about filtering behavior, pagination, or result scope for a read-only list tool.

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

Conciseness2/5

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

Three words is not conciseness but under-specification; nothing is wasted, but nothing meaningful is conveyed either. The brevity leaves no front-loaded information for an agent to act on.

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

Completeness1/5

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

A 7-parameter, 2-enum filtering endpoint with no output schema and no annotations covering return shape needs far more than a two-word phrase. An agent cannot tell what filters are supported or what the response contains.

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

Parameters1/5

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

Schema description coverage is only 14% across 7 parameters, and the description provides no parameter information at all. The filtering semantics of name, type, status, country, and bank_account_id — plus the two enum vocabularies — are left entirely undocumented.

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

Purpose3/5

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

"Retrieve Bank Accounts" names a verb and resource, but gives no hint of scope (list vs. single record) or how it differs from siblings like GetV1InstancesCustomersBankAccountsById or GetV1InstancesCustomersBankAccountsOfframpWallets. An agent must infer from the required instance_id/customer_id pair that this lists bank accounts for a customer.

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 statement of when to use this tool versus the by-ID getter, the Plaid-linked creation endpoint, or the off-ramp wallet variants. The plural resource name is the only implicit usage cue.

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

GetV1InstancesCustomersBankAccountsByIdGet Instances Customers Bank Accounts By IdC
Read-onlyIdempotent
Inspect

Retrieve Bank Account

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered structurally. The description adds nothing beyond that — no note on what is returned, whether a missing ID yields 404, or whether the bank account is fetched live from an external rail (relevant given openWorldHint).

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?

Two words, front-loaded, zero waste — but the terseness is under-specification rather than efficiency. It is appropriately sized only in the sense that it says almost nothing.

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

Completeness2/5

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

Three required path-style parameters, no output schema, and partially documented IDs mean the description should carry more weight. It does not explain the identifier format, error behavior, or the relationship between customer_id and the bank account, so an agent has gaps to fill by guessing.

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

Parameters2/5

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

Schema coverage is only 33% — only customer_id has a description, while id and instance_id are documented solely by example/length constraints. The description does not compensate by explaining the required hierarchy (instance → customer → bank account) or the expected prefixed ID formats.

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

Purpose2/5

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

"Retrieve Bank Account" restates the name/title rather than describing scope or behavior. It does not distinguish this single-item fetch from siblings like GetV1InstancesCustomersBankAccounts (list) or DeleteV1InstancesCustomersBankAccountsById.

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 guidance on when to use this versus the list endpoint, nor on prerequisites such as whether the customer must belong to the instance or an existing bank account ID format. The agent is left to infer everything from the URL-shaped name.

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

GetV1InstancesCustomersBankAccountsOfframpWalletsGet Instances Customers Bank Accounts Offramp WalletsD
Read-onlyIdempotent
Inspect

Get Offramp Wallets

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
bank_account_idYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered by structured fields. The description adds nothing beyond that — no note that results are scoped to a single bank account, no ordering, no empty-result or pagination behavior. Not contradictory, but purely redundant.

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?

Three words, front-loaded, zero waste — but the brevity is under-specification rather than economy, since there is no substantive content to be concise about.

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

Completeness2/5

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

A three-required-parameter, three-segment-path retrieval tool with no output schema and only partial schema coverage needs the description to say what is returned and how the IDs relate. The description says none of that, so an agent must infer the entire contract from parameter names.

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

Parameters2/5

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

Schema description coverage is 33%: only customer_id carries a description ("Customer ID"), while instance_id and bank_account_id are documented only by name, example, and length constraint. The description compensates for none of this and never explains that bank_account_id scopes the wallet list.

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

Purpose2/5

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

"Get Offramp Wallets" only restates the title and last path segment; it adds no verb-level detail about what is retrieved or in what shape. It does not distinguish itself from the sibling GetInstancesCustomersBankAccountsOfframpWalletsById, which reads identically apart from the singular/plural trailing segment.

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

Usage Guidelines1/5

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

No when-to-use, when-not-to-use, or alternative routing is given. With many near-identical siblings (wallets, blockchain wallets, virtual accounts, bank accounts), an agent has no basis to prefer this tool over those.

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

GetV1InstancesCustomersBlockchainWalletsGet Instances Customers Blockchain WalletsC
Read-onlyIdempotent
Inspect

Retrieve Blockchain Wallets

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds nothing beyond that — no scoping behavior, no pagination or filtering note, no hint that results are limited to one customer's wallets.

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

Conciseness2/5

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

Three words are concise but under-specified rather than efficient: for a list endpoint with eight same-family siblings, the description should be doing routing work and is not. Nothing is front-loaded because there is nothing to load.

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

Completeness2/5

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

No output schema exists, so the description should at least characterize what comes back (a list of blockchain wallets for a customer). It does not, and nothing compensates for the 50% parameter coverage or the dense sibling cluster.

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

Parameters2/5

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

Schema description coverage is only 50%: customer_id has a bare schema description ("Customer ID") and instance_id has none at all. The description contributes no parameter meaning, so the gap in the schema is left entirely unfilled.

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

Purpose3/5

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

"Retrieve Blockchain Wallets" names a verb and a resource, so the basic operation is clear, but it is essentially a restatement of the tool name/title. It never says this is a list endpoint scoped to one customer within one instance, nor does it distinguish it from closely-named siblings such as ...BlockchainWalletsById or ...BlockchainWalletsSignMessage.

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 when-to-use or when-not-to-use guidance at all. With siblings like GetV1InstancesCustomersBlockchainWalletsById, PostV1InstancesCustomersBlockchainWallets, and GetV1InstancesCustomersBlockchainWalletsSignMessage, the agent gets no help choosing this tool over them.

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

GetV1InstancesCustomersBlockchainWalletsByIdGet Instances Customers Blockchain Wallets By IdC
Read-onlyIdempotent
Inspect

Retrieve Blockchain Wallet

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes

TDQS

C2.1/5.0
Behavior2/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 without the description's help. The description adds nothing beyond that: no note on what the wallet record contains, whether it covers EVM/Solana/Stellar chains, or what happens on a missing or mismatched ID.

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?

Three words with zero waste and front-loaded, but that brevity comes from under-specification rather than disciplined editing. There is no structure to speak of and nothing to route the agent.

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

Completeness2/5

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

For a tool requiring three opaque prefixed identifiers and returning a wallet object with no output schema, the description should say what is returned and how errors surface. It provides none of that, leaving the nested instance/customer/wallet hierarchy entirely implicit.

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

Parameters2/5

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

Schema description coverage is only 33% - both 'id' and 'instance_id' are left undocumented in the schema, and the description does not compensate at all. The 15-character prefixed identifier format (bk_/in_/re_) and the containment relationship between instance, customer and wallet ID are never explained.

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

Purpose2/5

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

The description 'Retrieve Blockchain Wallet' essentially restates the tool name and title with no additional specification. It does signal a read of a single wallet resource, but never contrasts with the sibling list endpoint (GetV1InstancesCustomersBlockchainWallets) or the sign-message variant, so an agent still has to infer that the 'ById' suffix means a single-record fetch.

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?

No when-to-use guidance, no prerequisites, no mention of alternatives. The agent is left to infer from the tool name alone that this is the single-wallet lookup path versus the list or sign-message siblings.

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

GetV1InstancesCustomersBlockchainWalletsSignMessageGet Instances Customers Blockchain Wallets Sign MessageC
Read-onlyIdempotent
Inspect

Retrieve Blockchain Wallet Message

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes

TDQS

C2.4/5.0
Behavior2/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 safety is covered. The description adds nothing beyond the annotations—it doesn't say what message is produced, the signing flow, or any auth requirements, so it fails to add useful behavioral context.

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?

It is a single short phrase with no wasted words, but it is under-specified rather than genuinely concise—brevity here sacrifices clarity.

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

Completeness2/5

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

For a two-parameter read tool with no output schema, the description should explain what is returned (e.g., a message to be signed) and how it relates to the wallet ID and customer. Instead it leaves the return semantics and the sign-message flow entirely unexplained.

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

Parameters2/5

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

Schema coverage is only 50% (customer_id is described, instance_id is not), and the description mentions neither parameter. It does nothing to compensate for the missing instance_id documentation.

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

Purpose3/5

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

The description pairs the verb 'Retrieve' with 'Blockchain Wallet Message', but the tool name says 'SignMessage', leaving it ambiguous whether the tool signs or merely fetches a message to be signed. It also doesn't distinguish itself from the many sibling blockchain-wallet tools such as GetV1InstancesCustomersBlockchainWalletsById.

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 statement of when to use this tool versus alternatives, and no prerequisites or context are given. An agent must infer usage purely from the awkward name.

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

GetV1InstancesCustomersByIdGet Instances Customers By IdC
Read-onlyIdempotent
Inspect

Retrieve Customer

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing beyond that — no mention of instance scoping, error behavior for an unknown id, or whether the customer record is expanded with related objects.

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

Conciseness2/5

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

Two words with nothing wasted, but this is under-specification rather than conciseness. There is no front-loaded scope or routing information for the agent to act on.

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

Completeness2/5

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

For a lookup-by-id tool with no output schema and zero parameter documentation, the description should explain the required identifiers, what a returned customer contains, and how it differs from the list and mutate siblings. None of that is present.

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

Parameters2/5

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

Schema description coverage is 0% and the description says nothing about the two required parameters. The schema's example values (re_…, in_… with 15-char bounds) hint at the id formats, but the description does not compensate for the missing semantics at all.

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

Purpose2/5

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

"Retrieve Customer" is a bare restatement of the tool name/title with no added specificity. It does not clarify that this fetches a single customer scoped to an instance, nor how it relates to the sibling GetV1InstancesCustomers (list) or Put/DeleteV1InstancesCustomersById.

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?

No when-to-use guidance, no prerequisites, and no mention of alternatives, despite the family containing GetV1InstancesCustomers (list), PutV1InstancesCustomersById (update) and DeleteV1InstancesCustomersById (remove). The agent must infer selection from the tool name alone.

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

GetV1InstancesCustomersLimitIncreaseGet Instances Customers Limit IncreaseC
Read-onlyIdempotent
Inspect

Retrieve Limit Increase Requests

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false. The description adds no additional behavioral context such as pagination, authorization requirements, response shape, or scoping by customer/instance.

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 brief and front-loaded, but it is an under-specified fragment rather than a structured explanation. It is concise without wasting words, yet it omits useful context.

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

Completeness2/5

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

For a read-only retrieval endpoint with no output schema, the description should clarify what is returned and how the required identifiers scope the result. Instead, it only restates the resource name, leaving return and filtering behavior unspecified.

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

Parameters2/5

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

Schema description coverage is only 50%, and the description does not explain either required parameter. It does not clarify how instance_id and customer_id scope the limit increase requests being retrieved.

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 verb and resource, "Retrieve Limit Increase Requests," so the basic operation is clear. However, it does not distinguish this list-style GET from siblings such as PostV1InstancesCustomersLimitIncrease or GetV1InstancesLimitsCustomersById, leaving scope ambiguous.

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 guidance on when to use this tool versus creating a limit increase request or fetching customer limits through another endpoint. No prerequisites or filtering context are provided.

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

GetV1InstancesCustomersRfiGet Instances Customers RfiA
Read-onlyIdempotent
Inspect

Returns the open (pending) RFI for this customer, or null if the customer has no pending RFI.

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, non-destructive, and open-world. The description adds genuine behavioral content beyond them: only the open (pending) RFI is returned, not resolved ones, and a null result is the documented no-RFI case rather than an error.

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?

One sentence, front-loaded with the verb and resource, and the null-result caveat is appended without waste. Nothing could be removed without losing information.

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

Completeness3/5

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

With no output schema, the description must carry the return contract; it says an RFI (or null) comes back but not what an RFI contains or whether more than one can be pending. Adequate to call correctly, thin for interpreting the result.

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 50% — customer_id is documented, instance_id is not — and the description adds no format or meaning for either parameter. It neither compensates for the gap nor adds value 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?

States a specific verb (returns), resource (the open/pending RFI), and scope (for this customer), which separates it from the sibling GetV1InstancesRfi (instance-level) and PostV1InstancesCustomersRfi (creation). It does not name those siblings explicitly, so it falls short of a 5.

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?

Usage is only implied by the read semantics: an agent can infer this is the lookup to call when checking whether a customer has an outstanding RFI. There are no explicit when-to-use/when-not conditions and no alternative named.

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

GetV1InstancesCustomersVirtualAccountsGet Instances Customers Virtual AccountsC
Read-onlyIdempotent
Inspect

Retrieve Virtual Accounts

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered. The description adds nothing beyond that — no note on pagination, result size, ordering, filters, or what happens when the customer has no virtual accounts — so it earns little credit above 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.

Conciseness3/5

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

The description is two words long with zero waste, which is maximally concise, but the terseness crosses into under-specification rather than efficient front-loading. There is no structure to speak of and nothing to prioritize for the reader.

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

Completeness2/5

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

For an open-world, idempotent read endpoint with no output schema, the description should at least indicate the shape of the return (a collection of virtual accounts scoped to a customer) and any pagination behavior. With rich annotations carrying safety, the missing pieces are about output and scoping, and neither is addressed.

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

Parameters2/5

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

Schema description coverage is only 50%: customer_id is documented while instance_id has no description at all. The description mentions neither required parameter, so it does not compensate for the gap — it gives no hint that both IDs are mandatory path-style identifiers with a 15-character fixed format.

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

Purpose3/5

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

The description states a verb ('Retrieve') and a resource ('Virtual Accounts'), so the general intent is inferable and the plural resource hints at a list operation. However, it does not establish scope (all virtual accounts for a given customer vs. a single account) nor differentiate from the adjacent GetV1InstancesCustomersVirtualAccountsById sibling, leaving the agent to infer from the tool name alone.

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 statement of when to use this tool versus the many siblings in the same namespace, including GetV1InstancesCustomersVirtualAccountsById, PostV1InstancesCustomersVirtualAccounts, and PutV1InstancesCustomersVirtualAccountsById. The agent must guess that the plural form means 'list' from naming conventions rather than from any explicit guidance.

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

GetV1InstancesCustomersVirtualAccountsByIdGet Instances Customers Virtual Accounts By IdD
Read-onlyIdempotent
Inspect

Retrieve Virtual Account

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description contributes nothing beyond that — no note on what is returned, error behavior for a missing virtual account, or scoping to instance/customer.

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

Conciseness2/5

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

It is a three-word fragment with no waste but also no information density; brevity here reflects under-specification rather than disciplined conciseness. Nothing is front-loaded because there is nothing to front-load.

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

Completeness1/5

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

For a tool requiring three opaque prefixed identifiers with no output schema, the description should explain the instance/customer/virtual-account hierarchy and expected response. None of that is present, leaving the definition inadequate for correct invocation.

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

Parameters2/5

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

Schema description coverage is only 33% — customer_id has a 'Customer ID' description, while id and instance_id rely solely on 15-character examples. The description does not compensate at all, leaving ambiguity about the id prefix types (bk_ vs re_ vs in_) and the parent-child scoping among the three required IDs.

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

Purpose2/5

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

The description is 'Retrieve Virtual Account', which essentially restates the tool name and title without adding scope. It never distinguishes this single-record fetch from the sibling list endpoint GetV1InstancesCustomersVirtualAccounts or the nearby update/delete variants.

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 guidance on when to use this tool versus the collection endpoint GetV1InstancesCustomersVirtualAccounts or PutV1InstancesCustomersVirtualAccountsById. An agent must infer selection purely from the tool name's 'ById' suffix.

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

GetV1InstancesCustomersWalletsGet Instances Customers WalletsC
Read-onlyIdempotent
Inspect

Retrieve Wallets

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare this as read-only, idempotent, open-world, and non-destructive. The description adds no behavioral context such as pagination, filters, auth requirements, or response shape, so it contributes almost nothing beyond the annotations and name.

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

Conciseness2/5

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

It is extremely short, but the brevity reflects under-specification rather than efficient communication. Two words do not adequately front-load the endpoint's scope or distinguish it from sibling wallet tools.

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

Completeness2/5

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

Given the dense sibling namespace, 50% schema coverage, and no output schema, the description is insufficient for reliable selection and invocation. It omits key distinctions between list and by-ID wallet operations and does not explain the return behavior.

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

Parameters2/5

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

Schema description coverage is only 50%: customer_id is described, but instance_id is not. The description provides no parameter guidance at all, so it does not compensate for the undocumented instance_id or clarify scoping.

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

Purpose3/5

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

The description says 'Retrieve Wallets,' which gives a verb and a resource but does not clarify whether this lists wallets, returns a single wallet, or how it differs from GetV1InstancesCustomersWalletsById or the BlockchainWallets siblings. The intent is only minimally interpretable from the name.

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?

No when-to-use guidance is provided. It does not explain when to use this list endpoint versus GetV1InstancesCustomersWalletsById, BlockchainWallets, or wallet balance/deposit endpoints, leaving the agent to infer from naming conventions.

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

GetV1InstancesCustomersWalletsBalanceGet Instances Customers Wallets BalanceB
Read-onlyIdempotent
Inspect

Returns the balance of a BlindPay-managed wallet for USDC, USDT and USDB. Unlike quote and payout amounts, these values are whole tokens, not cents: amount 10.5 means 10.5 USDC. total_amount is amount plus earning_amount from yield.

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior, so the description's real contribution is the non-obvious unit convention (whole tokens, not cents) and the composition of total_amount as amount plus earning_amount. That prevents a serious misinterpretation of returned values. It doesn't cover what happens when the wallet has no balance or when a currency is absent.

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, front-loaded with the core action and followed by the one clarification that matters most (units), then the field formula. No filler.

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

Completeness3/5

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

With no output schema, the description partially pays off by explaining amount, earning_amount, and total_amount, but leaves the rest of the response shape, error/empty cases, and parameter roles unaddressed. Adequate but with clear gaps for a three-required-parameter lookup.

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

Parameters2/5

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

Schema description coverage is only 33%; only customer_id has any documentation, and neither instance_id nor the path id have descriptions or format guidance beyond examples. The description adds no meaning for any of the three required parameters, so it fails to compensate for the schema gap.

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

Purpose4/5

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

States a specific verb and resource: returns the balance of a BlindPay-managed wallet, with named currencies. It doesn't differentiate itself from close siblings like GetV1InstancesCustomersWallets, GetV1InstancesCustomersWalletsById, or GetV1InstancesCustomersWalletsYield, which an agent could easily confuse it with.

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?

No explicit guidance on when to call this versus fetching the wallet list or the yield endpoints; usage is only implied by the word 'balance'. There are no exclusions, prerequisites, or named alternatives despite a crowded wallet-related sibling set.

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

GetV1InstancesCustomersWalletsByIdGet Instances Customers Wallets By IdD
Read-onlyIdempotent
Inspect

Retrieve Wallet

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes

TDQS

D1.7/5.0
Behavior2/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 structurally. The description adds nothing beyond that — no mention of authorization scoping on instance_id/customer_id, no pagination or not-found behavior, and no disclosure beyond what annotations give.

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

Conciseness2/5

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

Two words, so there's no bloat, but this is under-specification rather than conciseness. There is no front-loaded content an agent can act on beyond the bare verb.

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

Completeness1/5

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

A three-required-parameter retrieval tool with no output schema and incomplete parameter documentation needs the description to explain what it returns and how the identifiers combine. Nothing in "Retrieve Wallet" fills that gap for an agent choosing among ~90 sibling endpoints.

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

Parameters2/5

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

Schema description coverage is only 33%; only customer_id has a description ("Customer ID"), and the required `id` wallet identifier has none. The description does not compensate by explaining that the 15-character bk_ prefixed id is the wallet identifier scoped to a customer within an instance.

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

Purpose2/5

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

"Retrieve Wallet" is essentially a restatement of the tool name and title (Get...Wallets...ById) rather than a description. It gives no detail about what a wallet record contains, what scope the retrieval covers, or how it differs from siblings like GetV1InstancesCustomersWallets (the list version) or GetV1InstancesCustomersWalletsBalance.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus the many adjacent wallet endpoints (list, balance, deposits, yield, blockchain wallets). The description provides no conditions, prerequisites, or alternatives.

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

GetV1InstancesCustomersWalletsDepositsGet Instances Customers Wallets DepositsC
Read-onlyIdempotent
Inspect

Incoming stablecoin deposits to a managed wallet, newest first.

NameRequiredDescriptionDefault
idYes
limitNoNumber of items to return
tokenNo
statusNo
customer_idYesCustomer ID
instance_idYes
ending_beforeNoA cursor for use in pagination. ending_before is an object ID that defines your place in the list.
starting_afterNoA cursor for use in pagination. starting_after is an object ID that defines your place in the list.

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds the useful 'newest first' ordering trait, but says nothing about pagination semantics or return shape. Modest value on top of 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?

A single tight sentence with zero waste, and the ordering detail is front-loaded. It is efficient, though the brevity comes at the cost of the guidance dimensions above.

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

Completeness2/5

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

For a paginated list endpoint with 8 parameters (3 required), no output schema, and the wallet/payin sibling set, the description is too thin. It omits that results are paginated, what filters exist, and how this differs from related wallet and payin tools.

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

Parameters2/5

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

Schema coverage is only 50% across 8 parameters, and the description explains none of them — not the required ids, nor the token/status filters, nor the limit/cursor pagination. With low coverage the description should compensate for the undocumented parameters, and it does not.

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

Purpose3/5

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

States the resource ('incoming stablecoin deposits to a managed wallet') and gives ordering ('newest first'), but never uses an explicit verb like 'list' and does not distinguish it from wallet-adjacent siblings such as GetV1InstancesCustomersWalletsYieldTransactions or GetV1InstancesCustomersWalletsById. The intent is inferable from the name but not clearly established in the prose.

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?

No statement of when to use this tool versus alternatives, and no mention of prerequisites or the relationship to the wallet/payins siblings. The agent must infer usage entirely from the name.

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

GetV1InstancesCustomersWalletsYieldGet Instances Customers Wallets YieldC
Read-onlyIdempotent
Inspect

Retrieve Wallet Yield

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes

TDQS

C2.3/5.0
Behavior2/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 for free. The description adds nothing beyond that — no indication of what data is returned, whether it reflects live accrual, or any rate/size considerations that would matter for a yield endpoint.

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

Conciseness2/5

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

Two words is not concision but under-specification; there is no front-loaded context an agent can act on. Nothing is wasted, but nothing earns its place either because there is almost nothing there.

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

Completeness2/5

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

Three required parameters with no output schema means the description must carry the burden of explaining what comes back and how the IDs combine, and it does not. Given the crowded yield sub-family, this leaves the agent with insufficient information to call the tool confidently.

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

Parameters2/5

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

Schema description coverage is only 33%, and the sole documented parameter (customer_id) is described only as "Customer ID," which is tautological. Critically, the description does not clarify what the required `id` is (wallet ID? yield position ID?) or what `instance_id` scopes, so the ambiguous parameter is left entirely to guesswork.

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

Purpose3/5

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

States a verb (Retrieve) and a resource (Wallet Yield), but "Wallet Yield" is ambiguous — the sibling set contains YieldEnable, YieldDisable, YieldHistory, and YieldTransactions, and the description gives no clue which facet of yield this returns (current configuration vs. accrued amount). An agent cannot reliably distinguish it from GetV1InstancesCustomersWalletsYieldHistory without inferring from the tool name alone.

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 guidance on when to use this versus the four sibling yield tools, nor any stated prerequisites (e.g., whether yield must be enabled first). Usage must be inferred entirely from naming conventions.

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

GetV1InstancesCustomersWalletsYieldHistoryGet Instances Customers Wallets Yield HistoryC
Read-onlyIdempotent
Inspect

Retrieve Wallet Yield History

NameRequiredDescriptionDefault
idYes
toNoLast day, UTC, inclusive. Defaults to today.
fromNoFirst day, UTC, inclusive. Defaults to 30 days before `to`. The window is capped at 366 days.
tokenNo
customer_idYesCustomer ID
instance_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered elsewhere. The description adds no behavioral context of its own — no mention of pagination, the 366-day window cap, or what a yield history record contains.

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?

Three words, front-loaded, zero waste — but the brevity is under-specification rather than discipline. There is no sentence that earns its place because there is essentially only the title.

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

Completeness2/5

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

With 6 parameters (3 required), no output schema, and an undocumented token enum, an agent needs more to call this correctly. The description does not explain what a wallet yield history returns, whether results are time-bucketed, or how it differs from the related yield-transactions endpoint.

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

Parameters2/5

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

Schema coverage is only 50%: the 'id', 'instance_id' and 'token' parameters carry no description, and 'id' is a required 15-char wallet identifier that is easily confused with the sibling paths. The description does nothing to clarify parameter meaning, so it fails to compensate for the coverage gap.

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

Purpose3/5

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

The phrase 'Retrieve Wallet Yield History' names a verb and resource, so an agent can roughly tell what it returns. But it is essentially the title restated and does not distinguish it from sibling tools like GetV1InstancesCustomersWalletsYield or GetV1InstancesCustomersWalletsYieldTransactions, leaving the yield-history variant ambiguous.

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 guidance on when to call this versus the other wallet-yield endpoints (Yield, YieldTransactions, YieldEnable/Disable) or the plain wallet endpoints. The only hint at usage is the schema's from/to defaults, which is not in the description.

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

GetV1InstancesCustomersWalletsYieldTransactionsGet Instances Customers Wallets Yield TransactionsC
Read-onlyIdempotent
Inspect

Retrieve Wallet Yield Transactions

NameRequiredDescriptionDefault
idYes
limitNoNumber of items to return
tokenNo
offsetNoNumber of items to skip
customer_idYesCustomer ID
instance_idYes
ending_beforeNoA cursor for use in pagination. ending_before is an object ID that defines your place in the list.
starting_afterNoA cursor for use in pagination. starting_after is an object ID that defines your place in the list.

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that — no mention of pagination behavior, result ordering, or that it is a per-wallet scoped list.

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

Conciseness2/5

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

The single phrase is short but that shortness reflects under-specification rather than efficiency. It is front-loaded but carries no actionable content.

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

Completeness2/5

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

For an 8-parameter, 3-required-parameter endpoint with no output schema and partial schema descriptions, the description omits pagination semantics, filtering behavior, and return shape. It is not nearly complete enough for an agent to call it confidently.

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

Parameters2/5

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

With 8 parameters and only 63% schema description coverage, the description needs to compensate but supplies zero parameter meaning. Key parameters like 'id', 'token', and 'instance_id' lack descriptions in the schema and get no explanation here, and the cursor/limit interaction is unaddressed.

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

Purpose2/5

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

The description 'Retrieve Wallet Yield Transactions' restates the tool name and title almost verbatim, adding no scope or detail. It does not distinguish this tool from close siblings such as GetV1InstancesCustomersWalletsYieldHistory or GetV1InstancesCustomersWalletsYield.

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 guidance on when to use this tool versus the several sibling yield/wallet endpoints, and no mention of prerequisites such as requiring a wallet that has yield enabled. The agent must infer usage entirely from the name.

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

GetV1InstancesLimitsCustomersByIdGet Instances Limits Customers By IdC
Read-onlyIdempotent
Inspect

Retrieve Customer Limits

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

C2/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description is consistent with a plain read. However, it adds nothing beyond that — no indication of whether the response is a single limits object, whether limits are per-customer or per-instance, or how missing limits are surfaced.

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

Conciseness2/5

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

Two words are trivially concise but are under-specification rather than economy; there is no front-loaded scope or constraint because there is almost no content at all.

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

Completeness1/5

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

For a two-parameter lookup inside a very large, densely overlapping sibling set, with no output schema and no annotation beyond safety hints, the definition supplies none of the disambiguating context an agent needs to call it correctly.

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

Parameters1/5

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

Schema description coverage is 0% and both required parameters ('id' and 'instance_id') are documented only by string-length constraints and an example. The description never clarifies whether 'id' refers to a customer ID or a limits record ID, so it fails to compensate for the coverage gap.

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

Purpose3/5

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

The description says 'Retrieve Customer Limits', which identifies a verb and a resource, so an agent can guess the general operation. But it gives no scope or qualifier detail and does nothing to distinguish this from close siblings like GetV1InstancesCustomersById, GetV1InstancesCustomersLimitIncrease, or GetV1InstancesCustomers.

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 statement of when to use this tool, when not to, or which sibling to prefer. In a sibling set containing both customer reads and limit-increase reads, that omission leaves selection entirely to inference from the name.

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

GetV1InstancesMembersGet Instances MembersC
Read-onlyIdempotent
Inspect

Retrieve Instance Members

NameRequiredDescriptionDefault
idYes

TDQS

C2.3/5.0
Behavior2/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 structurally. The description adds nothing beyond that: no pagination behavior, no authorization scope (instance-level vs user-level), and no hint about result shape, which matters for an openWorldHint endpoint.

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?

Extremely short and front-loaded with zero waste, but the brevity comes from under-specification rather than efficiency. It reads as a title, not a usable definition.

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

Completeness2/5

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

With no output schema and no annotation-level detail covering return contents, the description should at least say what a member record contains or how the list is scoped. It omits everything an agent would need beyond the bare id argument.

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 required parameter `id` has 0% schema description coverage, so the schema tells the agent almost nothing about what the id refers to (instance id, per the example `in_...`). The description does not compensate, though the singular required argument with a 15-char instance-style example makes the intent guessable.

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

Purpose2/5

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

"Retrieve Instance Members" restates the tool name/title without adding a specific verb scope or distinguishing it from GetV1InstancesById. It does hint that the result is a collection (plural "Members"), but an agent cannot tell from the text alone whether it returns all members, paginated results, or a single record.

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?

No indication of when to call this versus the sibling mutators PutV1InstancesMembersByUserId and DeleteV1InstancesMembersByUserId, nor any prerequisite such as needing an instance id that actually owns members. Usage is only inferable from the tool name itself.

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

GetV1InstancesOnboardingBusinessDetailsGet Instances Onboarding Business DetailsC
Read-onlyIdempotent
Inspect

Retrieve Business Details

NameRequiredDescriptionDefault
instance_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. However, the description contributes nothing beyond that — it does not say what the onboarding business details include, whether KYC status is involved, or whether the payload can be empty pre-onboarding.

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 single phrase is front-loaded and free of padding, so nothing is wasted, but it is under-specified rather than concise. Brevity here costs information rather than saving it.

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

Completeness2/5

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

For a read tool with one required parameter and no output schema, the description should explain what the returned business details represent and their relation to onboarding state. It provides none of that, leaving the agent to guess at the response contents.

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

Parameters2/5

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

Schema description coverage is 0% for the single required parameter instance_id, and the description does not compensate at all — it never mentions the instance identifier or its format. The only parameter meaning available comes from the schema's example and length constraints, not the prose.

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

Purpose3/5

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

The description states a verb (retrieve) and a resource (business details), so the basic action is identifiable, but it adds nothing the title doesn't already say. It gives no indication of which business details or how they differ from the sibling OnboardingBusinessProfile and OnboardingOwnershipDocuments tools.

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 guidance on when to use this tool versus the many onboarding siblings (BusinessProfile, OwnershipDocuments, Rfi), nor any prerequisite or context. The agent is left to infer everything from the name.

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

GetV1InstancesOnboardingBusinessProfileGet Instances Onboarding Business ProfileC
Read-onlyIdempotent
Inspect

Retrieve Business Profile

NameRequiredDescriptionDefault
instance_idYes

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that — no information about what the profile contains, whether onboarding must be in progress, or what happens if no profile exists.

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 three-word description is as brief as possible and front-loaded, but its brevity comes from omission rather than economy — it is under-specified rather than tight.

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

Completeness2/5

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

Given the tool has no output schema and competes with a near-identically named sibling, the description should clarify scope and return content but does neither. An agent cannot determine from this text what a 'Business Profile' returns or how it differs from BusinessDetails.

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

Parameters2/5

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

Schema description coverage is 0% for the single required parameter, instance_id. The description says nothing about it, though the schema does supply a format example (in_ + 12 digits) and length constraints, which partially compensates.

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

Purpose2/5

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

The description is essentially a restatement of the tool name/title: 'Retrieve Business Profile' adds only the verb 'Retrieve' to what the name already conveys. It does not distinguish this tool from the very similar sibling GetV1InstancesOnboardingBusinessDetails, which an agent would have no basis for choosing between.

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 guidance on when to use this tool, no prerequisites, and no mention of alternatives. The closest sibling, GetV1InstancesOnboardingBusinessDetails, is never referenced, leaving the agent to infer the distinction on its own.

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

GetV1InstancesOnboardingOwnershipDocumentsGet Instances Onboarding Ownership DocumentsD
Read-onlyIdempotent
Inspect

Retrieve Business Documents

NameRequiredDescriptionDefault
instance_idYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds zero behavioral context—no note about what documents are returned, whether they are per-instance, or anything about the open-world fetch.

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 three-word phrase is efficient and front-loaded, but it is under-specified rather than genuinely concise. There is no wasted text, yet the brevity comes at the cost of meaning.

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

Completeness2/5

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

With no output schema and no parameter documentation, the description must explain what is retrieved and how instance_id scopes it. It provides neither, leaving an agent without enough to confidently invoke the tool or interpret results.

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

Parameters2/5

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

There is one parameter, instance_id, with 0% schema description coverage, so the description carries the burden of explaining it. It says nothing about instance_id, its format (a 15-character in_ ID), or what it scopes—failing to compensate for the schema gap.

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

Purpose2/5

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

The description says "Retrieve Business Documents," which gives a verb and a resource but does not name ownership documents as the tool title does, creating a mismatch. It is essentially a light restatement of the name and offers nothing to distinguish it from the dozens of sibling GET tools.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool, when not to, or which sibling to prefer. With many onboarding-related siblings like OnboardingBusinessDetails and OnboardingBusinessProfile, an agent has no basis for routing to this tool.

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

GetV1InstancesPartnerFeesGet Instances Partner FeesC
Read-onlyIdempotent
Inspect

Retrieve Partner Fees

NameRequiredDescriptionDefault
instance_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds nothing beyond that baseline: no pagination, result volume, or filtering behavior for what is an open-world read.

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?

Three words with no padding or filler, so nothing is wasted, but the brevity reflects under-specification rather than disciplined concision. It is front-loaded but has essentially no content to front-load.

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

Completeness2/5

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

For an instance-scoped list endpoint with no output schema and an undocumented parameter, the description should say what the response contains (fee records, effective dates, amounts) and whether results are paginated. Neither is present, leaving the agent to call blind.

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

Parameters2/5

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

Schema description coverage is 0% for the single required parameter, instance_id; the only help comes from the example and 15-char length constraint. The description contributes no meaning about what an instance_id is or where to obtain one, so it fails to compensate for the coverage gap.

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

Purpose3/5

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

"Retrieve Partner Fees" gives a recognizable verb and resource, matching the minimum needed to know this fetches partner fee data. But it is essentially a restatement of the title, and it does not clarify that this lists fees scoped to an instance nor how it differs from the sibling GetV1InstancesPartnerFeesById.

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 when-to-use guidance, no mention of the by-id sibling as the alternative for fetching a single fee, and no prerequisites. The agent must infer from the name alone that this is the collection/list variant.

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

GetV1InstancesPartnerFeesByIdGet Instances Partner Fees By IdD
Read-onlyIdempotent
Inspect

Retrieve Partner Fee

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered structurally. The description contributes nothing beyond that — no note on what a 404 means, whether fees are tied to an instance, or any retrieval characteristics.

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

Conciseness2/5

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

Three words is concise but dramatically under-specified rather than efficient; there is no front-loaded scope statement or qualifier to anchor the reader. Brevity here is a deficit, not a virtue.

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

Completeness2/5

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

With two required undocumented parameters, no output schema, and no annotations explaining return shape, the description should carry the burden of explaining what a Partner Fee record is and what identifying it requires. It supplies none of that.

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

Parameters1/5

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

Schema description coverage is 0%: neither `id` nor `instance_id` has any description, and the description text mentions no parameters at all. It does not even clarify that both are required nor explain the relationship between the instance and the fee ID, so it fails to compensate for the coverage gap.

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

Purpose2/5

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

The description "Retrieve Partner Fee" restates the title and name almost verbatim, adding no scope, no statement that it fetches a single fee record by ID, and no differentiation from the sibling list tool GetV1InstancesPartnerFees. An agent learns only what it could already infer from the tool name.

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?

No when-to-use guidance is given. It never contrasts itself with GetV1InstancesPartnerFees (list) or DeleteV1InstancesPartnerFeesById, which are the obvious alternatives, leaving routing entirely to the agent's guesswork about the 'ById' suffix.

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

GetV1InstancesPayablesGet Instances PayablesD
Read-onlyIdempotent
Inspect

List Payables

NameRequiredDescriptionDefault
typeNo
limitNoNumber of items to return
offsetNoNumber of items to skip
statusNo
customer_idNo
instance_idYes
customer_nameNo
ending_beforeNoA cursor for use in pagination. ending_before is an object ID that defines your place in the list.
starting_afterNoA cursor for use in pagination. starting_after is an object ID that defines your place in the list.
beneficiary_nameNo

TDQS

D1.6/5.0
Behavior2/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 nothing beyond that—no note on pagination behavior, filter combination semantics, default page size, or ordering of results.

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

Conciseness2/5

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

Two words are technically concise but represent under-specification rather than efficiency. There is nothing front-loaded because there is effectively no content.

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

Completeness1/5

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

For a 10-parameter, filter-and-paginate list endpoint with no output schema, the description is wholly inadequate—it explains neither the resource, the filters, the pagination contract (limit/offset vs. ending_before/starting_after), nor what is returned.

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

Parameters1/5

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

Ten parameters with only 40% schema description coverage, yet the description mentions none of them. The enum-bearing filters (type, status, limit, offset) and free-text filters (customer_name, beneficiary_name) are left undocumented in prose, so the description fails to compensate for the coverage gap.

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

Purpose2/5

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

"List Payables" restates the tool name/title rather than explaining what a payable is or how the listing behaves. It does not distinguish this collection endpoint from siblings like GetV1InstancesPayablesById or PostV1InstancesPayables.

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

Usage Guidelines1/5

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

There is no guidance on when to use this versus GetV1InstancesPayablesById, the create/delete payables tools, or other instance-scoped list endpoints. An agent must infer everything from the tool name and schema.

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

GetV1InstancesPayablesByIdGet Instances Payables By IdD
Read-onlyIdempotent
Inspect

Retrieve Payable

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

D1.9/5.0
Behavior2/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 fully covered structurally. The description adds nothing beyond that: no mention of what is returned, whether the record may be missing (404 behavior), or any instance-scoping or auth context.

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

Conciseness2/5

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

Two words are technically free of padding, but this is under-specification rather than conciseness. Nothing is front-loaded because there is essentially no content to structure.

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

Completeness2/5

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

For a read-only single-resource fetch with two undocumented required identifiers and no output schema, the description leaves the agent without the parameter meaning or return shape. Annotations cover safety, but the identifier semantics and expected response remain unexplained.

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

Parameters1/5

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

Schema description coverage is 0%, so the description carries the full burden for two required parameters, yet it mentions neither. An agent must infer that 'id' is the payable identifier and 'instance_id' the tenant context purely from the 15-character example strings.

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

Purpose2/5

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

The description 'Retrieve Payable' restates the tool name (Get Instances Payables By Id) almost verbatim, adding only the singular form to hint at single-record retrieval. It does not explain what a payable is or how this differs from GetV1InstancesPayables or DeleteV1InstancesPayablesById, both of which also appear among the 60+ siblings.

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 when-to-use, when-not-to-use, or alternative named. The 'ById' in the name weakly implies fetching one record rather than listing, but the description itself provides no routing guidance among the many sibling GET tools.

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

GetV1InstancesPayinsGet Instances PayinsD
Read-onlyIdempotent
Inspect

Retrieve Payins

NameRequiredDescriptionDefault
limitNoNumber of items to return
tokenNo
offsetNoNumber of items to skip
statusNo
countryNo
networkNo
customer_idNo
instance_idYes
customer_nameNo
ending_beforeNoA cursor for use in pagination. ending_before is an object ID that defines your place in the list.
payment_methodNo
starting_afterNoA cursor for use in pagination. starting_after is an object ID that defines your place in the list.
bank_account_idNo

TDQS

D1.8/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context such as pagination behavior, required instance scoping, or what the returned payin list contains.

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

Conciseness2/5

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

The phrase is short but under-specified rather than usefully concise; it is not structured to front-load scope, required parameters, or filtering behavior. For a 13-parameter list endpoint, this is too terse to guide invocation.

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

Completeness1/5

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

This is a complex list tool with 13 parameters, low schema description coverage, no output schema, and many sibling tools. The description does not explain scoping, filtering, pagination, or return semantics, leaving an agent without enough context to invoke it reliably.

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

Parameters1/5

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

Schema description coverage is only 31% across 13 parameters, so the description must compensate for undocumented parameters. "Retrieve Payins" provides no meaning for required instance_id, filters like status/customer_id/payment_method, or pagination cursors.

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

Purpose2/5

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

The description "Retrieve Payins" essentially restates the tool name and title (Get Instances Payins -> Retrieve Payins). It identifies the resource but does not explain that this is a scoped list operation or distinguish it from siblings such as GetV1InstancesPayinsById.

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 guidance about when to use this list endpoint versus GetV1InstancesPayinsById or other payin-related tools. It also gives no indication of how filters such as status, customer_id, or pagination parameters should be used.

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

GetV1InstancesPayinsByIdGet Instances Payins By IdC
Read-onlyIdempotent
Inspect

Retrieve Payin

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety behavior is covered. The description adds no additional behavioral context such as error behavior, what a missing payin returns, or any constraints 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.

Conciseness2/5

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

The description is extremely short, but it is under-specified rather than appropriately concise. It is front-loaded with a verb and resource but omits essential context needed to select and invoke the tool correctly.

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

Completeness1/5

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

For a tool with two required undocumented parameters, no output schema, and no parameter descriptions, the description does not provide enough information to call the tool confidently. It gives no detail about the ID format, instance scoping, or return value beyond what annotations imply.

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

Parameters1/5

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

Schema description coverage is 0%, so both required parameters are undocumented, and the description does not explain what 'id' versus 'instance_id' means. The two-word description provides no parameter meaning at all, leaving the agent with only parameter names and examples.

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

Purpose3/5

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

The description says 'Retrieve Payin', which identifies a read operation on a payin resource, but it does not mention lookup by ID or the instance scope. It is vague enough that an agent cannot distinguish it from sibling list tools like GetV1InstancesPayins without inspecting the name or schema.

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 guidance about when to use this tool versus GetV1InstancesPayins or other payin-related tools. The agent must infer that this is a single-resource lookup by ID from the tool name alone.

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

GetV1InstancesPayoutsGet Instances PayoutsC
Read-onlyIdempotent
Inspect

Retrieve Payouts

NameRequiredDescriptionDefault
limitNoNumber of items to return
tokenNo
offsetNoNumber of items to skip
statusNo
countryNo
networkNo
customer_idNo
instance_idYes
customer_nameNo
ending_beforeNoA cursor for use in pagination. ending_before is an object ID that defines your place in the list.
payment_methodNo
starting_afterNoA cursor for use in pagination. starting_after is an object ID that defines your place in the list.
bank_account_idNo

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare this as a safe, read-only, idempotent, open-world operation. The description adds no context beyond that—no mention of pagination behavior, filtering constraints, response shape, or instance scoping.

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

Conciseness2/5

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

It is extremely short and front-loaded, but this is under-specification rather than useful conciseness. Two words cannot carry the needed meaning for a 13-parameter list endpoint.

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

Completeness1/5

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

For a complex collection-listing tool with multiple filters, pagination options, no output schema, and sparse schema descriptions, the description is completely inadequate. It gives the agent almost nothing needed to call the tool correctly.

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

Parameters1/5

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

The tool has 13 parameters with only 31% schema description coverage, and the description provides no parameter semantics at all. Many enum and filter parameters (status, country, network, customer_id, payment_method, etc.) are left undocumented in both schema and description.

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

Purpose3/5

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

The description gives a specific verb and resource ("Retrieve Payouts"), so the basic purpose is understandable. However, it does not clarify that this returns a collection scoped to an instance, nor differentiate it from the sibling GetV1InstancesPayoutsById.

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 guidance on when to use this endpoint versus the by-ID sibling or how to choose among the many filters. At best, usage is implied by the name.

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

GetV1InstancesPayoutsByIdGet Instances Payouts By IdD
Read-onlyIdempotent
Inspect

Retrieve Payout

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

D1.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered structurally. The description adds nothing about error behavior (e.g., what happens with an unknown ID), rate limits, or required permissions, leaving the added value near zero.

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

Conciseness2/5

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

At three words it is technically concise, but this is under-specification rather than efficient conciseness. There is no front-loaded scope statement or any structure to help an agent decide on invocation.

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

Completeness1/5

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

With no output schema, no parameter descriptions, and no annotations explaining the response, the description must carry the full burden of explaining what is returned (a payout object) and how identifiers relate. It does none of this.

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

Parameters1/5

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

Schema description coverage is 0%, so the description must compensate, yet it says nothing about the two required parameters. It doesn't explain that 'id' is a payout identifier (e.g., po_...) scoped to a specific instance identified by instance_id.

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

Purpose2/5

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

"Retrieve Payout" restates the tool name/title with a verb and resource but adds no distinguishing information. It does not clarify that this fetches a single payout by ID versus the sibling GetV1InstancesPayouts, which lists payouts.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool, no mention of prerequisites (e.g., needing a valid instance_id and payout ID), and no reference to alternatives such as the list endpoint. Only the name hints at by-ID retrieval.

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

GetV1InstancesRfiGet Instances RfiB
Read-onlyIdempotent
Inspect

Returns the open (pending) RFI for this instance, or null if the instance has no pending RFI.

NameRequiredDescriptionDefault
instance_idYes

TDQS

B3.2/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 real value by disclosing the filtering behavior ('open (pending)') and the null-when-absent return contract, but says nothing about what an RFI object looks like or whether history is reachable elsewhere.

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?

A single front-loaded sentence with no waste. The parenthetical '(pending)' is mildly redundant with 'open' but serves as a synonym bridge for matching against API docs using either term.

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

Completeness3/5

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

For a simple one-parameter read with strong annotations, the essentials are present. However, with no output schema the description carries the burden of explaining the return value, and it only says the result is an 'RFI' without characterizing fields or shape.

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 0% for the single instance_id parameter, so the description is the only source of meaning. 'For this instance' confirms the parameter's target, but it adds no format, length, or validity detail beyond what the parameter name already implies.

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

Purpose4/5

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

States a specific verb and resource ('Returns the open (pending) RFI') and scopes it to 'this instance', which implicitly distinguishes it from the customer-level RFI siblings. It stops short of naming the sibling it differs from, so an agent must infer the instance-vs-customer split from the name alone.

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 when-to-use guidance and no mention of alternatives such as GetV1InstancesCustomersRfi or the related PostV1InstancesRfi. The only conditional information is the null case, which describes the result rather than when an agent should reach for this tool.

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

GetV1InstancesTransfersGet Instances TransfersD
Read-onlyIdempotent
Inspect

Retrieve Transfers

NameRequiredDescriptionDefault
limitNoNumber of items to return
tokenNoToken sent from the wallet
offsetNoNumber of items to skip
statusNo
networkNoNetwork of the sending wallet
wallet_idNo
customer_idNo
instance_idYes
ending_beforeNoA cursor for use in pagination. ending_before is an object ID that defines your place in the list.
starting_afterNoA cursor for use in pagination. starting_after is an object ID that defines your place in the list.

TDQS

D1.7/5.0
Behavior2/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 nevertheless adds nothing whatsoever – no indication of result volume, pagination behavior, filtering semantics, or whether results are limited to the instance given the required instance_id.

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

Conciseness2/5

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

Two words are as short as possible, but this is under-specification rather than conciseness – there is no front-loaded statement of scope, filters, or result behavior to anchor the call.

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

Completeness1/5

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

A 10-parameter, filter-heavy list endpoint with no output schema and an instance-scoped required parameter demands far more description than a two-word phrase. Nothing an agent needs to call it correctly – scope, filter combination rules, pagination approach, or return shape – is present.

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

Parameters2/5

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

Schema description coverage is 60%, and several parameters (status enum, wallet_id, customer_id, instance_id) have no schema description at all. The description contributes zero parameter meaning, so it fails to compensate for the gap, particularly the ambiguous status values (e.g. 'refunded') and the relationship between offset/limit and the cursor parameters.

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

Purpose2/5

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

"Retrieve Transfers" restates the tool name/title (Get Instances Transfers) with no added specificity. Despite the schema showing pagination cursors, filters by token/status/network/wallet/customer, and an instance_id scoping parameter, the description never even clarifies that this is a paginated list operation for a given instance rather than fetching a single transfer.

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

Usage Guidelines1/5

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

No when-to-use, no when-not-to-use, and no mention of the obvious alternatives in the sibling set such as GetV1InstancesTransfersById for a single transfer or PostV1InstancesTransfers for creation. The agent must infer everything from the name.

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

GetV1InstancesTransfersByIdGet Instances Transfers By IdC
Read-onlyIdempotent
Inspect

Retrieve Transfer

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered structurally. The description contributes nothing beyond that: no statement of what a transfer record contains, whether the lookup returns 404 for unknown ids, or whether the response includes nested payout/payin links.

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

Conciseness2/5

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

The single phrase is short, but this is under-specification rather than conciseness—there is no front-loaded statement of resource, scope, or return value. Length is only a virtue when the necessary information is still present, and here it is not.

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

Completeness2/5

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

There is no output schema, so the description is the only place an agent could learn what a retrieved transfer looks like, and it provides nothing. Even with the lookup being a simple read, the definition is too thin for an agent to confidently pick this tool among dozens of sibling GET-by-id endpoints.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the burden of explaining the two required parameters. It says nothing about the relationship between instance_id and id, nor that id refers specifically to a transfer identifier (the `tr_` example and 15-char length constraint are buried in the schema with no prose support).

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

Purpose2/5

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

"Retrieve Transfer" restates the title (Get Instances Transfers By Id) without adding scope: it never says this fetches a single transfer by its 15-character id within a given instance. It does not distinguish itself from the sibling GetV1InstancesTransfers (list) or GetV1InstancesPayoutsById, so an agent must infer the difference from the name alone.

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?

No guidance on when to use this versus GetV1InstancesTransfers, which is the obvious alternative for transfer data. No prerequisites, no mention of needing both instance_id and the transfer id, and no exclusion conditions. The agent is left to infer usage entirely from the tool name.

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

GetV1InstancesWebhookEndpointsGet Instances Webhook EndpointsC
Read-onlyIdempotent
Inspect

Retrieve Webhooks

NameRequiredDescriptionDefault
instance_idYes

TDQS

C2.3/5.0
Behavior2/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 by structured data. The description adds nothing beyond that — no mention of pagination, result ordering, filters, or whether an empty list is possible, which is the kind of context a list tool should supply.

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

Conciseness2/5

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

Two words with no fluff, but this is under-specification rather than conciseness — there is no front-loaded scoping, no statement of return contents, and nothing that earns placement in an agent's selection reasoning.

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

Completeness2/5

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

For a simple instance-scoped list tool with one required parameter and no output schema, the description still leaves the agent without the scope, the return shape (array of endpoint objects), or the sibling routing needed to call it confidently.

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

Parameters2/5

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

Schema description coverage is 0% and the single required parameter (instance_id, fixed 15-char string) is undocumented in both schema and description. The description should at least clarify that the call is scoped to one instance and what format that identifier takes.

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

Purpose3/5

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

"Retrieve Webhooks" gives a generic verb (Retrieve) and a loosely-named resource that doesn't precisely match the tool's actual scope (webhook endpoints for an instance). It is a partial restatement of the title rather than a distinguishing statement, and it doesn't separate it from siblings like GetV1InstancesWebhookEndpointsSecret or GetV1InstancesWebhookEndpointsPortalAccess.

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?

No guidance on when to use this versus the many neighboring webhook tools (secret retrieval, portal access, POST to create, DELETE by id). The agent must infer from the name alone that this is the list operation.

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

GetV1InstancesWebhookEndpointsPortalAccessGet Instances Webhook Endpoints Portal AccessC
Read-onlyIdempotent
Inspect

Retrieve Webhook Portal Access

NameRequiredDescriptionDefault
instance_idYes

TDQS

C2.1/5.0
Behavior2/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds no behavioral context such as whether access is scoped to the caller, whether it expires, or whether it requires elevated permissions — for a security-adjacent credential retrieval, that silence is notable.

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?

It is a single short sentence with no filler, so nothing is wasted — but the brevity reflects under-specification rather than economy. There is no front-loaded detail an agent could act on.

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

Completeness2/5

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

With no output schema, the description is the only place to learn what is returned (portal URL? credential? access flags?) and it says nothing. For a tool in a webhook/credential area of a large API surface, this is insufficient for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, leaving the single required instance_id documented only by type, example format, and length bounds. The description does not explain what an instance is or how the ID relates to webhook endpoints, so it fails to compensate for the coverage gap.

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

Purpose2/5

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

The description 'Retrieve Webhook Portal Access' essentially paraphrases the tool name and title without adding specificity. It's unclear what 'portal access' means (a URL, a token, permissions?) and nothing distinguishes it from nearby siblings like GetV1InstancesWebhookEndpoints or GetV1InstancesWebhookEndpointsSecret.

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 guidance on when to use this tool versus the webhook endpoint or webhook secret siblings. No prerequisites, no exclusions, no context about when portal access is needed.

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

GetV1InstancesWebhookEndpointsSecretGet Instances Webhook Endpoints SecretC
Read-onlyIdempotent
Inspect

Retrieve Webhook Secret

NameRequiredDescriptionDefault
idYes
instance_idYes

TDQS

C2.4/5.0
Behavior2/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 structurally. The description adds nothing beyond the title: it does not disclose that the response contains sensitive credential material, whether the secret is rotatable, whether retrieval is audited, or what happens if the endpoint has no secret configured.

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?

Three words with no padding and the verb-object ordering is front-loaded. Brevity here shades into under-specification rather than efficiency, since nothing else compensates for the missing detail.

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

Completeness2/5

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

For a read-only tool returning sensitive credential material with no output schema and entirely undocumented parameters, the description should explain what is returned and any handling caveats. As written, an agent knows only the resource name and must guess at the returned value's shape and semantics.

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

Parameters2/5

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

Schema description coverage is 0% for two required parameters, so the description carries the burden and supplies none of it. The schema gives only examples and 15-character length bounds for `id` and `instance_id`; the description never says that `id` is the webhook endpoint identifier rather than an instance-level or customer-level id, which is the likely point of confusion.

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

Purpose3/5

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

"Retrieve Webhook Secret" names a verb and a resource, so the basic intent is legible. But it does not distinguish this tool from its close siblings (GetV1InstancesWebhookEndpoints, GetV1InstancesWebhookEndpointsPortalAccess), nor clarify what a "secret" is here (signing key material vs. a webhook payload).

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?

No guidance on when to call this instead of GetV1InstancesWebhookEndpoints for webhook configuration, and no mention of prerequisites such as permissions or the sensitivity of fetching a credential. An agent must infer everything from the name.

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

PatchV1InstancesCustomersBlockchainWalletsByIdPatch Instances Customers Blockchain Wallets By IdAInspect

Declares whether the customer holds the private keys of this wallet. Only works while is_self_custody is null; once saved it cannot be changed.

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly=false, destructive=false, idempotent=false), yet the description adds the crucial one-shot, null-gated irreversibility semantics that annotations alone would not convey. It does not mention auth requirements or the Idempotency-Key retry behavior, but the core behavioral caveat is disclosed.

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, no filler, with the operative constraint front-loaded. Every clause carries information the agent needs.

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 mutation tool with a nested request body and no output schema, the description supplies the key semantic constraint and irreversibility. It is close to complete, though it omits any mention of the idempotency header or path-parameter requirements.

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 only 40%, so the description must compensate; it does meaningfully explain the payload field is_self_custody (holding private keys, only settable while null). However, it says nothing about the three path parameters (instance_id, customer_id, id) or the optional Idempotency-Key, leaving half the surface to inference.

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?

Names a specific action (declaring private-key custody) on a specific resource (blockchain wallet), which clearly distinguishes it from sibling Get/Delete/Post wallet tools. The verb 'Declares' is slightly non-standard for a PATCH update, but the resource and effect are unambiguous.

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?

Gives a clear precondition ('Only works while is_self_custody is null') and a clear exclusion ('once saved it cannot be changed'), which tells the agent exactly when this call is valid. It does not name alternative tools for the already-set case, so it falls 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.

PostV1EInstancesTosPost EInstances TosAInspect

Returns a URL where the end customer accepts BlindPay's terms of service. A person must open it in a browser and accept; it cannot be accepted through the API. After acceptance the browser is sent to redirect_url with tos_id as a query parameter, and a tos.accept webhook fires. Pass that tos_id (to_...) to Create Customer. idempotency_key is any unique string and cannot be reused.

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only give generic hints (readOnly=false, idempotent=false, openWorld=true, destructive=false); the description goes well beyond them by disclosing the out-of-band human action, the post-acceptance redirect with tos_id as a query parameter, the tos.accept webhook, and the non-reusability of idempotency_key. These are exactly the behavioral traits an agent cannot infer from structured fields, and nothing contradicts 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?

Front-loaded with the core behavior in the first sentence, then workflow, then parameter notes. Four sentences, each carrying distinct operational information with no repetition of the title or name.

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?

There is no output schema, and the description compensates by explaining that the return value is a URL and what happens after acceptance. What keeps it from a 5 is the silent customer_id parameter, which is relevant to a ToS acceptance flow and is left unexplained.

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 0%, so the description must compensate. It explains redirect_url (browser destination, receives tos_id as a query parameter) and idempotency_key (any unique string, cannot be reused), which is genuinely additive — but customer_id and instance_id are never mentioned, leaving half the inputs without any prose meaning.

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?

A specific verb and resource: it returns a hosted URL where an end customer accepts BlindPay's terms of service. No sibling tool covers terms of service, so there is nothing to disambiguate against, which is why this lands at 4 rather than 5 — but an agent immediately knows what it produces.

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 states when this tool is the right call ('a person must open it in a browser and accept; it cannot be accepted through the API') and chains the output into the next step ('Pass that tos_id to Create Customer'). It also names the redirect_url prerequisite, so the agent knows the full workflow rather than just the invocation.

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

PostV1InstancesCreateAssetTrustlinePost Instances Create Asset TrustlineDInspect

Create Asset Trustline

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds nothing beyond that: it does not say whether creating a trustline is irreversible on-chain, whether it requires the asset issuer's authorization, or what side effects occur. No contradiction with annotations, but zero added behavioral context.

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

Conciseness2/5

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

Three words is not conciseness but under-specification; there is no structure to speak of and nothing is front-loaded because nothing is said. The brevity saves no reader effort since the agent must infer everything.

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

Completeness2/5

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

For an open-world, non-idempotent mutation tool with a nested required body, no output schema, and undocumented parameters, the definition is far too thin. The annotations supply a basic safety profile, but key facts — required preconditions, reversibility, response shape — are absent.

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

Parameters2/5

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

Schema description coverage is 33%: only Idempotency-Key is documented in-schema. 'instance_id' has format constraints but no prose, and the nested required 'address' is entirely ambiguous — the description never clarifies whether it is the asset issuer address, the asset identifier, or the network address. The terse description fails to compensate for the coverage gap.

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

Purpose2/5

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

The description 'Create Asset Trustline' is essentially a restatement of the tool name and title, with no indication of which network (Stellar is implied only by the name), what an asset trustline is, or how it differs from blockchain-related siblings like PostV1InstancesPayoutsStellarAuthorize or PostV1InstancesPayoutsEvm. It states a mutation verb and a resource but adds no distinguishing detail.

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

Usage Guidelines1/5

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

There is no when-to-use guidance, no prerequisites (e.g., that the instance must exist or the customer wallet be set up), and no mention of alternatives among the ~70 sibling tools. An agent has no basis to choose this tool over adjacent Stellar/payout operations.

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

PostV1InstancesCustomersPost Instances CustomersAInspect

Creates a customer and starts KYC (individuals) or KYB (businesses). Send the tos_id the customer received after accepting terms of service (see Initiate Terms of Service). Required fields depend on type and kyc_type. Individual, standard: first_name, last_name, date_of_birth, tax_id, address_line_1, city, state_province_region, postal_code, country, id_doc_country, id_doc_type, id_doc_front_file and selfie_file. Business, standard: legal_name, formation_date, tax_id, website, the same address fields, at least one entry in owners, incorporation_doc_file, proof_of_ownership_doc_file, proof_of_address_doc_type and proof_of_address_doc_file. kyc_type light is not available, and businesses only support standard. US state_province_region is a two-letter code. File fields are HTTPS URLs that BlindPay downloads, so they must be publicly fetchable; data: URIs are rejected. The customer starts with kyc_status verifying. Development instances approve it automatically.

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so safety is covered by structured data; the description still adds real operational detail: the post-create state ('kyc_status verifying'), development auto-approval, and the file-fetching contract ('HTTPS URLs that BlindPay downloads, so they must be publicly fetchable; data: URIs are rejected'). It does not discuss retry/idempotency behavior despite a mutable create, so it is not exhaustive.

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?

Front-loaded with the core action and prerequisite, then requirement lists per customer type; every sentence carries information about a conditional rule. The dense comma-separated field enumerations are needed for correctness but make it visually heavy.

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 create call with a deeply nested body, 33% schema coverage, and no output schema, the description supplies the conditional required-field logic and validation constraints an agent needs to construct a valid request. It does not describe the response payload (e.g., returned customer id or object shape), which is the main remaining gap since no output schema exists.

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 only 33%, so the description must compensate, and it does by enumerating required field sets per branch (individual/standard vs business/standard, including owners and document fields) and adding a format rule ('US state_province_region is a two-letter code'). Optional fields such as latitude/longitude, account_purpose, and additional_info are left to schema descriptions, so coverage is not complete.

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 and resource ('Creates a customer') plus the outcome ('starts KYC (individuals) or KYB (businesses)'), which cleanly separates it from the read/update/delete customer siblings in the list. An agent can identify the operation without opening the schema.

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?

Gives a concrete prerequisite chain ('Send the tos_id the customer received after accepting terms of service (see Initiate Terms of Service)') and states which kyc_type/type combinations are valid ('light is not available, and businesses only support standard'), effectively defining when this tool applies. It stops short of naming sibling tools to use instead, so it is strong context rather than explicit alternative routing.

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

PostV1InstancesCustomersBankAccountsPost Instances Customers Bank AccountsAInspect

Adds a payout destination for a customer. Required fields depend on type (the rail): call Bank Details (GET /v1/available/bank-details) with the rail first for the exact field list and validation. For ach and wire: business_industry (a NAICS code from GET /v1/available/naics) is required when account_class is business, phone_number is required when country is BR, CN, CO, HK, MY, MX, PH, UG or UY, and tax_id is required when country is AR, BY, BR, CL, CN, CO, CR, EC, GT, HN, JP, KZ, KR, MX, PK, PE, PH, RU, TH or UY. A US state_province_region is a two-letter code. ach, wire and rtp are not available for light KYC customers.

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4/5.0
Behavior4/5

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

Annotations confirm this is a non-read-only, non-destructive, non-idempotent, open-world write; the description adds genuinely new behavior: required fields are rail- and country-dependent, validation should be derived from a live bank-details call, and some rails are blocked for light-KYC customers. It stops short of describing the created resource (e.g. that the account starts in a verifying status) or failure modes.

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?

Front-loaded with the one-sentence purpose, then prerequisites, then per-rail constraints. The long country enumerations are verbose but each carries real conditional logic that cannot be inferred. Slight density cost, no filler sentences.

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 a very large nested requestBody and no output schema, the description's strategy of delegating the exact field list to the bank-details endpoint is a sound coping mechanism, and the conditional requirements cover the most failure-prone inputs. The remaining gap is the response shape and what state the new account lands in, which nothing else in the definition supplies.

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 ~50%, and the description compensates with the highest-value semantics the schema lacks: `type` is the rail that determines the rest of the body, `business_industry` must be a NAICS code required for business account_class, `phone_number` and `tax_id` are country-conditional, and US `state_province_region` must be two letters. It does not touch instance_id/customer_id, but those are self-evident from names and examples.

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?

"Adds a payout destination for a customer" names a specific verb (adds) and resource (payout destination / bank account) and makes the effect on the customer record clear. It does not, however, distinguish the tool from the sibling PostV1InstancesCustomersBankAccountsPlaid, which also attaches a bank account, so the agent has no textual basis for choosing between them.

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?

Gives strong conditional routing: call GET /v1/available/bank-details with the rail first to get the exact field list, and pull NAICS codes from GET /v1/available/naics. It also states an explicit exclusion — ach, wire and rtp are unavailable for light KYC customers. Missing only guidance on when to prefer this over the Plaid-based sibling.

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

PostV1InstancesCustomersBankAccountsOfframpWalletsPost Instances Customers Bank Accounts Offramp WalletsCInspect

Create Offramp Wallet

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.
bank_account_idYes

TDQS

C2.3/5.0
Behavior2/5

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

The annotations already indicate this is a non-read-only, non-destructive, open-world operation, but the description adds no behavioral context beyond the bare action. It does not explain what the created offramp wallet represents, how it relates to the bank account, or any permission or side-effect considerations.

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

Conciseness2/5

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

The description is a single three-word phrase with no wasted text, but it is under-specified rather than appropriately concise for a mutation endpoint with five parameters. It front-loads the action but omits all necessary context.

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

Completeness1/5

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

Given the tool's complexity, nested request body, low schema description coverage, and lack of an output schema, the description is far too thin. An agent cannot determine required setup, parameter meaning, or expected outcome from 'Create Offramp Wallet' alone.

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

Parameters1/5

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

Schema description coverage is only 40%, so the description needs to compensate, but it provides no parameter information at all. Required fields such as instance_id, bank_account_id, and requestBody.network are not explained, and the nested request body is left entirely to 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 states a specific verb and resource: 'Create Offramp Wallet'. This is clearer than a tautology, but it does not distinguish the operation from sibling wallet-creation or bank-account-related endpoints.

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?

The description provides no guidance on when to use this tool instead of alternatives such as PostV1InstancesCustomersBankAccounts or other wallet creation endpoints. It also omits prerequisites, such as needing an existing customer and bank account.

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

PostV1InstancesCustomersBankAccountsPlaidPost Instances Customers Bank Accounts PlaidCInspect

Create Plaid Link

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
requestBodyNo

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: it doesn't say what is returned (a link token or hosted URL), that it is a non-idempotent external-dependency call, or what happens once the customer completes the flow.

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

Conciseness2/5

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

Three words is not conciseness but under-specification; there is nothing to front-load and no information beyond the title is conveyed.

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

Completeness2/5

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

For a write operation with an open-world external dependency, a nested request body and no output schema, the agent needs at minimum what gets created and what the response carries (link token/URL). None of that is present, leaving a significant gap.

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

Parameters2/5

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

Schema description coverage is only 33%: customer_id has a description, instance_id does not, and the nested requestBody.redirect_url is documented only in the schema. The description supplies no parameter meaning at all, so it fails to compensate for the coverage gap.

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

Purpose3/5

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

The description names a verb and a resource ("Create Plaid Link"), but "Plaid Link" is a product term that doesn't state the outcome, namely initiating a Plaid bank-account connection for a customer. It is distinguishable from siblings like GetV1InstancesCustomersBankAccounts only by inference from the tool name, not the description.

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 when-to-use guidance, no prerequisites (e.g. customer must exist or onboarding must be complete), and no reference to the sibling PostV1InstancesCustomersBankAccounts alternative for non-Plaid flows.

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

PostV1InstancesCustomersBlockchainWalletsPost Instances Customers Blockchain WalletsCInspect

Add Blockchain Wallet

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond that: no mention that repeat calls create duplicate wallets (idempotency is only available via the optional Idempotency-Key), no permission or KYC preconditions, and no note that self-custody details are required for Brazilian customers.

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

Conciseness2/5

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

Three words are technically concise, but this is under-specification rather than economy. There is no front-loaded detail because there is no detail at all.

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

Completeness2/5

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

For a creation tool taking a nested request body, a 17-value network enum, and conditional fields (is_self_custody required for BR customers), with no output schema, the description is far too thin. An agent could invoke it but would have no guidance on body composition or error/duplicate behavior.

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

Parameters2/5

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

Schema description coverage is only 50%; customer_id and Idempotency-Key are documented, but instance_id has no description and the nested requestBody (with required name/network and a 17-value network enum) is entirely undocumented in the schema. The description does nothing to compensate, leaving the most complex parameter unexplained.

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

Purpose3/5

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

"Add Blockchain Wallet" gives a verb and a resource, so the agent knows this creates a blockchain wallet. But it is essentially a restatement of the title and does not distinguish it from adjacent siblings like PostV1InstancesCustomersBankAccountsOfframpWallets or PostV1InstancesCustomersWallets, nor does it state scope (per customer, per instance).

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?

No when-to-use guidance, no prerequisites, and no mention of the alternatives present in the sibling list (Get/Delete/Patch blockchain wallets, or the offramp wallets endpoint). The agent must infer that POST = create from the name alone.

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

PostV1InstancesCustomersLimitIncreasePost Instances Customers Limit IncreaseDInspect

Request Limit Increase

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.7/5.0
Behavior2/5

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

Annotations already declare non-readOnly, non-destructive, non-idempotent, open-world, so the safety profile is covered structurally. The description adds nothing: it does not say this submits a request for review/approval, what state the request enters, or that retries need the Idempotency-Key despite idempotentHint=false.

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

Conciseness2/5

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

Three words is technically concise but is under-specification rather than efficient writing; nothing is front-loaded because nothing is stated.

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

Completeness1/5

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

A complex mutation with a nested requestBody, required limit fields, document requirements, and no output schema demands far more explanation than a three-word phrase. An agent has no basis for calling it correctly.

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

Parameters2/5

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

Schema description coverage is only 50% and the description contributes no parameter meaning at all. It never mentions that the body requires per_transaction, daily and monthly limits, nor that supporting documents are effectively mandatory for the request to succeed.

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

Purpose2/5

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

The phrase 'Request Limit Increase' essentially restates the tool name 'Post Instances Customers Limit Increase' without adding scope or distinguishing it from the sibling GetV1InstancesCustomersLimitIncrease. An agent cannot tell whether this submits a new request, updates one, or fetches status.

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

Usage Guidelines1/5

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

No when-to-use guidance, no prerequisites, no named alternatives. The coexisting GET sibling is never mentioned, so routing between reading and creating a limit-increase request is left entirely to inference.

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

PostV1InstancesCustomersRfiPost Instances Customers RfiAInspect

Submit a flat response object for the open RFI. On success flips kyc_status back to verifying. Returns { success: false, reason } when no pending RFI exists, callers should refetch the RFI state instead of retrying.

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
requestBodyNo
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare this as a non-read-only, non-idempotent write, so the bar is lower; the description still adds real value by disclosing the side effect (kyc_status flips back to verifying) and the soft-failure return shape { success: false, reason }. It leaves unaddressed whether the kyc_status transition triggers downstream review steps or how partial/invalid RFI answers are handled.

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, action first, side effect second, failure handling third — nothing is padded and every clause carries operational information for the caller.

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 mutation with a free-form nested body, no output schema, and 50% param coverage, the description covers the action, the state change, and the non-error failure path. The remaining gap is what the flat response body should contain, which is the one thing an agent still has to guess at.

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 50% and the undocumented parameter is requestBody, which the schema leaves as an open free-form object. The phrase 'flat response object' does add a hint about that body's shape, but no field-level semantics, required keys, or type expectations are given. Baseline 3 applies given partial 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?

States a specific verb and resource ('Submit a flat response object for the open RFI') and implicitly separates itself from the read-side sibling GetV1InstancesCustomersRfi by naming the response-submission action. An agent can tell this is the write counterpart to the RFI read endpoints without opening any schema.

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?

Gives a concrete conditional path for failure ('when no pending RFI exists, callers should refetch the RFI state instead of retrying'), which is exactly the kind of branch an agent needs. It does not explicitly name the GetV1InstancesCustomersRfi/GetV1InstancesRfi tools to refetch with, so routing requires a small inference.

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

PostV1InstancesCustomersVirtualAccountsPost Instances Customers Virtual AccountsBInspect

Creates a virtual account that automatically converts inbound USD deposits (ACH, wire, RTP) into stablecoins sent to the linked wallet. Fees on these automated payins depend on the deposit amount: deposits below $100.00 accrue the BlindPay fee to your billing cycle (charged at the end of the month via the payin's billing_fee_amount), while deposits of $100.00 or more are charged at the time of the transaction (deducted from the delivered amount via transaction_fee_amount). Every deposit is processed regardless of size and always delivers at least $0.01 on-chain; a partner fee (optional partner_fee_id) is collected only from what remains after that.

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

B3.3/5.0
Behavior4/5

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

Annotations only declare write/open-world/non-idempotent; the description adds genuinely non-obvious behavior — deposits always process and deliver at least $0.01 on-chain, and partner fees are taken only from the remainder after that. It still omits whether creation triggers KYC/onboarding checks or what the response contains.

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 purpose is front-loaded and the paragraph is single-topic, but roughly two-thirds of the text is fee-schedule detail (billing_fee_amount vs transaction_fee_amount) that dominates over describing the call itself. It is dense rather than efficient.

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

Completeness3/5

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

For a write tool with nested request bodies, no output schema, and only half its parameters documented, the description should cover the required inputs and post-creation state. It covers behavior well but leaves the agent without guidance on wallet linkage requirements or the created object's shape.

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?

At 50% schema coverage the description adds some meaning, notably that partner_fee_id is optional and deducted after the minimum delivery, and it implicitly frames banking_partner (ACH/wire/RTP) and token. It says nothing about blockchain_wallet_id, sole_proprietor_doc_type/file, the bre_b nested object, or the Idempotency-Key parameter.

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 first clause gives a specific verb and resource ('Creates a virtual account') plus its core behavior (USD deposits auto-converted to stablecoins sent to the linked wallet). It is distinguishable from the Get/Put siblings by the verb, though it never names those siblings explicitly.

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 statement of when to create a virtual account versus using the existing GetV1InstancesCustomersVirtualAccounts/Put...ById tools, and no prerequisites (e.g. that a blockchain wallet must already exist) are given. The only conditional logic present concerns fee thresholds, not tool selection.

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

PostV1InstancesCustomersWalletsPost Instances Customers WalletsDInspect

Create Wallet

NameRequiredDescriptionDefault
customer_idYesCustomer ID
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true and idempotentHint=false, so safety is structured. The description adds nothing on what is actually provisioned (a wallet address on a chosen chain), whether it is reversible, or what side effects/costs exist — for an open-world mutation that is a real gap.

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

Conciseness2/5

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

Two words: technically concise, but it is under-specification rather than economy. There is no front-loaded context to compress, so nothing earns or fails to earn its place — the budget is simply unused.

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

Completeness1/5

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

A four-parameter, open-world, nested-body creation endpoint with no output schema and half its parameters undocumented in schema. The description provides none of the context an agent needs to call it correctly.

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

Parameters2/5

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

Schema description coverage is 50% and the nested requestBody carries most of the semantic weight (network enum, name, external_id) with no help from the description. Nothing explains what network selection implies or how external_id is used, and the optional Idempotency-Key parameter is not referenced in the description at all.

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

Purpose2/5

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

"Create Wallet" is essentially the tool name (PostV1InstancesCustomersWallets) restated as a verb phrase. It does not say which kind of wallet (managed on-chain wallet vs. blockchain wallet vs. offramp wallet), leaving it indistinguishable from the three sibling wallet-creation tools in the list.

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 guidance on when to create this wallet versus PostV1InstancesCustomersBlockchainWallets or PostV1InstancesCustomersBankAccountsOfframpWallets, nor any prerequisites (funded account, onboarding/KYC state, supported network). The agent must infer everything from the path.

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

PostV1InstancesCustomersWalletsYieldDisablePost Instances Customers Wallets Yield DisableAInspect

Turns yield off for the wallet. Returns the wallet, not the yield object. The wallet moves to disabling, the vault position is redeemed back to the wallet and any accrued fee is collected, then yield_status settles to disabled and a wallet.update webhook fires.

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare this is a non-read-only, non-destructive, non-idempotent mutation, and the description adds real value on top: the state machine (disabling → redemption → fee collection → disabled), the webhook side effect (wallet.update), and the shape of the response. It stops short of saying whether the call is async and must be polled, or what happens if yield is already disabled.

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 packed sentences with zero filler: purpose first, then return-value caveat, then the transition sequence. Every clause carries information an agent would otherwise have to guess.

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 no output schema, the description usefully tells the agent what comes back and what side effects occur, which covers most of what's needed for a mutation. The missing piece is parameter-level guidance and retry semantics, which matter here because idempotentHint is false while an Idempotency-Key header exists.

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

Parameters2/5

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

Schema description coverage is only 50% — `id` and `instance_id` carry no descriptions, only length/example constraints. The description never mentions any of the four parameters, so it does not compensate for the gap; an agent gets no clarification that `id` is the wallet identifier in the yield-disable path, nor any hint tying Idempotency-Key to safe retries of this non-idempotent call.

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 and resource: 'Turns yield off for the wallet.' It also distinguishes the return value ('Returns the wallet, not the yield object'), which separates it from the sibling YieldEnable and the GetV1InstancesCustomersWalletsYield read endpoints.

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?

Usage is only implied by the verb — an agent can infer this is the inverse of PostV1InstancesCustomersWalletsYieldEnable. There is no explicit statement about prerequisites (must yield already be enabled?), no pointer to the Enable sibling as the alternative, and no guidance on when to prefer reading yield status first.

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

PostV1InstancesCustomersWalletsYieldEnablePost Instances Customers Wallets Yield EnableAInspect

Turns yield on for the wallet. Returns the wallet, not the yield object: read yield_status here and use Retrieve Wallet Yield for positions. Idle balance is swept into the vault within the hour.

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations declare a non-read-only, non-destructive mutation; the description adds the key consequence beyond that — idle balance is swept into the vault within the hour — which is real behavioral disclosure. It also clarifies the return payload shape. Missing is failure behavior (already-enabled, ineligible wallet).

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, zero filler, with the core action front-loaded and the return-shape caveat immediately after. Every clause carries 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 no output schema, the description usefully explains what comes back (wallet, not yield object) and the asynchronous sweep behavior. For a mutation it still omits permission/auth requirements and idempotency expectations despite an Idempotency-Key parameter existing.

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 50% (only customer_id and Idempotency-Key documented), and the description adds no parameter guidance for the two undocumented IDs. Baseline 3 is appropriate since the description neither compensates for nor worsens the gap.

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 and resource — 'Turns yield on for the wallet' — which immediately separates it from the YieldDisable sibling. The follow-up sentence clarifies what the call returns, making the operation unambiguous.

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?

Explicitly routes the agent: read yield_status from this response, and use 'Retrieve Wallet Yield' for positions. It gives a clear alternative for a specific need, though it doesn't state prerequisites (e.g., wallet state required to enable) or what happens if yield is already on.

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

PostV1InstancesMintUsdbSolanaPost Instances Mint Usdb SolanaCInspect

Mint USDB on Solana

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.3/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is partly covered, but the description adds nothing: it doesn't mention that this is an on-chain state-changing operation, required permissions, whether a delegate must exist first, or how the Idempotency-Key header interacts with idempotentHint=false.

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

Conciseness2/5

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

The single five-word sentence is technically efficient but this is under-specification, not conciseness – nothing is front-loaded because nothing is said. There is no wasted text, but no useful content either.

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

Completeness2/5

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

For a state-changing, real-value on-chain mint with a nested request body, three parameters, no output schema, and only advisory annotations, the description is far too thin. An agent cannot tell from it what a successful mint produces, what errors to expect, or what must be done beforehand.

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

Parameters2/5

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

Schema description coverage is only 33%: instance_id has just an example, and the nested request body's address and amount have no descriptions at all. The description does not compensate by explaining address format (Solana pubkey), amount units/precision as a string, or retry semantics of Idempotency-Key, so the agent gets no help beyond raw field names.

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

Purpose3/5

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

The sentence 'Mint USDB on Solana' gives a verb and a resource, but it only restates the tool name (PostV1InstancesMintUsdbSolana) rather than explaining the operation. It does at least implicitly separate this from the Stellar sibling, though nothing states what minting entails or what the instance/address/amount relationship is.

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 guidance on when to use this versus PostV1InstancesMintUsdbStellar, PostV1InstancesPrepareDelegateSolana, or the payout/payin Solana tools. No prerequisites, exclusions, or preconditions (such as a prepared delegate) are mentioned, leaving the agent to infer everything from the name.

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

PostV1InstancesMintUsdbStellarPost Instances Mint Usdb StellarCInspect

Mint USDB on Stellar

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, openWorldHint=true, and idempotentHint=false, so the safety profile is partially covered. The description adds nothing about the on-chain side effects of a mint, the trustline requirement, or why signedXdr may be needed, which is a real gap for an open-world blockchain mutation.

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?

Four words, front-loaded with the action and target, so there is no filler. But the brevity is under-specification rather than efficiency — nothing an agent needs to invoke it correctly is present.

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

Completeness2/5

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

For a state-changing, open-world blockchain mint with a nested request body, an optional signature field, and no output schema, this description is far too thin. An agent cannot tell what will be returned, what preconditions exist, or how the mint relates to trustline or delegate preparation tools.

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

Parameters2/5

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

Schema description coverage is only 33%; only the Idempotency-Key is documented in the schema, while instance_id, address, amount, and signedXdr have no descriptions. The description does not compensate at all — it never names or explains any parameter, including the ambiguous signedXdr field on a nested request body.

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

Purpose3/5

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

"Mint USDB on Stellar" states a specific verb (Mint) and resource (USDB), and the chain qualifier distinguishes it from the sibling PostV1InstancesMintUsdbSolana. However, it conveys nothing about scope, instance context, or what the mint actually involves, so it is only marginally more informative than the title.

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?

No guidance on when to use this versus alternatives. There is no mention of prerequisites such as an existing asset trustline (the sibling PostV1InstancesCreateAssetTrustline hints one may be needed), no note about the optional signedXdr, and no exclusion criteria.

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

PostV1InstancesPartnerFeesPost Instances Partner FeesDInspect

Add Partner Fee

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.3/5.0
Behavior1/5

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

Annotations already state this is a non-read-only, non-destructive, non-idempotent write with open-world scope, and the description adds nothing beyond that. It omits any mention of prerequisites, what a partner fee affects (payin/payout fee schedules), whether the record can later be modified, or how idempotency keys interact with retries.

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

Conciseness2/5

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

A three-word fragment is technically concise but is under-specification rather than disciplined editing. There is no front-loaded summary of scope, behavior, or required inputs.

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

Completeness1/5

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

For a mutation endpoint with a nested required request body, no output schema, and only 33% schema description coverage, the description supplies none of the missing context. An agent cannot determine intent, side effects, or required setup from this text.

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

Parameters1/5

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

Schema description coverage is only 33% and the description contributes zero parameter meaning. The nested requestBody requires five fields (name, payin/payout percentage and flat fees) and the instance_id and Idempotency-Key semantics are left entirely to the schema, so the description fails to compensate for the coverage gap.

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

Purpose2/5

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

"Add Partner Fee" restates the tool name and title rather than explaining the operation. It implies creation of a partner fee record for an instance, but given siblings like GetV1InstancesPartnerFees, GetV1InstancesPartnerFeesById and DeleteV1InstancesPartnerFeesById, the definition does no work to distinguish the create path or describe what a partner fee actually is.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool, when not to, or which sibling to prefer. An agent must infer from the CRUD-shaped name alone that this is the creation endpoint for instance-level partner fee configurations.

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

PostV1InstancesPayablesPost Instances PayablesCInspect

Create Payable

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations only say it is a non-read-only, open-world, non-destructive write; the description adds nothing about what actually happens when a payable is created, whether funds move immediately, or what state it lands in. The Idempotency-Key parameter exists but the description never tells the agent that retries need it, which is critical for a money-movement mutation.

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?

"Create Payable" is a single lean phrase with no wasted words, but its brevity is under-specification rather than genuine conciseness. There is nothing to front-load because nothing is said.

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

Completeness2/5

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

This is a complex, nested, three-parameter write with no output schema, and the description does not say what is returned (a payable object with an id?) or what the caller must supply to succeed. For a tool whose requestBody includes line items, bank account routing, and scheduling, a four-word description leaves major gaps.

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

Parameters2/5

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

Schema description coverage is 33%, so the description is expected to compensate, yet it mentions no parameters at all. The nested schemas carry some field-level descriptions (currency, taxes, discount, line_items, bank_account), but the description contributes zero meaning beyond them.

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

Purpose3/5

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

"Create Payable" states a verb and resource, which does distinguish it from the Get/Delete payable siblings by name alone. But it is essentially a restatement of the tool name and title, with no scope, no mention of what a payable is, and no differentiation beyond the HTTP verb.

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 guidance on when to use this instead of PostV1InstancesPayouts, PostV1InstancesTransfers, or other money-movement siblings, and no prerequisites are stated. An agent must infer everything from the name.

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

PostV1InstancesPayinQuotesPost Instances Payin QuotesAInspect

Prices a payin from a local payment method into a stablecoin wallet. Send one of wallet_id (BlindPay-managed wallet) or blockchain_wallet_id. Do not send a network: the wallet decides where the tokens are delivered. request_amount is in cents; the minimum depends on the currency (1000, which is 10.00, for USD and BRL) and OTC quotes have a higher minimum. funding_bank_account_id is required when payment_method is ach_pull. The quote expires 5 minutes after creation, or 10 seconds for OTC quotes; create the payin with Create Payin before then.

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare it is a non-read-only, non-destructive, non-idempotent, open-world call. The description adds genuinely new behavior: quotes expire after 5 minutes (10 seconds for OTC), minimum amounts vary by currency, and OTC quotes have a higher floor. It does not say whether the quote locks a rate or how failures/retries behave beyond the schema's Idempotency-Key note.

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?

Five dense sentences, front-loaded with what the tool does, then the identifier rule, then amount/currency rules, then the funding constraint, then the expiry deadline. No filler and no restatement of the name or title.

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 nested-body POST with no output schema, the description covers the decision points an agent must get right before calling: which wallet id, what unit amounts are in, the ach_pull dependency, and the short-lived nature of the resulting quote. It never says what the quote response contains (e.g. the quote identifier needed for the follow-up payin), which is the one real hole.

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 only 33% schema description coverage, the description does real work: it establishes the wallet_id vs blockchain_wallet_id mutual exclusivity, forbids a network parameter, and explains request_amount units (cents) plus currency-dependent minimums and the ach_pull conditional on funding_bank_account_id. Fields like token, currency_type, cover_fees, payer_rules and partner_fee_id still get no semantic help from either source.

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 opening sentence names a specific verb and resource: pricing a payin from a local payment method into a stablecoin wallet. It distinguishes the tool from the payin-creation siblings (Create Payin) but never mentions PostV1InstancesPayinQuotesFx, the closest sibling, so the same-currency vs FX boundary is left implicit.

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?

Gives concrete preconditions and constraints: send exactly one of wallet_id or blockchain_wallet_id, never send a network, funding_bank_account_id only when payment_method is ach_pull, and the downstream step ('create the payin with Create Payin before then'). It stops short of routing to the FX quote sibling, which is the main remaining ambiguity.

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

PostV1InstancesPayinQuotesFxPost Instances Payin Quotes FxCInspect

Get FX Rate

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, so the safety profile is structured. The description adds no behavioral context about quote generation, side effects, or retries, and 'Get' may understate the non-read-only POST operation without explicitly contradicting it.

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

Conciseness2/5

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

The text is only three words, so it is not bloated, but it is under-specified rather than appropriately concise for a nested POST quote endpoint. No useful structure or front-loaded context exists beyond the bare phrase.

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

Completeness1/5

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

For a complex POST with a nested required body, enums, an optional idempotency key, and no output schema, the description does not explain the operation's result or conditions. It is not complete enough for correct invocation.

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

Parameters1/5

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

The input has a nested requestBody and only 33% schema description coverage; the description gives no meaning for instance_id, from/to, request_amount, currency_type, or Idempotency-Key. It therefore fails to compensate for the low schema coverage.

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

Purpose3/5

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

The description names an action and resource ('Get FX Rate'), but it omits the payin-quote context in the tool name and does not distinguish it from PostV1InstancesQuotesFx or PostV1InstancesPayinQuotes. An agent can infer a rate lookup but not the specific scope.

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 statement of when this tool should be used instead of siblings such as PostV1InstancesPayinQuotes or PostV1InstancesQuotesFx, nor any prerequisites. The agent must guess from the name alone.

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

PostV1InstancesPayinsCardPaymentPost Instances Payins Card PaymentCInspect

Submit Card Payment

NameRequiredDescriptionDefault
payin_idYes
instance_idYes
requestBodyYes

TDQS

C2.3/5.0
Behavior2/5

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

The annotations already disclose that this is a non-readonly, open-world, non-idempotent, non-destructive write operation. The description adds no behavioral context beyond that, such as the one-time nature of the payment token, 3DS requirements on production, or what happens on failed submission.

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

Conciseness2/5

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

The description is only three words and is front-loaded, but it is under-specified rather than efficiently concise. It omits the context needed to understand the operation's scope and does not earn its place as a useful tool description.

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

Completeness2/5

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

This is a complex payment submission tool with nested 3DS and billing data, no output schema, and multiple sibling payin tools. The description does not explain the workflow, required production 3DS behavior, or how this differs from other payin submission routes, leaving significant gaps.

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

Parameters2/5

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

Schema description coverage is reported as 0%, so the description should compensate for undocumented parameters, but it says nothing about instance_id, payin_id, or requestBody. The nested schema does describe some request fields, which prevents this from being a 1, but the description itself adds no parameter meaning.

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

Purpose3/5

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

The phrase 'Submit Card Payment' gives a clear verb and resource, so the basic purpose is understandable. However, it essentially restates the tool title and does not distinguish this card-payment path from sibling payin submission tools such as PostV1InstancesPayinsEvm or the payin-quote tools.

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 guidance on when to use this tool versus alternatives, no prerequisites, and no mention of production 3DS requirements or token lifecycle. The POST name implies a write operation, but the description does not help the agent choose this tool correctly among the many payin-related siblings.

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

PostV1InstancesPayinsEvmPost Instances Payins EvmAInspect

Creates a payin from a payin quote and returns the instructions the payer uses to send funds (for example a Pix code or bank details). Create it before the payin quote expires. Send an Idempotency-Key header so a retry cannot create a second payin. On development instances the payin completes on its own about 30 seconds after creation; request_amount 66600 makes it fail and 77700 makes it refunded.

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well beyond the annotations: discloses the return payload (payer instructions), the expiry constraint, the idempotency/retry contract, and non-obvious sandbox semantics (auto-complete ~30s after creation, request_amount 66600 fails, 77700 refunds). Those magic values and timings are unobtainable from the schema and are exactly the kind of behavior an agent needs. The idempotentHint=false annotation is not contradicted — the key makes retries safe rather than the endpoint being inherently idempotent — but this tension is worth noting.

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 tight sentences, front-loaded with the action and return value, then the expiry and idempotency constraints, then the sandbox test values. Every sentence carries operational information; nothing is padding.

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 no output schema, the description correctly covers the return (payer instructions) and the mutation's key behaviors, so an agent can call it correctly. Gaps remain around error/expiry behavior (what happens if the quote has expired) and the unexplained instance_id, but annotations and schema carry the safety profile.

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 only 33%: Idempotency-Key is well documented in the schema and the description reinforces its purpose, but instance_id and payin_quote_id carry no schema descriptions at all. The description implies payin_quote_id's role ('Creates a payin from a payin quote') but never explains instance_id, its 15-char format, or how the quote id is obtained, so it only partly compensates for the gap.

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?

Specific verb+resource: 'Creates a payin from a payin quote and returns the instructions the payer uses to send funds (for example a Pix code or bank details)'. This cleanly separates it from sibling PostV1InstancesPayinQuotes (creates the quote) and PostV1InstancesPayinsCardPayment (a different payin rail), and it states the return payload up front.

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?

Gives a concrete precondition ('Create it before the payin quote expires') and a retry rule (send an Idempotency-Key so a retry cannot create a second payin). It stops short of naming an explicit alternative or when-not-to-use condition (e.g. when to use the card-payment or EVM payin variant instead), which keeps it below a 5.

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

PostV1InstancesPayoutsDocumentsPost Instances Payouts DocumentsAInspect

Submit a compliance document for a payout. SWIFT payouts waiting for documents require it and the submission resumes the compliance review; the optional payment description is written to the SWIFT memo. Other rails (wire, ACH, RTP, Pix and so on) may attach an optional document while the payout is processing or completed. It is stored for compliance without changing the payout status or tracking, the description is ignored, and submitting again replaces the previous document.

NameRequiredDescriptionDefault
idYes
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.3/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing side effects: SWIFT submissions resume compliance review, other rails do not change payout status or tracking, the description field is ignored off-SWIFT, and resubmission replaces the prior document. It does not mention the Idempotency-Key retry semantics, which is a gap given idempotentHint=false, but nothing here contradicts 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?

Front-loaded with the core action in the first clause, then rail-specific behavior in two dense follow-on sentences. No filler, though the sentences are long and could be split for faster scanning.

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 mutation tool with a nested request body, no output schema, and only partial schema coverage, the description covers what happens on each rail, the replace-on-resubmit semantics, and when it is mandatory. Missing only retry/idempotency guidance and path-parameter context.

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 low (25%) and the description only adds meaning for the description field (written to the SWIFT memo, ignored on other rails) – which the schema already states. It says nothing about instance_id, id, transaction_document_id, transaction_document_file, or the Idempotency-Key parameter, leaving those reliant on the schema alone.

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 and resource: 'Submit a compliance document for a payout.' It also names the affected resource type (payout) and the rails involved, which no sibling tool does, so an agent can distinguish it from the onboarding-document and RFI tools without opening a schema.

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 encodes when-to-use behavior per rail: SWIFT payouts 'waiting for documents require it' and submission resumes review, while other rails may attach optionally 'while the payout is processing or completed.' The requirement vs optional distinction is exactly the guidance an agent needs.

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

PostV1InstancesPayoutsEvmPost Instances Payouts EvmAInspect

Executes a payout quote. Despite the name, this is the endpoint for payouts funded from a BlindPay-managed wallet on any network, Solana included; self-custodied EVM wallets must approve the token first. Execute before the quote expires (5 minutes). Send an Idempotency-Key header so a retry cannot create a second payout. On development instances the payout completes on its own; request_amount 66600 makes it fail and 77700 makes it refunded.

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare the safety profile (write, open-world, non-idempotent, non-destructive); the description adds genuinely new behavioral facts: a 5-minute quote expiry, the retry/replay contract, the token-approval prerequisite, and deterministic dev-instance outcomes (66600 fails, 77700 refunds). These are exactly the traits an agent cannot derive from the annotation block.

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?

Front-loaded with the core action, then caveats, then timing, then test-mode behavior — a sensible order with no filler sentences. Slightly dense for one short paragraph, and the dev-instance test values sit oddly at the end, but every sentence carries actionable 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?

For a nested-body mutation with no output schema and thin parameter documentation, the description covers the critical gaps: expiry, idempotency, approval prerequisite, and test-mode outcomes. What is missing is what the call returns (payout object/id) and the error path for an expired 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?

Schema coverage is only 33%, and the description compensates only indirectly: it explains the managed-wallet funding case, which points to wallet_id over sender_wallet_address, without stating the either/or explicitly (the schema does that). It also references 'request_amount 66600/77700', a field that is not in the input schema at all, which muddies rather than clarifies parameter meaning.

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

Purpose4/5

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

States a specific verb+resource ('Executes a payout quote') and immediately disambiguates the misleading 'Evm' name by scoping it to payouts funded from a BlindPay-managed wallet on any network. It partially differentiates from siblings (PayoutsSolana, PayoutsStellar) by naming the self-custodied EVM case, but never explicitly says which sibling handles the self-custody path, so routing is still partly inferred.

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?

Gives clear preconditions: quote must not be expired (5-minute window), Idempotency-Key should be sent on any retry risk, and self-custodied EVM wallets must approve the token before calling. It stops short of naming the alternative endpoint for self-custodied wallets, so the when-not branch is implied rather than explicit.

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

PostV1InstancesPayoutsSolanaPost Instances Payouts SolanaCInspect

Create Payout on Solana

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already disclose the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false), so the description's silence is a smaller gap. Still, for an open-world money-movement operation it adds nothing about required authorization, the wallet_id vs sender_wallet_address exclusivity, or the idempotency key semantics - all of which appear only in the schema.

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

Conciseness2/5

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

Four words is brief but this is under-specification, not conciseness - there is virtually no content to front-load. Nothing in the sentence earns additional understanding beyond the tool name.

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

Completeness1/5

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

For a destructive-in-effect, open-world financial mutation with a nested body, no output schema, and only 33% schema coverage, the description supplies none of the context an agent needs to call it correctly. It is effectively just the endpoint title restated.

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

Parameters2/5

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

Schema description coverage is only 33%, and the description provides zero parameter guidance, so it fails to compensate. The nested requestBody fields (quote_id, wallet_id, sender_wallet_address, signed_transaction) carry meanings the description never touches, leaving the agent dependent on per-property schema text alone.

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

Purpose3/5

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

States a specific verb and resource ('Create Payout on Solana'), which hints at the chain-specific variant among siblings like PostV1InstancesPayoutsEvm and PostV1InstancesPayoutsStellar. However, it says nothing about what a payout is here, what it requires, or how it differs from those siblings beyond the chain name.

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?

No when-to-use guidance, no prerequisites (e.g., that a quote_id must first be created via PostV1InstancesQuotes), and no mention of the alternative chain-specific payout tools. The agent must infer routing entirely from the tool name.

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

PostV1InstancesPayoutsStellarPost Instances Payouts StellarCInspect

Create Payout on Stellar

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare that this is a non-read-only, non-destructive, open-world operation, so the safety profile is partly covered. The description adds no behavioral context, such as fund-movement implications, authorization requirements, or how idempotency should be applied.

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?

It is a single front-loaded sentence with no wasted words. However, it is under-specified rather than appropriately sized for a complex payout-creation operation.

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

Completeness2/5

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

For a funds-moving payout tool with nested parameters, optional idempotency, and multiple wallet/signing modes, the description is far too sparse. Annotations provide some safety context, but the definition still leaves the agent without necessary operational guidance.

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

Parameters1/5

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

The description contributes no parameter meaning at all. With only 33% schema description coverage and a nested request body containing key fields like quote_id, signed_transaction, wallet_id, and sender_wallet_address, the description fails to compensate for the low coverage.

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 verb and resource ('Create Payout') plus the network ('Stellar'), so it is clearly distinguishable from EVM/Solana payout siblings. It does not, however, distinguish this from the closely related StellarAuthorize sibling.

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 guidance on when to use this tool versus PostV1InstancesPayoutsStellarAuthorize or the other payout rail tools. It also does not mention prerequisites such as obtaining a quote_id or whether signing/authorization must happen first.

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

PostV1InstancesPayoutsStellarAuthorizePost Instances Payouts Stellar AuthorizeDInspect

Authorize Token Stellar

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare this is a non-read-only, non-idempotent, open-world operation, and the description adds nothing beyond that. For a money-moving authorization step it says nothing about what gets authorized, whether it is reversible, or what side effects occur on success.

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

Conciseness2/5

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

Three words with no wasted filler, but this is under-specification rather than conciseness. There is no front-loaded statement of purpose an agent could act on.

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

Completeness1/5

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

A destructive-adjacent, open-world financial authorization with a nested request body, 67% undocumented parameters, and no output schema demands far more description than this. Nothing an agent needs in order to call it correctly is present.

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

Parameters2/5

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

Schema description coverage is 33% and the description mentions no parameters at all, so it fails to compensate. The critical wallet_id vs sender_wallet_address exclusivity and the idempotency key semantics are carried only by the schema, and the required quote_id is left unexplained.

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

Purpose2/5

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

"Authorize Token Stellar" restates the tool name (Post...PayoutsStellarAuthorize) almost word for word without saying what authorizing a Stellar token actually does in a payout flow. It gives no way to distinguish it from the sibling PostV1InstancesPayoutsStellar, which appears to be the adjacent step.

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 statement of when to call this, what precondition (e.g., an existing quote from PostV1InstancesQuotes) must hold, or which sibling performs the alternative. The agent must infer the position of this tool in the payout sequence entirely on its own.

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

PostV1InstancesPrepareDelegateSolanaPost Instances Prepare Delegate SolanaBInspect

Prepares a delegation transaction for Solana token transfers. You can either provide a quote_id (recommended) to automatically use the correct token amount and address from the quote, or manually provide owner_address, token_address, and amount.

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

B3.4/5.0
Behavior3/5

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

The word 'Prepares' usefully signals that this is a preparatory step rather than an executed transfer, adding context beyond the annotations. But with readOnlyHint=false, idempotentHint=false, and an Idempotency-Key parameter, the description says nothing about retry behavior, what is produced, or what permissions are needed.

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?

Two sentences, front-loaded with the purpose and then the selection logic. The second sentence is long but every clause maps to a real decision the caller must make.

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

Completeness3/5

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

For a nested-object tool with no output schema, the description explains input modes but not what the response contains (e.g., a serialized transaction to sign) or how instance_id scopes the call. An agent would need to inspect the schema for the rest.

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?

Top-level schema coverage is only 33%, so the description carries some burden. It explains the either/or relationship between quote_id and the manual fields, which is useful, but the inner schema descriptions already state 'Required if quote_id is not provided' and that quote_id is recommended. It ignores instance_id and Idempotency-Key entirely.

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

Purpose4/5

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

States a specific verb ('Prepares') and resource ('delegation transaction for Solana token transfers'), which is enough to identify the operation. It does not explicitly differentiate itself from nearby siblings such as PostV1InstancesMintUsdbSolana or PostV1InstancesPayoutsSolana, so it stops short of a 5.

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

Usage Guidelines3/5

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

The description gives parameter-level guidance by naming quote_id as the recommended route and manual fields as the alternative. However, it offers no guidance on when to choose this tool over the other Solana-related siblings, nor any prerequisites or exclusions.

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

PostV1InstancesQuotesPost Instances QuotesAInspect

Prices a payout. Send exactly one of bank_account_id or payable_id. request_amount is in cents (1000 means 10.00) and currency_type says whether it is what the sender pays or what the receiver gets. The quote expires 5 minutes after creation (expires_at is epoch milliseconds) and is single-use: execute it with Create Payout on EVM Chains for BlindPay-managed wallets on any network, Solana included, or with the Solana or Stellar payout endpoints for self-custodied wallets.

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: the quote expires 5 minutes after creation, is single-use, expires_at is epoch milliseconds, and it names the downstream endpoints that consume the quote. These lifecycle constraints are exactly what an agent needs and are not 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.

Conciseness4/5

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

A single dense, front-loaded paragraph where each sentence carries information. Slightly run-on toward the end, but no filler and no repetition of the schema.

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?

No output schema exists, but the description flags the key response detail (expires_at in epoch ms) and the single-use lifecycle. It could say more about the quote response shape, but for a nested-body quote tool with rich schema descriptions it is largely complete.

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 only 33% schema coverage, the description compensates for the most important gaps: it explains request_amount in cents, currency_type as sender-vs-receiver, and the mutual exclusivity of bank_account_id/payable_id. It doesn't touch several object params (partner_fee_id, refund_wallet_address, network/token choices), so it doesn't fully close the coverage gap, but it covers the critical 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?

States a specific verb and resource ('Prices a payout') that clearly separates it from the sibling quote endpoints (PayinQuotes, TransferQuotes, QuotesFx). An agent can tell this is the payout-quote tool without opening the schema.

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?

Gives clear operational conditions: send exactly one of bank_account_id or payable_id, and explicitly routes the agent to the correct execution endpoint afterward (EVM Create Payout for managed wallets, Solana/Stellar payout endpoints for self-custody). It lacks an explicit when-not-to-use statement versus the other quote tools, but the context is strong.

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

PostV1InstancesQuotesFxPost Instances Quotes FxDInspect

Get FX Rate

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.7/5.0
Behavior2/5

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

Annotations only declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false; the description adds nothing about what the POST does, whether a quote is persisted, or how long it remains valid. Notably the schema exposes an Idempotency-Key parameter while the description never mentions retry semantics, which is the main behavioral concern here.

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

Conciseness2/5

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

Three words with no front-loaded intent, scope, or constraints. It is terse but under-specified rather than concise.

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

Completeness1/5

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

A POST endpoint with a nested body, enums, an idempotency header, and no output schema needs a description covering the request shape and return value. 'Get FX Rate' supplies none of that.

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

Parameters2/5

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

Schema description coverage is only 33% and the description contributes zero parameter meaning. The nested requestBody (from/to enums, currency_type, request_amount with a non-obvious minor-unit convention) is not explained, so an agent must read the schema closely to call it correctly.

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

Purpose2/5

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

The description restates the tool name in plain words ('Get FX Rate' for PostV1InstancesQuotesFx) without saying what an FX quote actually returns or how it differs from the many sibling quote endpoints (PostV1InstancesQuotes, PostV1InstancesPayinQuotesFx, PostV1InstancesTransferQuotes). An agent cannot tell which quote tool to pick.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus the numerous sibling quote and payin/payout tools, no prerequisites, and no stated exclusions. The agent must guess from the tool name alone.

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

PostV1InstancesRfiPost Instances RfiBInspect

Submit a flat response object for the open instance RFI. Standalone: submitting does not change any instance or onboarding status. Returns { success: false, reason } when no pending RFI exists, callers should refetch the RFI state instead of retrying.

NameRequiredDescriptionDefault
instance_idYes
requestBodyNo

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly=false, idempotent=false, destructive=false, and openWorld=true. The description adds real value beyond those: it discloses that submission is standalone and does not change instance or onboarding status, and it specifies the error shape `{ success: false, reason }` with guidance to refetch rather than retry.

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?

Three front-loaded sentences, each carrying a distinct point: the action, the side-effect scope, and the error-handling behavior. Minor jargon ('Standalone:') and vague phrasing ('flat response object') keep it from a 5, but there is no filler.

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

Completeness3/5

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

There is no output schema, and the description usefully covers the error return and the fact that submission has no status side effects. However, for a non-idempotent POST with a free-form nested requestBody and 0% schema coverage, the description leaves the agent without the payload shape it needs to call the tool correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It only calls the requestBody a 'flat response object' without naming any fields or expected keys, and it says nothing about the required instance_id beyond what the schema example and length constraints show. That is not enough to guide construction of a nested free-form request body.

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

Purpose4/5

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

States a specific verb and resource: submit a flat response for the open instance RFI. It implicitly distinguishes the instance-level RFI from the customer-level sibling (PostV1InstancesCustomersRfi) by naming the instance scope, though it never explicitly names the alternative.

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?

Usage is implied: call this when an open instance RFI exists and needs a response. The description adds handling guidance for the no-pending-RFI case (refetch instead of retry), but it does not explicitly state prerequisites, when to prefer a sibling, or what happens if called with no open RFI beyond the error return.

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

PostV1InstancesTransferQuotesPost Instances Transfer QuotesDInspect

Create Transfer Quote

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so the safety profile is known from structured data. The description adds nothing beyond that: it does not say whether a quote locks a rate, how long it is valid, what fees or network constraints apply, or what the response contains — all of which matter for a write-scoped quote call.

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

Conciseness2/5

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

The three-word phrase is short but that is under-specification rather than conciseness; there is no front-loaded purpose statement, scope, or alternative routing to speak of. Nothing is wasted because nothing meaningful is present.

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

Completeness1/5

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

This is a complex tool: a nested request body with ten fields including fee configuration, amount reference semantics, and a large network enum, plus an Idempotency-Key header and no output schema. A three-word description leaves the agent without any of the context needed to invoke it correctly.

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

Parameters2/5

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

Schema description coverage is only 33%, and several key fields (wallet_id, sender_token, customer_token, customer_network, customer_wallet_address, amount_reference with an empty description) have no explanatory text. The description does not compensate at all, leaving the nested requestBody semantics largely undocumented.

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

Purpose2/5

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

"Create Transfer Quote" essentially restates the tool name and title without adding a distinguishing detail. It does not clarify how this quote differs from the many sibling quote endpoints (PostV1InstancesQuotes, PostV1InstancesQuotesFx, PostV1InstancesPayinQuotes, PostV1InstancesPayinQuotesFx), so an agent must guess from the URL alone.

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 when-to-use or when-not-to-use guidance, no mention of prerequisites (instance, wallet, customer wallet address), and no reference to alternative quote tools. The agent gets no signal about when a transfer quote is the right choice versus a payin quote or generic quote.

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

PostV1InstancesTransfersPost Instances TransfersDInspect

Create Transfer

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.3/5.0
Behavior1/5

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

Annotations already say readOnly=false, destructive=false, openWorld=true, idempotent=false, and the description adds nothing beyond them. Critically, it never mentions that this moves money, what prerequisites or approvals apply, or that the schema exposes an Idempotency-Key for safe retries — context an agent needs for a non-idempotent financial mutation.

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

Conciseness2/5

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

Two words are technically waste-free, but this is under-specification rather than conciseness — there is nothing front-loaded because there is nothing substantive to front-load.

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

Completeness1/5

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

A nested-body, money-moving POST with no output schema and only 33% parameter documentation requires far more than "Create Transfer"; an agent cannot tell what the body must contain, what happens on success, or what errors to expect.

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

Parameters1/5

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

Schema coverage is only 33% and the two required parameters (instance_id, requestBody.transfer_quote_id) have no descriptions in either the schema or the description. The only documented parameter, Idempotency-Key, is explained entirely inside the schema, so the description compensates for none of the gap.

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

Purpose2/5

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

"Create Transfer" restates the tool name and title almost verbatim; it adds no scope, no resource qualifier (transfer of what, from where), and nothing that distinguishes it from siblings like PostV1InstancesTransferQuotes or GetV1InstancesTransfers.

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

Usage Guidelines1/5

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

There is no guidance on when to create a transfer, what must precede it (a transfer quote), or how it differs from the quote/payout/payin tools listed among the siblings.

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

PostV1InstancesWebhookEndpointsPost Instances Webhook EndpointsAInspect

Registers an HTTPS endpoint that receives the listed events. Event names and payload schemas are in the webhooks section of this API reference (and in the MCP resource blindpay://webhooks/events). Deliveries are signed with Svix; read the signing secret with Retrieve Webhook Secret and verify every delivery.

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

A4.1/5.0
Behavior4/5

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

Goes beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=true) by disclosing the HTTPS requirement, that deliveries are signed via Svix, and that every delivery should be verified. It does not cover auth/permission requirements, duplicate-URL behavior, or whether a signing secret is returned at creation.

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 with the core behavior front-loaded, then the event reference, then the security obligation. No filler.

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

Completeness3/5

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

No output schema exists, and the description never states what creation returns (endpoint id, signing secret, status) or that the secret must be fetched separately. Adequate for calling the tool, but thin for a mutation tool with a nested body and an idempotency parameter.

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 only 33% (only Idempotency-Key is documented). The description does add value by characterizing the URL as HTTPS and pointing to the events schema/MCP resource for the events array, but says nothing about instance_id or the URL constraints beyond the protocol.

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 and resource ('Registers an HTTPS endpoint that receives the listed events'), which is unambiguously the create operation versus the Get/Delete webhook-endpoint siblings. An agent can identify the operation without opening the schema.

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?

Gives clear post-creation steering: it points to the webhooks section / blindpay://webhooks/events resource for event names, and to Retrieve Webhook Secret for the signing secret. It does not explicitly state when to prefer this over listing or updating endpoints, but the operation type makes the choice obvious.

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

PostV1PresignPost PresignDInspect

Presign File URL

NameRequiredDescriptionDefault
instance_idYes
requestBodyYes

TDQS

D1.3/5.0
Behavior1/5

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

Annotations declare a non-read-only, non-idempotent, open-world write operation, but the description adds no behavioral context at all: no mention of side effects, expiry of the resulting URL, auth requirements, or error conditions for foreign hosts. The full burden was on the description and it carries none of it.

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

Conciseness2/5

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

Three words is technically concise, but here brevity is under-specification rather than economy. Nothing is front-loaded because nothing of substance is stated.

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

Completeness1/5

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

For a two-parameter nested-body write tool with no output schema, the description should at minimum explain that it returns a signed URL tied to a previously uploaded file. Nothing an agent needs to call this correctly is present.

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

Parameters1/5

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

Schema description coverage is reported as 0%; instance_id is completely undocumented and the only hint about file_url lives in the schema itself, not the description. The description contributes no meaning about either required parameter or the nested requestBody.

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

Purpose2/5

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

The description 'Presign File URL' essentially restates the tool title 'Post Presign' and offers no verb beyond the name. It does not explain what a presigned URL is for here, nor distinguish this from file-upload or document siblings in the listing.

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

Usage Guidelines1/5

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

There is no guidance on when to call this versus any other tool, no mention of prerequisites (e.g. that the file must already be uploaded via POST /upload), and no stated alternatives among the many sibling endpoints.

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

PutV1InstancesByIdPut Instances By IdD
Idempotent
Inspect

Update Instance

NameRequiredDescriptionDefault
idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is covered by structured data. However, the description adds nothing about what mutation actually occurs — critically, whether omitted fields in the body are cleared by this PUT, which is the single most dangerous unknown for a caller. No contradiction with annotations, but no compensating context either.

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

Conciseness2/5

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

Two words are technically waste-free, but this is under-specification rather than conciseness — there is no front-loaded statement of effect, scope, or required inputs. The single sentence earns its place only as a placeholder.

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

Completeness1/5

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

For a mutation tool with a large nested body, conditional field dependencies (partner_tos_terms_accepted requires partner_tos_link and partner_tos_screenshot, dashboard users only), and no output schema, the description is completely inadequate. An agent cannot tell what the call returns, whether it is a full overwrite, or how the idempotency key interacts with the body.

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

Parameters2/5

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

Schema description coverage is only 33%: neither the `id` nor the `requestBody` wrapper is described, and the description supplies no meaning for them. The nested body fields do carry rich inline descriptions, which prevents this from being a 1, but the description itself contributes zero semantics beyond the schema.

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

Purpose2/5

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

"Update Instance" merely restates the tool name and title (Put Instances By Id) without adding specificity. It does not distinguish this instance-settings update from near-identically named siblings such as PutV1InstancesCustomersById or PutV1InstancesMembersByUserId, so an agent must infer the resource target from the URL-shaped name alone.

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

Usage Guidelines1/5

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

There is no guidance on when to use this tool versus alternatives, no prerequisites (e.g. dashboard-user-only fields, passkey/TOS coupling), and no note on whether it is a full replace or partial update. The sibling list contains many closer-scoped PUT/PATCH tools that the agent has no basis to choose between.

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

PutV1InstancesCustomersByIdPut Instances Customers By IdC
Idempotent
Inspect

Update Customer

NameRequiredDescriptionDefault
idYes
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=true, so the description carries a lighter burden, but it still discloses nothing about what the call does behaviorally: no mention that the nested requestBody is a KYC/customer profile payload, that URLs are re-hosted (as the schema notes for additional_info), or what a failed/partial update leaves behind. Nothing contradicts the annotations, but the description contributes essentially zero behavioral context for a large mutation.

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

Conciseness2/5

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

Two words are technically concise but this is under-specification, not conciseness. There is no front-loaded content to structure because essentially no information is present.

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

Completeness1/5

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

A complex, deeply nested customer-profile mutation with 25% schema coverage and no output schema needs far more than two words. An agent has no way to know preconditions, required-field interactions (e.g. tax_type when country is US), or what the response confirms.

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

Parameters1/5

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

Schema description coverage is only 25% across 4 parameters, the lowest band, so the description must compensate — and it says nothing about any parameter. The three required inputs (id, instance_id, requestBody with its large nested required email/country contract) are entirely undocumented in prose.

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

Purpose3/5

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

"Update Customer" gives a verb (update) and a resource (customer), which translates the opaque tool name into plain semantics. However, it adds no scope: it does not say which customer fields are writable, that the update is scoped to an instance, or how it differs from sibling PostV1InstancesCustomers / GetV1InstancesCustomersById.

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?

No when-to-use guidance at all. The agent is not told to prefer this over PostV1InstancesCustomers (create) or GetV1InstancesCustomersById (read), nor whether the call is a full replace (PUT) versus a partial patch, which is the critical routing decision in this sibling cluster.

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

PutV1InstancesCustomersVirtualAccountsByIdPut Instances Customers Virtual Accounts By IdD
Idempotent
Inspect

Update Virtual Account

NameRequiredDescriptionDefault
idYes
customer_idYesCustomer ID
instance_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

D1.8/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety characteristics are covered. The description adds nothing beyond that — no mention of required permissions, whether omitted fields are cleared or preserved, or what the idempotency window means in practice.

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

Conciseness2/5

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

The single sentence contains zero waste but also zero information; it is under-specification rather than conciseness. There is nothing front-loaded because there is nothing to front-load.

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

Completeness1/5

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

For a mutating tool with a required nested request body, no output schema, and half the parameters undocumented, the description is completely inadequate. An agent cannot know what the update changes or what a successful response contains.

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

Parameters1/5

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

Schema description coverage is only 40% and five parameters exist, including a nested requestBody with token enum, blockchain_wallet_id, and partner_fee_id that carry no descriptions. The description supplies no parameter meaning at all, so it fails to compensate for the low coverage.

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

Purpose2/5

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

"Update Virtual Account" only restates the tool name/title with no added specificity. It doesn't indicate scope (which fields of a virtual account can be updated), nor how it differs from GetV1InstancesCustomersVirtualAccountsById or PostV1InstancesCustomersVirtualAccounts.

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 statement of when to use this tool versus its siblings. An agent is left to infer from the HTTP verb that this modifies an existing virtual account rather than creating or fetching one, but no prerequisites, preconditions, or alternatives are named.

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

PutV1InstancesMembersByUserIdPut Instances Members By User IdC
Idempotent
Inspect

Update Instance Member Role

NameRequiredDescriptionDefault
idYes
user_idYes
requestBodyYes
Idempotency-KeyNoOptional key to safely retry this request without performing the action twice. Retrying with the same key and an identical body replays the original response; reusing a key with a different body returns an error. Keys are kept for 24 hours.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds nothing beyond the name: it does not say whether the role is replaced wholesale, what permissions are needed to change a role, or what errors occur for invalid upgrades.

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?

A four-word fragment is front-loaded and waste-free, but here terseness is under-specification rather than efficiency; nothing in it earns extra credit beyond the title.

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

Completeness2/5

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

This is a mutation with a nested request body carrying a role enum, 3 required parameters, and no output schema, yet the description never explains the role replacement semantics or permission requirements. For a write endpoint that changes access levels, this is materially incomplete.

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

Parameters2/5

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

Schema description coverage is only 25% — only the Idempotency-Key field is documented. The description does not clarify that 'id' is the instance, 'user_id' identifies the target member, or that 'user_role' is the replacement role, so the three required parameters remain ambiguous.

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 pairs a specific verb (update) with a specific resource (instance member role), so an agent knows this mutates an existing member's role rather than creating or deleting one. It does not, however, distinguish itself from siblings such as GetV1InstancesMembers or DeleteV1InstancesMembersByUserId beyond the verb.

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 guidance on when to use this versus GetV1InstancesMembers (to inspect current roles) or DeleteV1InstancesMembersByUserId (to remove a member). No prerequisites, permissions, or call-order conditions are stated.

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.

  1. 92 tool updatesv1.9.3
    • AddedDeleteV1InstancesCustomersBankAccountsById
    • AddedDeleteV1InstancesCustomersBlockchainWalletsById
    • AddedDeleteV1InstancesCustomersById
    • AddedDeleteV1InstancesCustomersWalletsById
    • AddedDeleteV1InstancesMembersByUserId
    • AddedDeleteV1InstancesPartnerFeesById
    • AddedDeleteV1InstancesPayablesById
    • AddedDeleteV1InstancesWebhookEndpointsById
    • AddedGetInstancesCustomersBankAccountsOfframpWalletsById
    • AddedGetV1AvailableBankDetails
    • AddedGetV1AvailableNaics
    • AddedGetV1AvailableRails
    • AddedGetV1AvailableSwiftBySwift
    • AddedGetV1InstancesBillingFees
    • AddedGetV1InstancesById
    • AddedGetV1InstancesCustomers
    • AddedGetV1InstancesCustomersBankAccounts
    • AddedGetV1InstancesCustomersBankAccountsById
    • AddedGetV1InstancesCustomersBankAccountsOfframpWallets
    • AddedGetV1InstancesCustomersBlockchainWallets
    • AddedGetV1InstancesCustomersBlockchainWalletsById
    • AddedGetV1InstancesCustomersBlockchainWalletsSignMessage
    • AddedGetV1InstancesCustomersById
    • AddedGetV1InstancesCustomersLimitIncrease
    • AddedGetV1InstancesCustomersRfi
    • AddedGetV1InstancesCustomersVirtualAccounts
    • AddedGetV1InstancesCustomersVirtualAccountsById
    • AddedGetV1InstancesCustomersWallets
    • AddedGetV1InstancesCustomersWalletsBalance
    • AddedGetV1InstancesCustomersWalletsById
    • AddedGetV1InstancesCustomersWalletsDeposits
    • AddedGetV1InstancesCustomersWalletsYield
    • AddedGetV1InstancesCustomersWalletsYieldHistory
    • AddedGetV1InstancesCustomersWalletsYieldTransactions
    • AddedGetV1InstancesLimitsCustomersById
    • AddedGetV1InstancesMembers
    • AddedGetV1InstancesOnboardingBusinessDetails
    • AddedGetV1InstancesOnboardingBusinessProfile
    • AddedGetV1InstancesOnboardingOwnershipDocuments
    • AddedGetV1InstancesPartnerFees
    • AddedGetV1InstancesPartnerFeesById
    • AddedGetV1InstancesPayables
    • AddedGetV1InstancesPayablesById
    • AddedGetV1InstancesPayins
    • AddedGetV1InstancesPayinsById
    • AddedGetV1InstancesPayouts
    • AddedGetV1InstancesPayoutsById
    • AddedGetV1InstancesRfi
    • AddedGetV1InstancesTransfers
    • AddedGetV1InstancesTransfersById
    • AddedGetV1InstancesWebhookEndpoints
    • AddedGetV1InstancesWebhookEndpointsPortalAccess
    • AddedGetV1InstancesWebhookEndpointsSecret
    • AddedPatchV1InstancesCustomersBlockchainWalletsById
    • AddedPostV1EInstancesTos
    • AddedPostV1InstancesCreateAssetTrustline
    • AddedPostV1InstancesCustomers
    • AddedPostV1InstancesCustomersBankAccounts
    • AddedPostV1InstancesCustomersBankAccountsOfframpWallets
    • AddedPostV1InstancesCustomersBankAccountsPlaid
    • AddedPostV1InstancesCustomersBlockchainWallets
    • AddedPostV1InstancesCustomersLimitIncrease
    • AddedPostV1InstancesCustomersRfi
    • AddedPostV1InstancesCustomersVirtualAccounts
    • AddedPostV1InstancesCustomersWallets
    • AddedPostV1InstancesCustomersWalletsYieldDisable
    • AddedPostV1InstancesCustomersWalletsYieldEnable
    • AddedPostV1InstancesMintUsdbSolana
    • AddedPostV1InstancesMintUsdbStellar
    • AddedPostV1InstancesPartnerFees
    • AddedPostV1InstancesPayables
    • AddedPostV1InstancesPayinQuotes
    • AddedPostV1InstancesPayinQuotesFx
    • AddedPostV1InstancesPayinsCardPayment
    • AddedPostV1InstancesPayinsEvm
    • AddedPostV1InstancesPayoutsDocuments
    • AddedPostV1InstancesPayoutsEvm
    • AddedPostV1InstancesPayoutsSolana
    • AddedPostV1InstancesPayoutsStellar
    • AddedPostV1InstancesPayoutsStellarAuthorize
    • AddedPostV1InstancesPrepareDelegateSolana
    • AddedPostV1InstancesQuotes
    • AddedPostV1InstancesQuotesFx
    • AddedPostV1InstancesRfi
    • AddedPostV1InstancesTransferQuotes
    • AddedPostV1InstancesTransfers
    • AddedPostV1InstancesWebhookEndpoints
    • AddedPostV1Presign
    • AddedPutV1InstancesById
    • AddedPutV1InstancesCustomersById
    • AddedPutV1InstancesCustomersVirtualAccountsById
    • AddedPutV1InstancesMembersByUserId

TDQS

C2.3/5.0

Scored across 92 tools

Disambiguation3/5

The tools mostly map to distinct REST endpoints, and detailed descriptions help distinguish resources and actions. However, the set has many closely related variants such as payin/payout/transfer quotes, payin/payout execution endpoints across EVM/Solana/Stellar, and multiple wallet and bank-account subtypes, creating real selection ambiguity at scale.

Naming Consistency4/5

Names consistently follow an HTTP-method plus API-path convention, e.g. GetV1InstancesCustomers, PostV1InstancesPayinsEvm, DeleteV1InstancesWebhookEndpointsById. There are minor inconsistencies such as the odd `PostV1EInstancesTos` and `GetInstancesCustomersBankAccountsOfframpWalletsById` missing `V1`, but the overall pattern is predictable.

Tool Count1/5

92 tools is an extreme surface for an MCP server and far exceeds the typical 3-15 range. While the domain is broad, exposing nearly every REST endpoint as a separate tool makes discovery and correct selection unnecessarily difficult.

Completeness4/5

The surface covers the payment lifecycle broadly: customers, KYC/KYB, bank accounts, wallets, virtual accounts, payins, payouts, quotes, transfers, payables, webhooks, fees, onboarding, and compliance documents. There are minor gaps such as limited update/delete coverage for immutable payment objects, but no major dead ends for core workflows.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to securely interact with Payre's Web3 payment gateway for generating crypto checkout invoices, monitoring settlements, managing payout destinations, and inspecting analytics.
    18
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI coding agents to add stablecoin checkout, payment links, payment status checks, webhook verification, and webhook-based entitlement logic to applications. It also provides tools for workspace registration, settlement and webhook configuration, paylink creation, and crypto payment status checks.
    -