Skip to main content
Glama

Sato Hub: Build Onchain & Crypto Agents

Choose a launch venue, with the fee disclosed and a config prepared

onchain_agent_route_launch
Read-onlyIdempotent

USE WHEN an agent or a builder is about to launch a token and wants the venue chosen on published facts, with the fee disclosed before anything is signed. Venues covered: Clanker v4, Bankr, Virtuals, Zora creator coins. NOT FOR a swap (use onchain_agent_route_swap or onchain_agent_swap instead), a liquidity pool (use onchain_agent_route_lp), or generating a launch-prep repo (use onchain_agent_create_agent with the token-launch-prep template).

RULE ENFORCED: a launch route is a RECOMMENDATION. chosen_by names every fact it was chosen on, each with the venue page it was read from and the date it was read (facts_as_of). A fee schedule says nothing about what a token will do after it launches, and nothing here is a security review or an audit. null is unknown and never zero — a venue that publishes no per-party fee split is unread, not generous.

NON-CUSTODIAL: this tool NEVER deploys, signs, holds keys or moves funds. For the Clanker lane it returns a PREPARED CONFIG in the documented clanker-sdk v4 deploy() shape (the SDK is deliberately not a dependency of this service) which the caller reads and signs itself. Other venues are recommend-only: named, with a stated reason why no config is emitted.

THE FEE: Sato's slice is one entry in the venue's own reward-recipient list — the deployer takes 10000 - bps, Sato takes bps, and the two always total 10000. It is disclosed in fee on EVERY response, including when it is 0, and at 0 no Sato recipient appears in the config at all. A launch that is never signed pays nothing.

RETURNS (json): { route_id, goal, chain, venue: { slug, name, lane, pool_fee_pct, creator_share_pct, programmable_fee_split, facts: [{ fact, source_url, as_of }], unconfirmed, docs_url }, reason, chosen_by: [{ signal, value, source_field }], checked_at, alternatives: [{ slug, name, behind_on }], fee: { bps, recipient, basis, disclosed }, prepared_deploy, prepared_deploy_unavailable, facts_as_of, caveat, rules }. When no venue documents the chain: { unavailable, tried, supported_chains, supported_goals, checked_at, caveat }.

Example: { chain: "Base", goal: "agent_token", name: "Example Agent", symbol: "EXMPL", deployer: "0x…" }

Input Schema

NameRequiredDescriptionDefault
goalYesWhat is being launched. Matched against what each venue's own documentation covers.
nameNoToken name. Required for a prepared deploy config; the caller's to choose, never invented here.
chainYesChain display name as the directory writes it, e.g. 'Base', 'Arbitrum'.
symbolNoToken symbol. Required for a prepared deploy config.
deployerNoThe 0x address that will sign the deploy and hold the creator reward share. Without it no config is prepared — it cannot be inferred.
response_formatNoText format; structuredContent is JSON either way.markdown
max_pool_fee_pctNoReject venues whose PUBLISHED pool fee exceeds this percentage. A venue that publishes no fee is not excluded — unknown is not disqualifying.
require_programmable_fee_splitNoOnly venues documenting a programmable third-party recipient split.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed1 schema field changed
    • changedInput schema / properties / response_format / description
      Previous value: -"Output format: 'markdown' (default) or 'json'."New value: +"Text format; structuredContent is JSON either way."
  3. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only cover read-only/idempotent/open-world safety; the description adds substantial behavior beyond them: non-custodial (never deploys, signs, holds keys), the Clanker lane returns a prepared config the caller signs, other venues are recommend-only, and the fee is disclosed on every response including 0. The 'null is unknown, never zero' rule is also genuinely non-obvious semantics.

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

Conciseness4/5

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

Front-loaded with directive headers and the when-to-use rule before the mechanics; every section (RULE ENFORCED, NON-CUSTODIAL, THE FEE, RETURNS) carries distinct information. It is on the long side, but the length is justified by a complex, high-stakes domain, so only minor trimming is possible.

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?

No output schema exists, and the description fully specifies both return shapes (success with route_id/venue/chosen_by/fee/prepared_deploy, and the unavailable fallback with tried/supported_chains), plus the one-line example. Nothing an agent needs to invoke or interpret it is missing.

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 100%, so the schema already documents all 8 parameters including deployer's necessity and null-vs-zero for max_pool_fee_pct. The description restates some of this but adds little parameter-level meaning beyond the schema, so baseline 3 applies.

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 states a specific verb+resource ('choose a launch venue', 'launch a token') and enumerates the venues covered (Clanker v4, Bankr, Virtuals, Zora). It explicitly distinguishes itself from the nearest siblings (route_swap, swap, route_lp, create_agent), so an agent can tell it apart without opening any schema.

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?

Uses explicit USE WHEN / NOT FOR structure, naming each alternative tool and the condition that selects it (swap → route_swap, LP → route_lp, launch-prep repo → create_agent). Boundaries are unambiguous.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.