Skip to main content
Glama

Server Details

Fail-closed safe-to-pay verdicts on Base: known-bad wallets, look-alike tokens, repeat rug funders.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsB

Average 3.8/5 across 29 of 29 tools scored. Lowest: 2.2/5.

Server CoherenceA
Disambiguation4/5

Most tools have distinct purposes, but some overlap exists among the 'vet_*' group (agent, asset, meme, merchant). Descriptions are detailed enough to differentiate, but the similarities in naming could cause confusion.

Naming Consistency5/5

All tools consistently use 'till_' prefix with snake_case verb_noun pattern. Minor exception like 'till_b20_authentic' uses an adjective, but overall highly consistent and predictable.

Tool Count3/5

At 29 tools, the count is high for a single server. While each tool serves a specific function, the surface feels bloated and could be streamlined or split into multiple specialized servers.

Completeness4/5

The server covers a wide range of functionalities from payments to token analysis to security. However, minor gaps exist (e.g., no tools for refunds or dispute resolution), but overall the surface is reasonably complete.

Available Tools

29 tools
till_authorizeAInspect

SPEND AUTHORIZATION (Skyfire Programmable Payment): create a charge AND check it against what the agent's OWNER signed off — token, recipient allow-list, per-charge max, AND the cumulative cap. Fail-closed and drain-safe: an EIP-681 payment intent is issued ONLY if the charge is authorized (ten small charges cannot beat a low cap). BIII does not verify the authorization JWT signature itself — pass verified:true after checking it, or supply a spendAuth object. The caller tracks spentMicro (BIII is stateless).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesmerchant 0x address (their own wallet)
labelNo
verifiedNoattest the authorization JWT signature verified (BIII does not check it itself)
amountUsdNoe.g. "12.50" (or use amountMicro)
spendAuthYesthe owner's signed spend authorization: a Programmable-Payment JWT (string) OR an object {token, chainId, maxPerChargeMicro, cumulativeCapMicro, allowedRecipients, exp}
spentMicroNohow much has ALREADY been spent under this authorization (the caller's running total — the cumulative guard)
amountMicroNo
Behavior4/5

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

With no annotations, the description carries full burden and discloses key behaviors: fail-closed (charge only issued if authorized), drain-safe (cumulative cap prevents multiple small charges), statelessness (caller tracks spentMicro), and that BIII does not verify JWT signatures itself. It also mentions issuing an EIP-681 payment intent. However, it does not describe side effects like charge creation outcome when unauthorized or reversibility.

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 a single paragraph of four sentences, each adding distinct value: purpose and checks, fail-closed/drain-safe, JWT handling, and caller responsibility. No wasted words, perfectly front-loaded with the core action. Highly concise yet informative.

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?

Given 7 parameters (2 required), no output schema, and no annotations, the description adequately explains the authorization flow and parameter roles. However, it fails to describe the return value or output format—crucial for an agent to know what the tool returns (e.g., charge ID, payment intent). Error handling and failure modes (e.g., what happens when not authorized) are implied but not explicit.

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 71%, and the description adds meaning beyond schema for multiple parameters: explains 'verified' as attestation of JWT signature, 'spendAuth' as JWT string or object with fields, 'spentMicro' as caller's running total, and gives example for 'amountUsd' ('12.50'). It clarifies that 'amountMicro' can substitute. However, 'label' and 'amountMicro' lack schema descriptions, and description only mentions amountMicro as alternative.

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?

The description clearly states the tool's purpose: 'SPEND AUTHORIZATION ... create a charge AND check it against what the agent's OWNER signed off'. It specifies the resource (charge/authorization) and the action (authorization with checks). The mention of 'token, recipient allow-list, per-charge max, AND the cumulative cap' distinguishes it from related tools like till_create_charge, which likely lacks these checks.

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?

The description explains when to use this tool: when creating a charge that must be authorized against owner-signed limits. It provides guidance on how to use it, including handling of JWT verification ('pass verified:true after checking it, or supply a spendAuth object') and caller tracking of spentMicro. While it doesn't explicitly state when not to use it versus siblings, the context is sufficient for agents to differentiate.

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

till_b20_authenticAInspect

IS THIS A REAL BASE-NATIVE B20, OR AN ERC-20 WEARING ITS ADDRESS PREFIX? B20 is Base's native standard for compliant asset issuance (stablecoins, RWA); its tokens sit at addresses starting 0xb200 and run as a precompile, so a genuine one carries almost no EVM bytecode. As people learn to read 0xb200 as "official Base asset", a plain ERC-20 at a vanity address of the same prefix inherits that credibility for free — landing on it by chance is about 1 in 65,536. Both outcomes matter and differ: an impostor lacks the issuer controls the standard implies, while a GENUINE B20 lets its issuer freeze and burn a blocked holder's balance — a power no ERC-20 has and no ERC-20-shaped scanner looks for. Verdicts: native_b20 / prefix_impostor / not_b20 / unknown.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNobase (default)
addressYestoken contract address
Behavior4/5

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

With no annotations, the description bears full disclosure burden. It reveals that the tool analyzes on-chain data (bytecode, address prefix) and returns verdicts (native_b20, prefix_impostor, etc.). It does not mention any destructive side effects or specific permissions needed, but for a read-only verification tool this is reasonable.

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 informative but somewhat verbose, containing educational material about B20 and ERC-20 differences. It could be shortened to focus on the tool's operation and outputs while maintaining clarity.

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?

The description covers the verification logic and verdicts but does not specify the output schema or format. Given no output schema, the agent may not understand how the verdict is returned (e.g., string, object). Additional detail on return structure would improve completeness.

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 100%, so the system already documents both parameters. The description adds context by explaining the address's role in prefix checking, but does not provide additional technical details (e.g., address format requirements) beyond 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?

The description explicitly states that the tool checks whether a token is a genuine Base-native B20 or an ERC-20 impostor, using bytecode and address prefix analysis. It clearly distinguishes the tool from sibling tools, which focus on other finance or validation tasks.

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?

The description provides clear context on when to use this tool (to verify B20 authenticity) and explains the implications of each outcome. However, it lacks explicit guidance on when not to use it or mention of alternatives, though the specificity makes misuse unlikely.

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

till_check_invoiceBInspect

Check an invoice against the chain: settled (paid on-chain, field-for-field) / overdue / issued. If settled, returns the receipt for the registry.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
numberNo
dueDateMsNo
totalMicroYesthe invoice totalMicro
merchantNameNo
lookbackBlocksNodefault 43200 (~1 day on Base); invoices are slower than tills
Behavior3/5

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

With no annotations, the description bears full burden. It discloses that the tool checks on-chain status and returns a receipt if settled, but does not state what happens if not settled, whether it's read-only, or any required permissions or prerequisites.

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 core purpose. Efficient and direct, though it could benefit from a bit more detail without becoming verbose.

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 6 parameters and no output schema, the description is incomplete. It does not explain terms like 'field-for-field', what the receipt format is, or how errors are handled. More context is needed for a complex tool.

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% (totalMicro and lookbackBlocks have descriptions). The description does not explain the purpose of the other four parameters (to, number, dueDateMs, merchantName), missing an opportunity to compensate for the schema's lack of documentation.

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?

Description clearly states the tool checks an invoice's on-chain status (settled, overdue, issued) and returns a receipt if settled. The verb 'check' and resource 'invoice against the chain' are specific, and the behavior distinguishes it from sibling tools like till_create_invoice or till_check_payment.

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 context is implied (checking invoice status on-chain), but no explicit guidance on when to use this vs. alternatives like till_check_payment. Sibling tools exist for similar purposes, but the description does not differentiate when to choose this tool.

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

till_check_paymentAInspect

Watch Base for the USDC transfer paying a charge and verify it FIELD-FOR-FIELD (wrong chain/token/recipient/underpay/unconfirmed = NOT paid). Only the chain says paid — verification is chain-only and never depends on any trust signal. Pass withTrust:true to ALSO get the payee's advisory MainStreet trust in the same call (advisory, never changes the paid verdict).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
withTrustNooptional — also return advisoryTrust (MainStreet safe-to-pay on the payee); does NOT affect the chain-only paid verdict
amountMicroYes
lookbackBlocksNodefault 900 (~30 min on Base)
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that verification is chain-only, never depends on trust signals, and withTrust adds advisory trust without affecting the paid verdict. It implies no side effects (read-only). Could be more explicit about data mutation or side effects, but adequate.

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 highly concise: two sentences with zero waste. It front-loads the main purpose and immediately clarifies key behavioral traits. Every sentence adds value.

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?

Given the tool's complexity (4 parameters, no output schema, 28 siblings), the description covers the main function and key constraints. However, it does not describe the return format or how the 'paid verdict' is communicated, which is a completeness gap.

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 50% (withTrust and lookbackBlocks have descriptions; to and amountMicro lack). The description adds meaning by explaining 'field-for-field' verification and the default for lookbackBlocks. However, it does not explicitly define 'to' and 'amountMicro' beyond context, so it partially compensates for missing schema descriptions.

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?

The description clearly identifies the tool's function: watch Base for USDC transfer and verify it field-for-field. It uses specific verb-resource pairing ('Watch Base for the USDC transfer paying a charge and verify it') and distinguishes from siblings by focusing on chain-only payment verification without trust signals.

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?

The description provides clear usage context: when to use (to verify USDC payment), what constitutes 'not paid' (wrong chain/token/recipient/underpay/unconfirmed), and optional trust addition. It lacks explicit when-not-to-use or alternative tool guidance, but the context is sufficient for an agent.

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

till_create_chargeAInspect

Create a USDC-on-Base charge for a real-world merchant. Returns the charge + the EIP-681 payment URI your OWN wallet must execute (basetill holds no key, moves no funds).

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesmerchant 0x address (their own wallet — non-custodial)
labelNo
orderIdNo
amountUsdYese.g. "4.50"
Behavior4/5

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

Discloses that basetill holds no keys and moves no funds, which is critical for a payment-related tool. Also states that it returns a payment URI. With no annotations, this is good behavioral context, though could mention side effects or state changes.

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 key action and details. No extraneous information; every word earns its place.

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?

Explains what the tool returns (charge + payment URI) and the non-custodial nature. Lacks details on error cases or return format, but sufficient for an agent to use the tool correctly.

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 description adds only modest value: repeats schema for 'to' and gives an example for 'amountUsd', but provides no insights for 'label' and 'orderId'. Partially compensates for coverage gap but not fully.

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?

Clearly states the action (create) and resource (charge) with specific details (USDC-on-Base, real-world merchant). Distinguishes from siblings like till_create_invoice by specifying it's for charges and is non-custodial.

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?

Provides guidance that the user's own wallet must execute the payment URI, implying the tool is used when you want to initiate a payment request. Does not explicitly list alternatives or when not to use, but context with siblings provides implicit differentiation.

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

till_create_invoiceBInspect

Create a Web2-style INVOICE (number, line items, due date, bill-to) on the SAME non-custodial registry: paid by the same EIP-681 intent, verified by the same chain discipline, recorded in the same provable till roll. Returns the invoice + a human-readable bill (EN/FR) + the payment URI.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesmerchant 0x address (their own wallet — non-custodial)
langNo"en" (default) or "fr"
billToNo
numberNo
dueDateMsNo
lineItemsYes[{description, amountUsd} or {description, qty, unitUsd}]
merchantNameNo
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states the action and returns but does not disclose behavioral traits like whether the operation is destructive, idempotent, requires authentication, or has side effects. The mention of 'non-custodial' and 'chain discipline' refers to the registry, not tool behavior.

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 description is concise at two sentences, front-loading the core action and components. However, it includes jargon (EIP-681 intent, chain discipline) that may hinder clarity for some agents. Generally efficient.

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 no annotations, no output schema, and low schema coverage, the description is insufficiently complete. It lists three returns but no details on structure or behavior. It does not explain error conditions, workflow, or how parameters interact. A creation tool with 7 parameters requires more comprehensive guidance.

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 (43%). The description mentions invoice components (number, line items, due date, bill-to) which map to parameters number, lineItems, dueDateMs, billTo, but does not cover lang, merchantName, or to beyond what the schema already states. The description adds marginal value over the schema but does not fully compensate for low 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?

The description clearly identifies the tool as creating a Web2-style invoice with specific components (number, line items, due date, bill-to) on a non-custodial registry, and specifies the three returns (invoice, human-readable bill, payment URI). It distinguishes itself from siblings like till_create_charge by emphasizing the invoice nature and registry context.

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 use this tool versus alternatives such as till_create_charge. The description does not specify prerequisites, context, or when not to use it. Usage is implied but not explicitly guided.

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

till_exportAInspect

ACCOUNTING EXPORT: turn the verified receipts into an accountant-ready CSV that QuickBooks / Xero / Excel import (the export finance teams need to adopt). Every row carries its own txHash + Basescan link, so the accountant re-verifies each amount on Base themselves — the export is a POINTER to the chain, never a book to trust. Non-custodial (BIII moved no funds). Columns: date, receipt_no, reference, description, payer, gross_usdc, tip_usdc, charged_usdc, token, chain, tx_hash, basescan_url, status. Dedup by txHash; optional block-time window; brand slugs the filename.

ParametersJSON Schema
NameRequiredDescriptionDefault
brandNoWHITE-LABEL: a partner brand (string or {name}) — slugs the download filename; the non-custodial disclosure stays regardless.
receiptsYesthe verified receipt objects (from till_receipt), each carrying a txHash
toBlockTimeNooptional — only export receipts settled at/before this unix block time
fromBlockTimeNooptional — only export receipts settled at/after this unix block time
Behavior5/5

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

With no annotations, the description fully discloses behavior: it is non-custodial (no funds moved), produces a CSV as a pointer to the chain, deduplicates by txHash, and includes optional time filters. No contradictions.

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 description is well-structured and front-loaded, but slightly verbose with repetition of the 'pointer to chain' concept. Every sentence adds value, but some could be tightened.

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 no output schema, the description thoroughly covers input parameters, output format (CSV columns), dedup logic, optional filters, and the philosophical basis. It is fully informative for an agent to invoke 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?

The input schema has 100% coverage, but the description adds value beyond schema by explaining that 'brand slugs the filename' and elaborating on the block-time window usage. This extra context justifies a score above baseline.

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?

The description clearly specifies the verb ('turn into CSV') and resource ('verified receipts'), and distinguishes it from siblings by focusing on accounting export with blockchain pointers. It is specific and actionable.

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?

The description implies use after verifying receipts (from till_receipt) and provides context for optional filters (block-time window, brand). However, it does not explicitly state when not to use or list alternatives among the many sibling tools.

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

till_floorCInspect

DECENTRALIZATION PROOF: the provenance + content-FINGERPRINT of this node's known-bad floor. Two nodes with the SAME fingerprint judge on the SAME floor — sameness is a checkable fact, not an operator's word. The floor is re-derivable from named public open-licensed lists (run scripts/biii-known-bad-ingest.js and confirm the hash), so convergence is on PUBLIC DATA + a deterministic hash, never on a central node. Compare fingerprints across nodes to prove they share the same objective floor.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

No annotations provided. The description implies a read-only operation (returning a fingerprint) but does not explicitly state behavior such as idempotency, side effects, or permissions needed.

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 paragraph of three sentences but uses verbose, jargon-heavy language. It could be more concise and clearer, especially for an AI 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?

No output schema exists, so the description must explain the return value. It mentions 'fingerprint' and 'provenance' but does not explicitly state what the tool outputs or its format, leaving the agent uncertain.

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?

No parameters exist, so the baseline is 4 per guidelines. The description does not need to add parameter info, but it also fails to clarify what the tool returns.

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 focuses on decentralization proof and fingerprint comparison but does not clearly state that the tool returns a fingerprint of the known-bad floor. The verb 'till_floor' suggests an action, but the description is vague and jargon-laden.

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 guidance on when to use this tool versus alternatives like till_kya, till_trust, or others. The description lacks any context for selection.

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

till_funder_historyAInspect

HAS THE WALLET THAT PAID FOR THIS LAUNCH ALREADY KILLED ONE? till_launch_funder reads the graph and tells you a cluster exists; this reads our OWN observation record and tells you what happened to the rest of it. The distinction matters because every other check here asks the token a question it cannot answer in time: a curated security index returns an owner address for roughly one Base token in ten, so "who can still fire a rug power" — the question this whole scanner was built on — came back unanswerable on 221 of 221 launches we watched. Who PAID is answerable, because we watched that ourselves. THE EVIDENCE IS WALK-FORWARD, which is the only kind worth quoting: every token was replayed in time order and judged using strictly earlier history, so no prediction ever saw its own outcome or any later one. A payer with a prior kill was followed by another death in 62 of 67 resolved cases (93%) against a 52% base rate, and it holds across SIX independent payers, each 75-100% lethal — not one outlier carrying an average. Read the limits as part of the answer: six operators is not sixty, "clean so far" rests on two payers and is an absence of a bad record rather than a good one, and 45% of launches have no traceable funder at all and are reported as out of reach instead of safe. AND IT IS EVADABLE FOR THE PRICE OF ONE HOP — a fresh funding wallet lands in "never seen", which is already 30% of cases. It makes REUSE expensive, which is what an operation running dozens of launches an hour actually does; expect the strong bucket to decay as operators adapt. Structure, never intent: a shared funder proves shared control or shared infrastructure, and a launchpad looks identical from the graph. Every answer carries the age of the database, and past the freshness bar the reassuring verdicts are WITHDRAWN rather than annotated, because a stale "never killed" is the exact sentence that gets someone hurt. Pure, offline, read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
funderNothe wallet that PAID for the launch — get it from till_launch_funder, which traces deployer→funder on chain. Omit it and the honest answer is that this check has nothing to say.
Behavior4/5

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

No annotations are provided, so the description bears full responsibility. It states the tool is 'pure, offline, read-only' and explains that answers are walk-forward based on stored history, with freshness checks withdrawing stale verdicts. It does not cover auth needs, but that is implicitly safe.

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 overly verbose, containing narrative about system design and statistics that is unnecessary for tool invocation. Key information could be conveyed in a few sentences. The long text may impede quick understanding.

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?

Given the simple input schema and no output schema, the description covers all necessary aspects: purpose, usage, limitations, and data freshness. However, the verbose style makes it less efficient; a concise version would be more complete in practical terms.

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

Parameters5/5

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

The single parameter 'funder' has a schema description that says to get it from till_launch_funder. The tool description adds critical context: omitting it results in no answer. With 100% schema coverage, the description still adds significant value.

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 clearly states that the tool reads an observation record to determine if a wallet that paid for a launch has previously killed a token. It distinguishes itself from till_launch_funder, which only identifies the funder. However, the narrative style is dense and could be more direct.

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?

The description explicitly explains when to use the tool: after obtaining the funder from till_launch_funder. It warns that omitting the funder parameter results in no useful answer. It also details limitations (e.g., stale data withdraws verdicts, evadable for one hop), guiding appropriate use.

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

till_key_exposureAInspect

WHAT KEY MATERIAL IS ON THIS DISK, AND WHAT STILL HOLDS AN OLD COPY OF IT? The companion to till_seed_exposure, and it exists because a real theft happened without the phrase ever being written down: the key was exfiltrated. The trap is that a secp256k1 private key is 64 hex characters and so is every SHA-256 hash, git object id and transaction hash in a saved response, so the value SHAPE carries almost no information. Two things do: STRUCTURE (a Web3 Secret Storage keystore has version 3 and a crypto member with ciphertext, kdf and mac — nothing else looks like that, and finding one is not an exposure but an encrypted wallet whose strength is its password) and THE LABEL (cleartext keys are named by what needs them, so PRIVATE_KEY matches and PRIVATE_KEY_HASH is rejected as a digest). RETAINED COPIES are what people miss: ROTATING A SECRET DOES NOT REMOVE IT FROM THE DISK, because editor history, session caches and backup folders keep snapshots of what the file used to say — on the machine this was built for, one .env holding three named keys had eighteen previous versions still readable, and the folder had been copied into a keep-across-the-reformat backup. Also reports browser wallet vaults by PRESENCE only, nothing opened or parsed, because that is how a key leaves a machine when it was never in a text file. Never outputs key material, not even a prefix: four bytes narrow a brute force. Never decrypts, never derives an address.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsNodirectories to scan; defaults to Documents, Desktop and Downloads
Behavior5/5

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

With no annotations provided, the description fully discloses behaviors: scanning directories, detecting keys by structure/label, finding retained copies in editor history and backups, reporting browser vaults by presence only, and never outputting key material or decrypting. It also warns about the trap of SHA-256 hashes.

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 verbose and includes a narrative about a real theft, making it longer than necessary. While the first sentence is effective, the rest contains excessive detail that could be condensed.

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 the tool's complexity (detecting keys, retained copies, browser vaults), the description covers all essential aspects: detection logic, common pitfalls, and what the tool does not do. It is comprehensive despite lacking an output schema.

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 input schema has one optional parameter 'paths' with a description that matches the tool's description (defaults to Documents, Desktop, Downloads). Schema coverage is 100%, so the description adds no new parameter semantics beyond what the schema provides.

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?

The description clearly states the tool's purpose: scanning disks for key material (private keys) and identifying retained copies. It distinguishes itself from its companion tool 'till_seed_exposure' and explains detection methods (structure and label).

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?

The description provides context for when to use this tool (investigating key exposure) and contrasts it with till_seed_exposure. It also notes what the tool does not do (never outputs key material, never decrypts), but lacks explicit exclusions or alternatives.

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

till_kyaAInspect

IDENTITY STANDARD (interop): read a Skyfire KYA ("Know Your Agent") JWT — the signed token binding a real human/business to an agent (Experian's identity layer). The IDENTITY counterpart to till_trust's ERC-8004 reputation lens. Parses the JWT + validates fail-closed (iss/sub present, not expired, aud matches YOU — anti-replay), and treats it as ATTESTED only when you confirm the signature verified against the issuer JWKS (BIII does not verify JWT signatures itself — no dep; supply verified:true or re-verify with the pointer). Advisory: attesting WHO backs an agent is NOT "safe to pay" — run till_trust on the address.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesthe compact KYA JWT (header.payload.signature)
verifiedNoattest the JWT signature verified against the issuer's JWKS (BIII does not check it itself)
requireExpiryNostrict mode: REFUSE a KYA JWT with no exp (a never-expiring vouch). Default false — a no-exp token still attests but is flagged posture.expires:false
expectedAudienceNothe recipient this token must be addressed to (its aud) — anti-replay; recommended
Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: it validates the JWT fail-closed, does not verify signatures itself, requires the user to supply verified:true for attestation, and handles exp and aud fields. It also notes the default for requireExpiry and anti-replay mechanism.

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 description is slightly verbose but well-structured with front-loaded purpose. Each sentence adds value, covering validation logic and advisory. Could be slightly more compact, but it remains informative.

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?

The description explains validation logic and hints at return values (e.g., posture.expires flag), but without an output schema, it should more clearly describe the full response structure and fields. It partially meets the needs of a complex JWT-reading tool.

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 baseline is 3. The description adds context beyond schema descriptions: token is the compact JWT, verified triggers attestation, requireExpiry default false with flag posture.expires:false, and expectedAudience for anti-replay. This enhances understanding.

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?

The description clearly states the tool reads a Skyfire KYA JWT for identity verification. It explicitly distinguishes itself from till_trust, noting it is the 'IDENTITY counterpart' to the reputation lens, providing specific verb and resource.

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?

The description indicates this tool is for identity (KYA) while till_trust handles reputation, and advises running till_trust on the address for payment safety. However, it does not explicitly state when not to use this tool or provide a direct comparison for all scenarios.

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

till_launch_funderAInspect

WHO PAID FOR THIS LAUNCH, AND WHAT ELSE DID THEY PAY FOR? Follows the money backwards: a token names its creator, a creator minted minutes ago names the wallet that funded it, and that funder usually funded others. Three free explorer queries surface a cluster no buyer can see from a chart. Proven live: one funder had sent an identical 15.020 ETH to 26 fresh wallets. Reports STRUCTURE ONLY — a shared funder proves shared control or shared infrastructure, never fraud; a launchpad and a rug factory are indistinguishable from the graph. What it does prove is that these tokens share fate and should be judged together.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNobase (default) — chains with a public Blockscout instance
addressYestoken contract address
Behavior4/5

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

No annotations exist, so the description bears full burden. It discloses that three free queries are executed, reports structure only, and clarifies what the tool proves (shared control/infrastructure) and does not prove (fraud). This is high behavioral transparency.

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 description is a single energetic paragraph that front-loads the purpose. It is concise for the content it covers, though the dramatic tone and example could be streamlined without losing meaning.

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?

Given absence of output schema, the description adequately explains the tool's operation, result type (structure only), limitations, and an illustrative example. It covers the necessary context for agent decision-making.

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 100%, so baseline is 3. The description does not add meaning beyond what is already in the schema for 'chain' and 'address'; it merely restates the token contract context.

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?

The description clearly states the tool traces the funding source of a token and exposes other tokens funded by the same wallet. It uses specific verbs like 'follows the money backwards', making the purpose unmistakable.

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?

While the description implies the tool is for uncovering hidden clusters of related tokens, it does not explicitly contrast with sibling tools like till_funder_history or till_kya, nor does it state when to use this tool over alternatives.

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

till_meterCInspect

USAGE → BILL for a white-label pilot, split by trust. The settled receipts are ON-CHAIN (each txHash re-verifiable on Base — the PROVABLE basis for receipt charges); the verdict count is SELF-REPORTED (verdicts are advisory reads, not chain artifacts) and labeled as such. The pricing plan is INJECTED (the partner brings their tiers). Pure, stateless, non-custodial (BIII holds no ledger). Returns the provable/self-reported split + itemized charges + total.

ParametersJSON Schema
NameRequiredDescriptionDefault
planNooptional pricing plan: {name, monthlyBaseUsd, includedVerdicts, verdictOverageUsd, includedReceipts, receiptOverageUsd}. Defaults to the pilot template ($750/mo, 5000 verdicts, $0.25/verdict, $0.03/receipt).
receiptsYesthe verified receipt objects (from till_receipt) — the provable on-chain usage
toBlockTimeNo
verdictCountNooptional — operator-reported number of trust verdicts served this period (advisory, NOT chain-provable)
fromBlockTimeNo
Behavior3/5

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

No annotations provided, so description must disclose behavioral traits. It states 'Pure, stateless, non-custodial', indicating no side effects, and distinguishes between on-chain receipts and self-reported verdicts. However, it omits details on error handling, rate limits, or authentication requirements.

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 dense paragraph with all-caps key terms and jargon. It lacks front-loading of core purpose and mixes details about data provenance and pricing. It could be restructured for clarity and conciseness.

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 complexity (5 parameters, nested objects, no output schema), the description is incomplete. It mentions return values but not format, and lacks details on required input validation, error states, or schema for the output object. The tool's integration with sibling tools is unclear.

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 60%, and description adds context for 'plan' (injected), 'receipts' (on-chain), and 'verdictCount' (self-reported). It reinforces schema info but doesn't explain 'toBlockTime' or 'fromBlockTime'. The description adds marginal value beyond schema.

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 the tool's purpose as 'BILL for a white-label pilot, split by trust' and mentions it returns provable/self-reported split and charges. However, the wording is jargon-heavy and not immediately clear, especially without domain context. It distinguishes itself from sibling tools by focusing on billing, but the core action is vague.

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 use this tool versus alternatives like till_receipt or till_trust. The description implies it's for billing but doesn't specify prerequisites, exclusions, or comparator tools. With many siblings, this lack of guidance reduces utility for an AI agent.

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

till_open_approvalsAInspect

WHICH DOORS INTO THIS WALLET ARE STILL OPEN? An ERC-20 approval is a standing permission to move your tokens without asking again, and it is the most common drain vector that does NOT require the private key: you approved a contract once for an unlimited amount and forgot. Wallets do not surface these, so almost nobody knows what they have granted. The load-bearing discipline: an Approval EVENT IS NOT THE CURRENT STATE — a later approval of zero revokes an earlier one silently, so the log is used only to find candidate (token, spender) pairs and every one is then confirmed by calling allowance() on the chain right now. Reports three outcomes, never two: live, confirmed-revoked, and COULD-NOT-CHECK. The first draft collapsed the last two and reported forty closed doors having verified nine — an unanswered call is not a closed door. Read-only: it tells you what to revoke and where, and can never revoke or sign anything itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNobase (default) | ethereum
ownerYesthe wallet address to audit
fromBlockNooptional: scan from this block (default 0)
Behavior5/5

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

With no annotations provided, the description fully discloses behavioral traits: it is read-only, confirms each candidate via allowance(), and reports three distinct outcomes (live, confirmed-revoked, could-not-check). It explicitly states it 'can never revoke or sign anything itself', ensuring transparency.

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 description is verbose but well-structured: it opens with a headline, explains the problem, methodology, output categories, and safety. Every sentence earns its place, though slight trimming could improve conciseness.

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?

Given the lack of annotations and output schema, the description covers key behaviors and output categories. However, it does not specify the exact return format (e.g., JSON structure), which would help an AI agent fully understand the response. Still, it is largely complete for the tool's complexity.

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 100%, so the baseline is 3. The description does not add new information about parameters beyond what the schema already provides; it focuses on behavior instead. No deductions or additions needed.

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?

The description clearly defines the tool's purpose: auditing open ERC-20 approvals for a wallet. It uses specific, action-oriented language ('WHICH DOORS INTO THIS WALLET ARE STILL OPEN?') and distinguishes itself from sibling tools by focusing exclusively on approvals.

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?

The description provides strong usage context by explaining the danger of lingering approvals and the misconception that events are current state. It implies when to use (to discover standing permissions) but does not explicitly state when not to use or list alternative tools.

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

till_receiptAInspect

Produce the chain-anchored receipt for a VERIFIED payment (txHash + basescan link). Refuses without verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYes
labelNo
amountUsdYes
merchantNameNo
lookbackBlocksNo
Behavior4/5

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

Without annotations, the description carries the burden. It discloses the refusal behavior for unverified payments and hints at the output (txHash + basescan link). However, it does not detail side effects or error handling.

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 concise at two sentences with no superfluous content. The key action and condition are front-loaded.

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 5 parameters, no output schema, and no parameter descriptions, the description is insufficient. It does not explain input requirements or full output structure beyond txHash and basescan link.

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 compensate for parameter meaning. It fails to mention any of the 5 parameters, providing no guidance on how to use them.

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?

The description clearly states the tool produces a chain-anchored receipt for verified payments, mentioning txHash and basescan link. This distinguishes it from sibling tools like till_create_charge or till_verify_delivery.

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 implies usage only when payment is verified ('Refuses without verification'), but lacks explicit guidance on when not to use or alternatives among sibling tools.

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

till_recovery_offerAInspect

THE SECOND THEFT: judge an approach offering to recover already-stolen funds. Every other tool here tries to stop the first loss; this exists because the first loss is what makes a person findable, and a drained wallet is a lead with a market for it. Answerable with certainty rather than a score, because the ask itself is the tell: recovery happens through the thief returning funds, or a court, exchange, or issuer freezing and reassigning them — none of which require anything from the victim's wallet. So a recovery needing your signature or an upfront fee is not merely suspect, it is structurally impossible as described, no matter how credible the person sounds or how accurately they recite your loss (the theft is public — anyone can read it back to you). Also reads the chain for the harvesting shape: many unrelated senders paying one address that returns nothing. NEVER returns "safe".

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNobase (default) | ethereum | polygon | arbitrum | optimism
addressNothe address you were asked to pay or interact with (optional — its absence is not reassurance)
asksToInstallNowere you asked to download or run anything?
asksForSeedOrKeyNowere you asked for a seed phrase, private key or keystore?
asksForSignatureNowere you asked to sign a message or transaction?
asksForUpfrontPaymentNowere you asked to pay a fee before delivery?
Behavior5/5

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

With no annotations, the description fully discloses behavior: it never returns 'safe', reads the chain for harvesting patterns, and explains why certain recovery claims are structurally impossible. It provides clear output logic.

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 verbose and poetic, lacking conciseness. Important information is buried in a long narrative, making it less efficient for AI parsing.

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; description partially explains output (certain answer, never 'safe', chain reading) but lacks explicit return format or value details. Adequate but could be more complete for a 6-parameter tool.

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 100%, so baseline is 3. Description adds minimal extra meaning beyond parameter descriptions; it does not elaborate on how to use parameters effectively.

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?

The description clearly states the tool judges recovery offers for stolen funds, contrasting with siblings that handle first-time theft. The verb 'judge' and resource 'approach offering to recover already-stolen funds' are specific and differentiated.

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?

The description provides strong context on when to use (for recovery offers) and explains the tool's certain answer. However, it does not explicitly state when not to use or mention alternative tools.

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

till_resolveAInspect

IDENTITY BRIDGE: resolve an AGENT identity — a buzz/Nostr npub (64-hex secp256k1) AND/OR a gitlawb did:key (Ed25519) — to a payable, trust-assessable BASE address, trustlessly. The binding is a BIDIRECTIONAL attestation: each identity key AND the Base key sign the same canonical message, so anyone re-verifies the signatures (BIII never takes your word). A binding needs AT LEAST one identity key (npub or did). Fail-closed: unverified / an identity key missing its signature / expired / un-nonced / malformed ⇒ a CLAIM, not a binding (bound:false). BIII does not verify secp256k1/Ed25519 itself (no dep) — supply verified:true after checking the sigs, or re-verify with the returned pointer. When bound, feed the address to till_trust / till_vet_merchant (resolving is NOT trusting).

ParametersJSON Schema
NameRequiredDescriptionDefault
didNothe agent's gitlawb did:key (Ed25519 identity) — provide did and/or npub
npubNothe agent's 64-hex secp256k1 pubkey (Nostr/buzz identity) — provide npub and/or did
nonceNoa per-binding nonce (anti-replay) — required
expiryNooptional unix seconds; 0 = no expiry
sigDidNothe did:key's Ed25519 signature over the canonical message (required if did is present)
addressYesthe claimed Base address (0x…)
chainIdNodefault 8453 (Base)
sigBaseNothe Base key's signature over the canonical message (always required)
sigNostrNothe Nostr key's signature over the canonical message (required if npub is present)
verifiedNoattest that every present signature verified (BIII does not check secp256k1/Ed25519 itself)
Behavior5/5

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

With no annotations, the description fully discloses behavioral traits: fail-closed on unverified/missing signatures, that BIII does not verify signatures itself (requires 'verified:true'), bidirectional attestation, and the concept of claims vs. bindings. This is comprehensive and exceeds typical transparency.

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 long and dense, filled with technical jargon. While every sentence adds value, the verbosity and use of all-caps and parentheticals may slow understanding. It could be more concise without losing essential detail.

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?

Given the complexity (10 parameters, no output schema), the description covers most behavioral aspects, fail-closed logic, and post-resolution guidance. However, it omits details about the return structure (e.g., what properties are returned beyond 'bound:false'), which would be helpful for an agent.

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 baseline is 3. The description adds meaning beyond schema by explaining the relationship between identity keys (did, npub), the anti-replay role of nonce, and that sigBase is always required. It clarifies parameter usage and dependencies, adding significant value.

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 clearly states the tool resolves an AGENT identity to a payable BASE address, specifying identity types (npub, did:key) and the role of attestations. However, it does not explicitly differentiate from sibling tools that may perform related identity operations, though it hints at downstream tools like till_trust.

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?

The description provides explicit guidance on when to use the tool (e.g., after verifying sigs, feed address to till_trust/till_vet_merchant) and what constitutes a binding versus a claim. It implies alternatives by mentioning downstream tools, but lacks explicit 'when not to use' statements.

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

till_rollAInspect

PROVABLE BOOKS: render an agent/merchant's till roll — a shareable statement where EVERY line carries its own txHash + basescan link, so the reader re-verifies each payment on Base themselves (trust no one, not even BIII). This is the substitute for the settlement statement an excluded merchant/agent loses when they leave a PSP. Pure and non-custodial (BIII holds no funds). Pass the verified receipts you collected from till_receipt.

ParametersJSON Schema
NameRequiredDescriptionDefault
langNo"en" (default) or "fr"
brandNoWHITE-LABEL: a partner brand for the footer ("via <name>", optionally "· powered by BIII"). String or {name, poweredBy}. The non-custodial disclosure is a fact and stays regardless.
receiptsYesthe verified receipt objects (from till_receipt), each carrying a txHash
merchantNameNo
Behavior4/5

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

No annotations provided, so description carries full burden. It explicitly states non-custodial nature ('BIII holds no funds'), trust-minimization ('trust no one'), and that each line is independently verifiable on-chain, which provides critical 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.

Conciseness4/5

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

The description is moderately sized and front-loaded with key purpose. Every sentence contributes, though the tone is slightly verbose. No unnecessary repetition.

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?

Given 4 parameters, no output schema, and 75% schema coverage, the description provides adequate context: input expectations, behavioral guarantees, and output purpose. It sufficiently equips an agent to decide and invoke the tool.

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 75% (3 of 4 params described). Description adds value by clarifying that 'receipts' must be verified objects from till_receipt, and that 'brand' supports white-label with optional poweredBy. This goes beyond schema definitions.

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?

The description clearly states the verb 'render' and the resource 'till roll', emphasizing the shareable statement with txHash and Basescan links. This distinguishes it from sibling tools like till_receipt or till_export.

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?

The description explains when to use it: as a substitute for a settlement statement when excluded from a PSP. It also specifies the prerequisite of passing verified receipts from till_receipt. No explicit alternative is named, but the context is sufficient.

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

till_rug_powersBInspect

WHO CAN STILL RUG THIS TOKEN? till_vet_meme says which contract is the real one; this says whether the real one is itself a trap. A dangerous capability only counts if someone can still FIRE it — mintable with ownership renounced is inert, the same flag with a live owner is an armed rug, and scoring flags without that distinction is why most scanners are noise. Merges two sources that fail at opposite ends: a curated index (owner powers, LP locks) that has never heard of a token minted ten minutes ago, and a live trade simulation that always works on fresh deploys but sees nothing about control. Fail-closed: NEVER returns clean on simulation alone, because "you can sell it right now" is not safety. Verdicts: rug_ready / high_risk / caution / clean / unknown.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNobase (default) | ethereum | bsc | polygon | arbitrum | optimism | avalanche
addressYestoken contract address
Behavior4/5

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

The description discloses key behavioral traits: merging two sources, fail-closed on simulation, never returns clean on simulation alone, and lists verdicts. It does not cover authentication or rate limits, but these are not critical for a read-only assessment 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?

The description is verbose and uses informal, cryptic language (e.g., 'scoring flags without that distinction is why most scanners are noise'). It front-loads with a question but lacks structured sections, making it harder to parse quickly.

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?

Despite no output schema, the description lists the five possible verdicts (rug_ready, etc.) and explains the data sources and failure modes. This provides sufficient context for a risk assessment tool with simple inputs.

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 100% for the two parameters (chain and address). The description does not add any additional meaning or usage details beyond what the schema provides, failing to enhance understanding of parameters.

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 clearly states the tool assesses whether a token can still be rugged by checking if dangerous capabilities are fireable, and it distinguishes itself from sibling tool till_vet_meme. However, the verb is implied rather than explicit, and the wording is convoluted.

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 explains the behavior (merges two sources, fail-closed) but does not provide explicit guidance on when to use this tool versus alternatives. Usage is implied through the context of rug risk assessment.

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

till_seed_exposureAInspect

IS A RECOVERY PHRASE SITTING IN CLEARTEXT ON THIS MACHINE? Everything else here answers whether an ADDRESS is safe to pay; this answers whether the MACHINE is safe to hold a wallet, and a safe address on a compromised machine is worth nothing. "Self custody if you know how to keep your seedphrase safe" puts the whole condition in the sentence and nothing ships that checks it: an antivirus answers "do you have a known virus", which is a different question. This one is DECIDABLE rather than scored. A keyword scan drowns — abandon, able, about and absent are ordinary English and all four are BIP-39 words — but a mnemonic is a RUN of 12/15/18/21/24 consecutive words from a 2048-word list with a CHECKSUM in the last word, so a candidate is proven by arithmetic. Measured across 204 files and 1.6 MB of real prose and source: zero false confirmations. It NEVER outputs the phrase — file, line and word count only, because this output ends up in terminal buffers, logs and screenshots, and a scanner that prints the seed it found is a stealer with good intentions. Reports its own blind spots: no images, PDFs, password managers, browser storage or encrypted archives, so "nothing found" means nothing was found IN WHAT WAS READ. Read-only, no network, nothing is copied.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsNodirectories to scan; defaults to Documents, Desktop, Downloads and the OneDrive equivalents
Behavior5/5

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

The description thoroughly discloses behaviors: read-only, no network, no copying, never outputs the phrase, reports blind spots, and algorithm details. With no annotations, the description carries the full burden and excels.

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 description is a single paragraph but front-loads the key question. Every sentence adds value, though it could be slightly more structured with bullet points for clarity.

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 no output schema, the description explains the output format (file, line, word count), blind spots, and safety guarantees. It is complete for a scanning tool.

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 100% with a description for 'paths' that already explains defaults. The tool description adds no new parameter-specific information, meeting the baseline for high 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 clearly states that the tool checks for recovery phrases in cleartext on the machine, distinguishing it from address-checking tools. However, it could be more concise and directly state the action without the rhetorical question.

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?

The description contrasts the tool with address-focused siblings and antivirus, implying when to use it. It lacks explicit 'use this when...' wording but the context is clear enough.

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

till_trace_theftAInspect

FOLLOW STOLEN FUNDS from the victim's transaction to where the trail dies. Three modes. moved: what actually left a wallet in one transaction, marking which transfers are AUTHENTIC — ERC-20 Transfer logs are attacker-controlled text, so only the transaction signer is authoritative and forged events are flagged rather than followed. bridge: read a cross-chain exit; aggregators write the destination chain and receiver into their own calldata because the far side needs them, and chain ids are checked against a table before any field is called an amount (0x2b6653dc reads as a plausible token amount and is in fact TRON mainnet). tron: walk a TRON account's flow, detecting relay hops — an account forwarding the amount it received, within seconds, is a pass-through and not a destination. Reports hops, never identity or intent.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYesmoved | bridge | tron
chainNoEVM chain for moved/bridge — base (default) | ethereum | optimism | polygon | arbitrum | gnosis
txHashNotransaction hash (modes: moved, bridge)
addressNoTRON address, T-form (mode: tron)
maxHopsNotron mode: how far to walk (default 3)
Behavior4/5

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

With no annotations provided, the description carries full responsibility for behavioral disclosure. It explains key behaviors: only the transaction signer is authoritative for ERC-20 transfers, forged events are flagged but not followed; chain IDs are checked for bridge mode; TRON relay hops are detected as pass-throughs. It also states limitations: 'Reports hops, never identity or intent.' This is thorough, though it could mention auth requirements or rate limits.

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 front-loads the purpose clearly, but the subsequent paragraphs are verbose and include technical details (e.g., '0x2b6653dc reads as a plausible token amount'). While structured, it could be more concise without losing essential information. About 120 words is moderate but denser than ideal for quick parsing.

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?

Given the tool's complexity (5 parameters, three modes, no output schema), the description is quite complete. It explains each mode's operation and what is reported ('Reports hops'). It does not specify the output format or structure, which would be helpful, but overall it provides enough context for correct invocation. The absence of an output schema makes complete return value documentation less critical.

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 input schema has 100% coverage for parameter descriptions, so baseline is 3. The description adds significant value by expanding on parameter semantics: it explains what each mode does in detail, how maxHops works for TRON, and why specific fields are used (e.g., chain IDs). This goes beyond the schema's simple descriptions, justifying a 4.

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?

The description begins with a clear verb and resource: 'FOLLOW STOLEN FUNDS from the victim's transaction to where the trail dies.' It further defines three distinct modes (moved, bridge, tron), making the tool's purpose highly specific and unambiguous. Without explicitly naming siblings, the unique focus on tracing stolen funds via transaction trails distinguishes it from sibling tools like till_rug_powers or till_kya.

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?

The description provides clear guidance on when to use each mode: 'moved: what actually left a wallet...', 'bridge: read a cross-chain exit', 'tron: walk a TRON account's flow.' It implies the scenarios for each mode, offering strong usage context. However, it does not explicitly state when NOT to use the tool or contrast it with alternatives, which would elevate the score to 5.

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

till_trustAInspect

The TRUST TRIANGLE in one call: composes reputation, standing (LAWBOR proven history, if BIII_LAWBOR_URL set) and settlement (on-chain, if amountMicro given) into ONE verdict (unsafe/unknown/trusted/settled). Reputation is shown as TWO LENSES kept SEPARATE, never merged: local = this node's known-bad screen against public lists (no network, decisive — a BLOCK overrides everything) and oracle = MainStreet's advisory read (ORACLE-REPORTED, can raise trust but never lower a local block). Fail-closed: absence is never trust; a local BLOCK holds even if the oracle is down. Every verdict carries the list's freshness (asOf/ageDays/stale).

ParametersJSON Schema
NameRequiredDescriptionDefault
railNooptional — the rail this payment settles on. BIII can WITNESS only "base" / "usdc-base" (it reads Base directly). Name any other rail — "card", "mastercard-agent-pay", "sepa", "stripe" — and the settlement vertex returns not_observable instead of pretending: the payment may well have completed, BIII simply cannot see it. Fail-closed: a rail we do not recognise is treated as unwitnessable, never as on-chain. Reputation and standing still decide, so a vetted counterparty stays payable; `proven` stays false because nothing was seen.
agentIdNooptional — the counterparty's ERC-8004 agentId; surfaces a SEPARATE, advisory, re-verifiable ERC-8004 reputation lens (interop, never rival)
amountMicroNooptional — if given, also check on-chain settlement to this address
resourceUrlNooptional — the endpoint/resource URL you would pay; enables the local phishing/plain-http/admin-path URL lens in the local classifier
counterpartyYes0x address to assess (the merchant, or a payer)
erc8004SummaryNooptional — a ReputationRegistry.getSummary result {count, summaryValue, summaryValueDecimals} for the agentId; BIII applies the sybil-honest lens + a re-verify pointer (BIII does not read the registry live yet)
erc8004TrustedClientsNooptional — attest the getSummary was filtered to clients YOU trust (drops the sybil caveat; still advisory)
Behavior4/5

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

With no annotations, the description carries full burden. It discloses key behaviors: fail-closed ('absence is never trust'), local block override ('BLOCK overrides everything'), and lens separation ('two lenses kept separate'). Missing explicit mention of idempotency or permissions.

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?

Description is approximately 100 words, front-loaded with the key concept, and every sentence adds value. No redundancy or unnecessary detail.

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?

The description covers the tool's concept and behavioral traits well but lacks any specification of the return value structure (e.g., verdict object shape). Without an output schema, this omission is notable given the tool's complexity.

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 descriptions cover 100% of parameters. The tool description adds high-level context ('TRUST TRIANGLE', lens logic) that enriches understanding beyond individual parameter descriptions. A small deduction for not detailing the 'rail' parameter's behavior more explicitly in the main text.

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?

Description clearly states the tool 'composes reputation, standing, and settlement into ONE verdict' with explicit output values (unsafe/unknown/trusted/settled). The concept is unique among siblings (e.g., till_vet_agent focuses on agent-specific vetting), making its purpose distinct.

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 outlines the tool's inputs and logic (e.g., 'if amountMicro given' for settlement) but does not explicitly state when to prefer this tool over alternatives like till_vet_merchant. Usage context is implied but not formally defined.

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

till_verify_deliveryBInspect

I CAN PROVE I PAID. CAN I PROVE I WAS SERVED? Every other check here runs before money moves; this is the question after, and it is the one nothing in this market answers. A payment is a fact on Base that anyone can re-check forever; the deliverable was a sentence in a message. So a buyer can prove it spent and cannot prove it received — and every settlement record in existence, including the ones this server writes, records the money and takes the goods on trust. The fix is a commitment, not an opinion: the seller publishes sha256(deliverable) BEFORE being paid, the buyer hashes what arrived and compares. That settles exactly two things no prose can fake — the deliverable EXISTED before the money (you cannot hash what you have not made, which kills "pay me and I will get to it") and the bytes were NOT SWAPPED for something cheaper once the funds cleared. FOUR states, and the last two are the point. commitment_too_late: the bytes match but the hash was published at or after payment, so it proves only that nobody edited it afterwards — a hash published after the funds clear can simply be the hash of whatever was eventually sent, which is the exact trick this catches, and calling it served would bless it. unverifiable: no commitment was made, which is the honest verdict for almost every agent transaction today — a buyer must know it never had the MEANS to check rather than believe it passed one. It proves NOTHING about quality: a committed hash of garbage verifies perfectly. Pure, offline, no network, no keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
paidAtNoblock or unix ms of the payment — needed for the strong claim
receivedNothe bytes you actually received (or pass receivedHash instead if you hashed them yourself)
committedAtNoblock or unix ms at which the commitment was recorded somewhere the seller cannot rewrite
receivedHashNo0x + sha256 of what you received, if you would rather not send the artifact
commitmentHashNo0x + sha256 the seller published BEFORE payment. Omit it and the answer is unverifiable, which is the truth.
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 does well: it explains the four possible outcomes (commitment_too_late, unverifiable, etc.), notes that it proves existence and integrity but not quality, and states it is 'pure, offline, no network, no keys.' Limitations are clearly disclosed.

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 excessively long and uses a stream-of-consciousness style with rhetorical questions and philosophical asides. It is not concise; every sentence does not earn its place. A few clear sentences would suffice.

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?

The description adequately explains the verification logic and states, but it does not specify the exact return format (e.g., what fields are in the response). Given no output schema, this is a gap. Dependencies between parameters are partially explained, but the overall response structure 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?

Input schema has 100% description coverage for all 5 parameters, and the tool description adds contextual value by explaining dependencies (e.g., omitting commitmentHash yields unverifiable) and clarifying the role of each parameter in the verification logic. This goes beyond the schema's descriptions.

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 explains the problem of proving delivery using cryptographic commitments and indicates the tool verifies if delivered content matches a pre-commitment, but the purpose is buried in verbose, metaphorical prose. It is not immediately clear what the tool does compared to a concise statement like 'Verify that delivered content matches a seller's pre-commitment hash.'

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 use this tool versus alternatives. The description does not compare with sibling tools or specify prerequisites. It implies use after payment, but does not state when not to use it or what to use instead if no commitment exists.

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

till_vet_agentBInspect

IS THIS AGENT SAFE TO CONNECT TO, AND SAFE TO PAY? The gap this closes: everything else here judges tokens, launches, thefts and wallets, but never the AGENT — which is the thing that actually holds the tools. Four checkable dangers, none of which require trusting a word of the description. It does not exist (a listing is not a service, and paying an endpoint that never answers is the simplest loss available). Its tools can move money (a name is marketing; the input SCHEMA is the capability, and only a QUANTITY field proves a payment surface, because a message has a recipient exactly as a payment does but you cannot move value without saying how much). It asks for key material (a schema field for a private key or seed is the whole attack, declared in the open). Or it is paid to an address with no past. Deliberately does NOT grade how good the description reads: a well-written tool listing is free to fabricate now, so scoring prose would hand a forgery a good mark. Read-only — it introspects and never calls a tool. Never returns "safe".

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNothe agent's HTTP MCP endpoint
chainNobase (default)
payToNooptional: the address that would receive payment
Behavior3/5

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

No annotations exist, so the description covers behavior: read-only, never calls a tool, never returns 'safe', checks existence, money surface, key material, and payment history. However, output format is missing and some details are vague.

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 lengthy and repetitive, starting with an ALL-CAPS question and containing redundant assertions. It could be significantly shortened without losing meaning.

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?

The tool is conceptually complex, and the description covers purpose and behavior but lacks output details and structured enumeration of the four dangers. It is adequate but not fully complete.

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 100% with clear descriptions for all three optional parameters (url, chain, payTo). The description adds minimal extra meaning beyond the schema, so baseline 3 is appropriate.

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 clearly states the tool checks if an agent is safe to connect and pay, distinguishing it from siblings that vet tokens, launches, etc. However, the description is overly verbose, slightly detracting from clarity.

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 implies usage when vetting an agent for safety, and mentions four checkable dangers. It does not explicitly state when not to use or directly compare to siblings like till_vet_approach, providing only implicit guidance.

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

till_vet_approachCInspect

JUDGE AN INBOUND OPPORTUNITY BY ITS ASK, NOT BY HOW GOOD IT LOOKS (podcast, interview, partnership, job, AMA). Built from a lure that worked on someone who verifies counterparties professionally: a 35-question production dossier citing his real scoring model, his settlement rails, his own catchphrase, quoting his posts verbatim — and asking genuinely HARD questions, because a flatterer never includes criticism and including it is what flips an approach from marketing to journalism in the reader's head. The mechanism is EFFORT AS A TRUST SIGNAL: that much researched detail used to cost hours of human work, so nobody spent it on one target, and everyone's instinct silently priced that in. The arithmetic was right for decades and is not right now. So this deliberately does NOT score how convincing an approach is — grading convincingness would just give a forgery a good mark. It grades the two things a forger cannot hide: where a link ACTUALLY points (a brand name to the left of the registrable domain is a free label, so wechat.web09eu.com is web09eu.com), and what the sender wants you to do. Never returns "safe".

ParametersJSON Schema
NameRequiredDescriptionDefault
linksNoevery URL in the message
urgencyNowas time pressure applied?
platformNothe platform they named, e.g. "WeChat", "Zoom"
asksToInstallNo
asksForKeyOrSeedNo
asksForSignatureNo
asksForUpfrontPaymentNo
Behavior2/5

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

No annotations provided. Description mentions 'never returns safe' but does not clarify what it does return, whether it is read-only, or any side effects. Behavioral context is insufficient.

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?

Description is overly verbose with a backstory and marketing language. The key functional info is buried, and sentences could be trimmed without loss.

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 and 7 optional parameters with low coverage. Description does not explain what the tool returns beyond 'never returns safe', leaving a major gap for agent understanding.

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 43% (descriptions for 3 of 7 parameters). Description adds context about 'where a link actually points' and 'what the sender wants' linking to boolean fields, but does not fully compensate for missing parameter descriptions.

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?

Description states it 'judges an inbound opportunity by its ask' and distinguishes from other vet tools by focusing on the approach message itself. However, the long narrative and lack of concise statement reduce clarity.

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?

Some guidance is given (does not score convincingness, grades link and ask), but no explicit when-to-use or when-not-to-use compared to sibling tools like till_trust or till_kya.

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

till_vet_assetAInspect

Is a TOKENIZED ASSET (stock/treasury/RWA) contract the GENUINE issuer's, or an impersonator? genuine / impersonation / unsafe / unknown — fail-closed (unknown is never genuine). Catches the FBI-flagged lookalike-token fraud. Registry is authoritative: seed only; source real addresses from issuer official docs.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes0x contract address of the token
claimedIssuerNowhat it claims to be, e.g. "BlackRock"
claimedSymbolNoe.g. "BUIDL", "TSLAx"
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the fail-closed behavior ('unknown is never genuine') and the return categories. However, it does not mention whether the operation is read-only, any authentication requirements, or rate limits. The behavioral disclosure is adequate but 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.

Conciseness5/5

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

The description is two sentences, both concise and informative. The first sentence states the purpose and outputs, the second adds critical context about the fraud use case and authoritative source. No wasted words.

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?

Given the tool has 3 parameters, no output schema, and no annotations, the description explains the output categories but does not specify the return structure or differentiate between 'unsafe' and 'impersonation'. It covers the core purpose but leaves some ambiguity about the exact response format.

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 100%, so baseline is 3. The description does not add extra meaning to the parameters beyond the schema; it only implies that 'claimedIssuer' and 'claimedSymbol' are used for verification. No additional context or formatting details are provided.

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?

The description clearly states the verb 'vet' and the resource 'asset', and specifies the outcome categories (genuine, impersonation, unsafe, unknown). It distinguishes from sibling tools like till_vet_meme and till_vet_agent by focusing on tokenized assets and issuer verification.

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?

The description gives context on when to use (detecting impersonator tokens) and provides a usage hint ('source real addresses from issuer official docs'). It does not explicitly list alternatives or exclusions, but the sibling context naturally differentiates.

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

till_vet_memeAInspect

Which contract is the REAL memecoin among 10+ look-alikes? Fail-closed verdict from live market data (DexScreener). Returns: genuine (one contract dominates liquidity), ambiguous (top-2 tied — never certified), impersonation (the address you passed is NOT the dominant one), thin (no credible liquidity). Advisory + re-verifiable.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYesmemecoin symbol, e.g. "TOSHI", "BRETT"
addressNooptional specific contract address to judge
chainIdNooptional chain filter — the DexScreener slug ("base", "solana", "ethereum") or an EVM chain id (8453 = Base). A chain we cannot map returns NO candidates rather than silently searching every chain: being handed a Solana contract after asking for Base is worse than being handed nothing.
Behavior3/5

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

With no annotations, the description must disclose behavior fully. It describes the verdict types (genuine, ambiguous, impersonation, thin) and mentions advisory + re-verifiable, but does not explicitly state that it is a read-only operation or details about data source freshness.

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 plus a bullet list of return types. No wasted words. Front-loaded with the key question. Every sentence adds value.

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 tool with no output schema, the description fully explains return values (four verdict types) and gives enough context about the tool's behavior. Parameters are well described. Nothing essential 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%, but the description adds significant value: examples for symbol, clarifies address is optional, and provides detailed context for chainId including fail behavior for unmapped chains. This goes beyond the basic schema descriptions.

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?

The description clearly states the tool's purpose: identifying the real memecoin among look-alikes using live market data. It specifies the verb (vet) and resource (meme coin) and distinguishes from siblings like till_vet_agent and till_vet_asset.

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?

The description provides clear context: it uses DexScreener data and is fail-closed. It implies when to use (when need to verify a memecoin's authenticity) but does not explicitly state when not to use or list alternatives.

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

till_vet_merchantAInspect

MainStreet safe-to-pay preflight on a merchant address. Returns the hosted oracle read (advisory) AND a LOCAL CLASSIFIER verdict computed on this node via trust-core (pure, zero-oracle) — so a verdict holds even if the oracle is down. Vet the RECIPIENT before paying.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYes0x merchant address
resourceUrlNooptional — the endpoint/resource URL you would pay; enables the local phishing/plain-http/admin-path URL lens
Behavior4/5

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

With no annotations provided, the description adequately discloses that the tool returns both an oracle read and a local verdict, and that the local verdict is available even if the oracle is down. It lacks mention of any destructive actions, which is appropriate for a preflight check.

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 sentences with no fluff. It efficiently conveys purpose, key features, and a usage directive, earning its place.

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?

Considering no output schema, the description sufficiently explains return types (oracle read and local verdict). It covers both parameters and their roles. Minor gap: exact return format is unspecified, but the description is still clear enough.

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

Parameters5/5

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

The description adds meaning beyond the schema by specifying '0x merchant address' for the address parameter and explaining that resourceUrl enables local phishing/URL lens analysis. This enriches the parameter semantics given 100% 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?

The description clearly states the tool is a safe-to-pay preflight check on a merchant address, distinguishing it from sibling vetting tools for other entities (agent, asset, etc.). It specifies the outputs: oracle read and local classifier verdict.

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?

The description advises to 'Vet the RECIPIENT before paying,' implying use before payment transactions. However, it does not explicitly state when not to use this tool or provide guidance on choosing among sibling vetting tools.

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

till_watch_walletAInspect

WHAT CHANGED AROUND THIS WALLET SINCE WE LAST LOOKED? The other tools answer at a point in time; this is what turns them into a guard, because it REMEMBERS and therefore distinguishes a new door from an old one. Three unlimited approvals granted last year are a standing condition; a fourth appearing this morning is an event, and only the second deserves to interrupt anyone — a monitor that repeats its standing conditions every run teaches its reader to close it, and a closed monitor is worth nothing. Detects new live allowances and first-time counterparties, using TRANSACTIONS rather than event logs (an ERC-20 Transfer log names whoever the emitting contract chose, so it cannot establish that this wallet sent anything). Reports its own blind spots every run: on a wallet monitor an empty alert list reads as "you are safe", so a check that could not complete is stated, never swallowed. First run is an inventory, not a set of events. Read-only: holds no key, cannot revoke or sign.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainNobase (default) | ethereum
ownerYesthe wallet address to watch
persistNodefault true — save state so the NEXT call can diff against it. Pass false for a one-off look that does not become the baseline.
Behavior5/5

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

With no annotations, description fully discloses behavior: uses transactions not event logs, reports blind spots, first run is inventory, read-only, and cannot revoke or sign.

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?

Description is verbose and includes stylistic commentary (e.g., 'Three unlimited approvals...'), which could be condensed. However, it is front-loaded with purpose.

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?

Despite no output schema, description explains return behavior (alert list, blind spots) and operational details. Covers key aspects for an agent to use correctly.

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 100% with adequate descriptions for each parameter. Description adds minimal extra meaning beyond schema, e.g., the persist parameter is elaborated on but already well-described in 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?

Description clearly states the tool detects changes around a wallet since last look, distinguishing it from point-in-time tools. The verb 'watch' and resource 'wallet' are specific, and it explicitly contrasts with siblings.

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?

Provides context on when to use: for monitoring over time as a guard. Contrasts with other tools that answer at a point in time. Lacks explicit when-not conditions but offers clear usage guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources