Skip to main content
Glama
wundervault

wundervault

Official

vault_pay

Pay an x402 402 Payment Required using a vaulted wallet without exposing its private key; return the payment header to retry the request, with owner approval outside allowed payees or daily limits.

Instructions

Pay an x402 "402 Payment Required" from a vaulted wallet whose key is never returned to you. Pass the 402 reply's PAYMENT-REQUIRED header (or the decoded JSON, or a v1 402 body) as payment_required; you get back the header to send when you retry the same request. USDC only, on Base, Base Sepolia, Solana and Solana devnet. Payments inside the owner's rules (allowed payees, a daily limit) are signed at once; anything else waits for the owner to approve, and if they have not answered yet, call again with the same payment to keep waiting.

Input Schema

NameRequiredDescriptionDefault
purposeYesWhy this payment is needed. The owner sees it if they are asked.
entry_idYesVault entry holding the wallet.
accept_indexNoWhich offer in accepts[] to pay, when the merchant makes more than one.
payment_requiredYesThe PAYMENT-REQUIRED header value (base64), or the decoded object.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.2

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: the key is never returned, USDC only on four named chains, payments inside owner rules are signed immediately, and anything outside allowed payees or the daily limit waits for owner approval. It also discloses the polling pattern: call again with the same payment to keep waiting.

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-loads the core action and stays dense with no filler. The opening phrase is slightly awkward and the approval-waiting clause is packed into the same paragraph, but every sentence adds useful information.

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

Completeness5/5

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

Given four parameters, no output schema, and no annotations, the description covers the critical gaps: what the tool returns (the header to send on retry), chain and currency restrictions, the approval flow, and the retry behavior when approval is pending. Nothing an agent needs in order to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by saying payment_required can also be a v1 402 body, and that purpose is shown to the owner if approval is requested. accept_index is not elaborated in the description but is adequately covered by the schema.

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

Purpose5/5

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

States a specific verb and resource: pay an x402 402 Payment Required from a vaulted wallet whose key is never exposed. This is clearly distinct from sibling tools like vault_sign or vault_call, which do not handle x402 payment flows.

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 exactly what to pass (the PAYMENT-REQUIRED header, decoded JSON, or v1 402 body) and what to do with the result: retry with the returned header. Also tells the agent how to keep waiting when owner approval is pending. It does not explicitly name alternatives or exclusions versus vault_sign, which keeps it from a 5.

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