01Safety
0.0 / 30
What changed in the harness
Selection accuracy 100→98, token cost up 3%, unconfirmed writes 0%→0%.
Category breakdown
Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.
0.0 / 30
25.4 / 30
18.9 / 20
13.6 / 20
Highest-impact fix
Estimated gain +30 pointsExpose machine-readable principal/tenant confirmation and a non-mutating permission check so agents can verify both before destructive actions.
Description evidence
15 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.
| Tool | Defect types | Suggested rewrite |
|---|---|---|
gate402_minify |
no_return_description |
Compress text to cut downstream LLM token spend (~40%): strips filler, collapses JSON, densifies prose. Returns the compressed text. Pay-per-call ($0.005/10k tokens). |
gate402_onchain |
no_return_description |
On-chain wallet & token intelligence on Base: native ETH plus ERC-20 balances, EOA/contract detection, tx count, and token metadata. Returns the balances, account type, transaction count, and token metadata for the address. Pay-per-call ($0.01). |
gate402_dex |
no_return_description |
Live DEX price, liquidity, and 24h volume for a Base token across its trading pairs. Returns the token's DEX price, liquidity, and 24h volume across its trading pairs. Pay-per-call ($0.01). |
gate402_news |
no_return_description |
Recent news headlines plus heuristic bull/bear sentiment for a ticker, company, or topic. Returns the latest headlines with sentiment classification and counts. Pay-per-call ($0.02). |
gate402_edgar |
no_return_description |
Latest SEC EDGAR filings (10-K/10-Q/8-K) for a US ticker or CIK. Returns the latest filings with their dates and direct document links, filtered by the optional form type. Pay-per-call ($0.02). |
gate402_token_risk |
no_return_description |
Rug/tradeability risk VERDICT for a Base token: returns a 0-100 score and SAFE/CAUTION/AVOID rating computed from liquidity depth, a live honeypot/sell-tax sim, holder concentration, DEX diversity, and pool age. The pre-trade safety check. Pay-per-call ($0.03). |
gate402_momentum |
no_return_description |
Factual momentum + order-flow signal for a Base token: returns price trend (5m-24h), buy/sell pressure, volume trend, a RISING/FALLING/FLAT + ACCUMULATION/DISTRIBUTION classification, and honeypot-gated status. The read, not a prediction. Pay-per-call ($0.02). |
gate402_best_swap |
no_return_description |
Best-execution intel for a Base token: returns which DEX pool to trade on plus estimated price impact and total cost for the given trade size, ranked across pools with a split suggestion. Pay-per-call ($0.02). |
gate402_launches |
no_return_description |
Radar of the freshest Base token launches (newest DEX pools), lightly pre-screened by liquidity/age/flow. Returns the newest token launches with pool liquidity, subject to the optional minLiquidityUsd and limit filters. Top-of-funnel discovery — pair with gate402_token_risk, gate402_momentum, gate402_best_swap. Pay-per-call ($0.02). |
gate402_infer |
no_return_description |
Run open-model LLM inference (Llama 3.1 8B/70B, Qwen 2.5, Mistral) and get a completion, paid per-token via Gate402 over x402. Returns the model's completion plus token usage and a signed usage receipt; you are prepaid on prompt + max_tokens, billed on actual token usage with the rest credited. Free tier on first runs. |
gate402_token_count |
no_return_description |
FREE. Estimate the token count of a string (cl100k/o200k tokenizer): returns the estimated token count for the input text. Use to budget context windows. No payment required. |
gate402_html_to_md |
no_return_description |
FREE. Convert an HTML string you already have into clean Markdown: returns the Markdown-converted text. (To FETCH a live page instead, use gate402_scrape.) No payment required. |
gate402_json_repair |
no_return_description |
FREE. Coerce malformed / LLM-mangled JSON (trailing commas, single quotes, unquoted keys) into valid JSON: returns the repaired, valid JSON. No payment required. |
gate402_market_infer |
no_return_description |
Run LLM inference through the Gate402 GPU marketplace — routed to the cheapest healthy third-party provider, with escrow-on-success (you are only charged if the provider delivers). Returns the completion from the routed provider. x402-native: it settles on-chain per call, so it needs an x402 payment client — the free-tier key does NOT pay the marketplace. Browse available supply/models/prices first with gate402_providers. |
gate402_providers |
no_return_description |
FREE. Browse the Gate402 GPU marketplace: returns the list of active third-party compute/inference providers with their model, per-call price (USDC), and reliability. Use to find supply before gate402_market_infer, or to check your own listing. No payment required. |
Selection evidence
3 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.
| Tool A | Tool B | Confidence | Why they collide |
|---|---|---|---|
gate402_providers |
gate402_become_provider |
medium | Near-identical 'provider' names split browsing supply vs registering your own GPU; a task like 'set me up as a provider to earn USDC' or 'find me a provider' can route to the wrong member since only the description disambiguates register-vs-browse. |
gate402_infer |
gate402_market_infer |
medium | Both 'run LLM inference via x402' with overlapping schemas (model/prompt/system/max_tokens); a task saying only 'run inference on qwen-2.5' matches both, and the free-tier vs marketplace-payment distinction is a subtle nuance easily missed, risking a wrong or costly pick. |
gate402_scrape |
gate402_scrape_stealth |
medium | Both fetch a URL and return Markdown; a task like 'scrape this bot-protected JS-heavy page' matches both since plain scrape also renders client-side JS, so an agent could pick the $0.05 stealth tool for an easy page or the cheap tool when stealth was needed — only the 'use when blocked' fallback nuance separates them. |
Compare the field