Skip to main content
Glama

Register a merchant wallet

create_wallet

Register a receiving wallet the merchant controls. type=xpub for bitcoin (CoinVello derives a fresh address per invoice from the extended PUBLIC key); type=address for ethereum, base, arbitrum, optimism, polygon, bnb, avalanche, robinhood, solana, tron. Never pass a private key or seed phrase. The wallet is usable at once in live and test mode; addresses are validated strictly (format, checksum, network, no token contracts). For xpubs, show the returned first_address so the merchant can compare it with their wallet's first receive address. Signed-message verification (POST /wallets/{id}/verification then /verify) is optional and never required.

Input Schema

NameRequiredDescriptionDefault
typeYes
xpubNoxpub/ypub/zpub (BTC), tpub/upub/vpub (testnets) or an output descriptor. Required when type=xpub.
chainYes
labelYes
assetsNoAssets accepted at this address, e.g. ["usdc:polygon","usdt:polygon"]. Defaults to the native asset. Each must be listed by list_assets for the key's mode.
addressNoChecksummed EVM address, Solana pubkey or Tron address. Required when type=address.
enabledNo
metadataNoUp to 50 string key/value pairs returned on the object and in webhooks.
start_indexNo
address_typeNo
derivation_pathNoAccount path such as m/84'/0'/0'. Inferred from the prefix when omitted.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and delivers real behavior: the wallet is usable immediately in both live and test mode, addresses are validated strictly on format/checksum/network and token contracts are rejected, and the returned first_address should be surfaced for merchant confirmation. It omits auth/permission requirements and what happens on a duplicate or invalid registration, which keeps it from a 5.

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 purpose, then type routing, then safety caveat — the ordering matches how an agent would plan the call. It is dense with long parenthetical sentences and the trailing signed-message verification sentence is somewhat tangential, but nothing is pure padding.

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 an 11-parameter mutation with a nested metadata object, no annotations and no output schema, the description covers the critical path and one return field (first_address) but leaves optional parameters and the full response shape unaddressed. Adequate for the happy path, incomplete as a complete specification.

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 45% across 11 parameters, so the description must compensate, and it does for the most important ones: the type branching, the xpub-vs-address requirement, and the chain pairing. It says nothing about label, enabled, metadata, assets, start_index, address_type or derivation_path, leaving half the surface to 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 ('Register a receiving wallet the merchant controls') and immediately splits the tool into its two operating modes, xpub for bitcoin vs address for EVM/Solana/Tron chains. An agent can tell exactly what this creates and which mode applies 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?

Explicitly routes the caller: use type=xpub for bitcoin, type=address for the ten listed chains, and 'Never pass a private key or seed phrase' closes off a plausible failure mode. It also notes verification is optional and never required, preventing unnecessary extra calls. It does not name a sibling (e.g. list_wallets or list_assets) as the alternative flow, 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.