Skip to main content
Glama

Authorize payout

wever_payout-authorize
DestructiveIdempotent

Bind a trusted-issuer AP2 signed presentation and a separate EIP-712 principal_signature from a configured treasury holder to the exact payout recipient, amount and expiry. AP2 retains its API-fee scope; only the separate treasury signature authorizes principal. Uses the wever_ap2-mandate-gateway verifier, trust anchors and replay ledger with holder binding v2. Returns authorized with a signed receipt. No money moves. POST /api/payout-authorize. Paid URL: 0.10 USDC per call on Base mainnet using x402 exact, under the existing shared 10 signed-wallet free calls over rolling 30 days. Every call requires X-Wever-Wallet-Proof bound to the exact JSON arguments and this API path, including paid calls. The tool fee is separate from the payout amount and grants no disbursement authority. The operator manually funds the dedicated hot payout wallet; Ledger keys never reach the server, and sweep and reclaim remain manual. No private keys are accepted. A disbursement primitive, not a bank: no yield, conversion or fiat. External custody and security audit required before large-value use. Company-authored; usage remains explicitly labeled. Read /api/payout-contract for exact schemas and authorization flow.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
payout_idYes
expires_atYes
presentationYes
challenge_tokenYes
idempotency_keyYes
principal_signatureYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.9/5.0
Behavior5/5

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

Extraordinarily rich beyond the annotations: it discloses that no funds move, that the $0.10 fee is separate from the payout and confers no disbursement authority, that a per-call X-Wever-Wallet-Proof bound to the JSON arguments and API path is mandatory even for paid calls, that the shared 10 free calls are consumed over 30 days, and that keys/custody/sweep remain manual. It also surfaces the holder-binding v2 / replay-ledger verification path and the audit prerequisite. The only mild tension is destructiveHint=true against 'No money moves,' but the description is disclosing commitment/irreversibility of the authorization rather than contradicting the annotation.

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

Conciseness4/5

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

The core action is front-loaded in the first sentence, followed by the return value, then cost/auth/safety caveats — a sensible order for a high-risk paid tool. It is dense and long, but for a payment-authorization primitive most sentences (cost, wallet proof, custody, audit) carry decision-relevant information; only the 'no yield, conversion or fiat' clause feels like marginal marketing copy.

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 this complex — signature binding, replay defense, x402 paid access, custody constraints — the description covers the flow, the cost model, the auth requirement and the safety posture, and it states the return value even though no output schema exists. Its one real gap is parameter coverage (0% in schema, partially supplemented in prose) and its deferral of exact schemas to /api/payout-contract.

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 gives real semantics for presentation (trusted-issuer AP2 signed presentation), principal_signature (EIP-712 from a configured treasury holder) and expiry, and clarifies that no private keys are accepted — but payout_id, idempotency_key and challenge_token receive no explanation at all. Half the parameters are still opaque, and the 'recipient, amount and expiry' phrasing does not map cleanly onto the actual schema fields.

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

Purpose4/5

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

States a specific verb and resource: binding an AP2 signed presentation plus a separate EIP-712 principal_signature to a payout's recipient, amount and expiry, and returns 'authorized' with a signed receipt. It also implicitly separates itself from the execution sibling by stating 'No money moves' and calling itself 'A disbursement primitive, not a bank.' However, it never names payout-create, payout-execute or payout-status, so the agent must infer the ordering rather than being told it.

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 rather than stated: 'No money moves' and 'grants no disbursement authority' signal this is the authorization gate before any execution, and the reader is pointed at /api/payout-contract for the flow. There is no explicit 'use this before payout-execute' or 'do not use when X' guidance, and no sibling is named, so the agent has to reconstruct the pipeline itself.

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.