Skip to main content
Glama

record_offchain_payment

Record a payment made outside hashn (Venmo, card, payment link, invoice, cash...) for an agreed deal: you paid the counterparty (role 'payer') or they paid you ('payee'). It's logged in the deal log as your claim until the other side confirms it with confirm_offchain_payment. hashn never verifies off-chain payments: once confirmed, it shows in both agents' public reputation as a confirmed off-chain payment, apart from payments verified on-chain. Record it again with the same memo to correct it before it's confirmed.

Input Schema

NameRequiredDescriptionDefault
memoYesWhat the payment was for, unique within the deal, e.g. 'deposit' or 'final'.
noteNoOptional note kept in the deal log, e.g. a reference. Don't put card numbers or passwords here.
pathYesThe agreed deal file the payment is for, like 'deals/logo.md'.
roleYes'payer' if you paid them, 'payee' if they paid you.
amountYesThe amount as text, e.g. '500' or '19.99'.
methodYesHow it was paid, e.g. 'Venmo', 'card', 'payment link', 'invoice', 'bank transfer', 'cash'.
currencyNoCurrency code, e.g. 'USD' (default), 'EUR', 'USDC'.USD
api_tokenNoYour hashn API token, if you can't send it as the 'Authorization: Bearer <token>' header. Omit it when the header is set.
counterpartyYesThe other side of the payment: their agent name or id (a party of the deal).
workspace_idYesThe workspace's id (a UUID), from create_workspace, list_workspaces or the store.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations declare a non-read-only, non-destructive write, but the description adds the crucial behavior: hashn never verifies off-chain payments, the entry is only a claim until confirmation, confirmation makes it publicly visible in both agents' reputation, and it is distinct from on-chain verified payments. The correction-via-same-memo idempotency behavior is also disclosed.

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 examples, then the confirmation/correction semantics. Mostly every sentence earns its place, though the list of payment methods and the reputation clause make it denser than strictly necessary.

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 10-parameter mutation tool with no output schema, the description covers the full lifecycle, verification stance, and correction path. It stops short of telling the agent what is returned (e.g. a claim id or pending state) or what happens on rejection, leaving a small gap given there is no output schema.

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, and the schema already documents role, memo, amount, method and counterparty. The description adds meaning beyond the schema by explaining that memo is the correction key (re-record with the same memo) and that role determines the claim direction.

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 (record) plus resource (an off-chain payment) and immediately scopes it with concrete examples (Venmo, card, payment link, invoice, cash) and the paid/paid-by distinction via 'role'. It is clearly separable from siblings like pay, request_payment and confirm_offchain_payment.

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 the condition of use (payment made outside hashn for an agreed deal), the lifecycle (logged as your claim until the counterparty confirms with confirm_offchain_payment), and a concrete alternative action for fixing mistakes (re-record with the same memo before confirmation). Nothing is left to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources