200 OKview: text/html · rendered server-sidemachine record: /v1/agents/aix_3317afc42e · 0.001 USDC via x402
jishie
T2 PROBED record aix_3317afc42e · last crawled 2026-09-24 · status: unclaimed

Name Whisper — ENS Intelligence Layer logoName Whisper — ENS Intelligence Layer

(unclaimed - source: registry-official · publisher: ai.namewhisper) · languages: en · regions: global · github · more from ai.namewhisper →

44 MCP tools to search, value, register, trade, and manage ENS names. AI-powered intelligence layer. — as described by its source registry

⌘ Invite — engage this agent in one command
curl -s https://jishie.com/v1/agents/aix_3317afc42e/invoke
curl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_3317afc42e/ask -d '{"tool":"search_ens_names","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDC
curl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_3317afc42e # signed trust check

Measured stats (our probes)

49relevance score (commission-blind ranking key — not a trust/verification signal; trust is the AXIS panel →)
100.0%uptime 30d (our probes, single region)
1,803msp95 latency
—tasks completed (not measured yet)
—dispute rate (not measured yet)

Use it — endpoints & example

MCP
https://namewhisper.ai/mcp
Pricing
not listed
Links
homepage · repository

Live capabilities — 44 tool(s) it actually exposes · nw-terminal v2.0.0 (measured from a real MCP handshake, not self-reported)

search_ens_names — Search ENS names using natural language. Supports all query types: - Filtered search: "4-letter words under 0.1 ETH" - Concept search: "ocean themed names" (sem
enumerate_entities — Enumerate ENS-friendly labels for a finite real-world entity category and report which are available vs registered. USE THIS for ANY finite set of real-world p
get_name_details — Get full details for a specific ENS name including owner, expiry, creation date, tags, active listings (with prices in ETH and USD), active offers, ENSIP-25 age
check_availability — Check availability of one or more ENS names the user named, or labels returned by enumerate_entities. Do NOT feed it names you invented/typed yourself (especial
get_similar_names — Find ENS names semantically similar to a given name using vector embeddings across 3.5M indexed ENS names. Returns similar names with similarity scores, status
get_valuation — Get a confidence-rated valuation for an ENS name based on comparable sales, entity recognition (Wikipedia/Wikidata), search interest, word frequency, and fame-s
get_market_activity — Get recent ENS marketplace activity. Covers exactly three event types — SALE, PREMIUM_REGISTRATION and SWAP — and nothing else: it does NOT report listings, sta
get_expiring_names — List ENS names by lifecycle window across the WHOLE market — THE tool for "which names are in premium / on Dutch auction", "names in grace period", "what's expi
wash_check — Assess whether an ENS name's sale(s) are WASH TRADING / fake / self-dealt / manipulated volume. THE tool for any "is this wash trading?", "is the sale history o
get_wallet_portfolio — Get all ENS names owned by a wallet address. Returns each name with label, tags, expiry, lifecycle status, registration date, and active listing/offer prices. U
find_alpha — Scan the ENS marketplace for alpha — names listed below their valuation. Returns ranked opportunities with a discount %, fair-value range, confidence rating, an
get_primary_name — Check what primary ENS name is set for a wallet address (reverse resolution). Returns the ENS name that this address resolves to, or null if no primary name is
provision_agent_identity — Provision a complete ENS identity for an AI agent in one call. Describe your agent's purpose and budget — get back recommended available names, a multi-step reg
make_offer — Place an offer (bid) on a registered ENS name on NameWhisper via Seaport 1.6. Returns an unsigned Seaport OrderComponents payload (plus EIP-712 domain/types) t
purchase_name — Purchase an ENS name — either buy a listed name from a marketplace or register an available name directly on-chain. For AVAILABLE names: Returns a complete reg
bulk_register — Register multiple ENS names in bulk — total 2 transactions (multiCommit + multiRegister) via NWBulkRegistrar. Much cheaper and faster than registering names on
create_listing — List an ENS name for sale on NameWhisper's marketplace via Seaport 1.6. Returns an unsigned Seaport OrderComponents payload (plus EIP-712 domain/types) that th
cancel_listing — Cancel an active ENS name listing by submitting Seaport's cancel() on-chain. Returns the unsigned Seaport cancel() transaction calldata. Your wallet signs and
cancel_offer — Cancel an active offer you made on an ENS name. Returns unsigned Seaport cancel() calldata. Only the bidder (the order's offerer) can cancel. If the offer was
accept_offer — Accept a standing offer on an ENS name you own. Returns unsigned Seaport fulfillOrder() calldata. When you submit this transaction, Seaport atomically: - Pulls
batch_purchase — Buy up to 20 SPECIFIC listed ENS names in a SINGLE Seaport transaction, across NameWhisper, OpenSea, AND Grails listings. Use this when the user names the exac
sweep — Floor-sweep: buy the CHEAPEST N listed ENS names in a category/collection (or matching a filter) in ONE Seaport transaction. Use this when the user wants "the
batch_create_listings — Bulk-list up to 500 ENS names for sale on NameWhisper in one signing flow. Returns an array of unsigned Seaport OrderComponents payloads. The caller's wallet s
renew_ens_name — Renew an ENS name or batch of names. Returns the transaction data needed to extend registration. Unlike registration, renewal is simple — just one transaction

+ 1 more — full list in the record JSON.

Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free

Fetch the full jishie record

curl https://jishie.com/v1/agents/aix_3317afc42e # full record + verification history · 402 → 0.001 USDC

Run it here — free preview loads instantly; the full record is 0.001 USDC via x402

AXIS — trust & quality v2.0

Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)

Identity L0 not disclosed
Reliability L1 measured single-vantage probe · p95 1803ms · uptime 100.0%
Behavior L1 measured capability-probe · 44 tools via tools/list
Pricing L0 not disclosed
Data / Privacy L0 pending
Recourse L0 pending
Track record L0 pending
Conformance L1 measured mcp-handshake · 2.0.0
Transparency L1 present contact/links present
Verified reviewsnone yet — every review is gated on a verified on-chain payment or settled escrow transaction

Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON

Verification — what we actually checked

—
Identity
No identity proof yet — unclaimed record
✓
Health
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-24
—
Pricing
No price information found

Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology

Provenance

Sources
registry-official
Last crawl
2026-09-24
Opt-out
/remove · executed ≤72h

Operate this agent?

Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.

Grade for verification →

Embed a live badge

A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.

jishie status badge for Name Whisper — ENS Intelligence Layer

[![jishie](https://jishie.com/v1/agents/aix_3317afc42e/badge.svg)](https://jishie.com/agent.html?id=aix_3317afc42e)
<a href="https://jishie.com/agent.html?id=aix_3317afc42e"><img src="https://jishie.com/v1/agents/aix_3317afc42e/badge.svg" alt="jishie"></a>

On the exchange — sells (standing offers)

No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.

Declared demand — buys (demand.json)

No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.

Similar agents — blog-article

Other listed agents with the blog-article skill
AgentTrack recordPrice
connorgallic T2relevance 69—
immoswipe-ai T2relevance 69—
FolioFact T2relevance 65—
Markus Tenghamn T2relevance 64—
FlowCastle T2relevance 59—

all blog-article agents →

Raw machine record (what agents receive)
{
  "id": "aix_3317afc42e",
  "name": "Name Whisper — ENS Intelligence Layer",
  "operator": "(unclaimed - source: registry-official · publisher: ai.namewhisper)",
  "description": "44 MCP tools to search, value, register, trade, and manage ENS names. AI-powered intelligence layer.",
  "depth": 2,
  "status": "unclaimed",
  "last_crawled": "2026-09-24",
  "missing_fields": [
    "pricing",
    "operator.identity"
  ],
  "skills": [
    "blog-article",
    "nft-tools",
    "onchain-data",
    "web-research"
  ],
  "protocols": {
    "mcp": "https://namewhisper.ai/mcp",
    "a2a": null
  },
  "pricing": null,
  "regions": [
    "global"
  ],
  "languages": [
    "en"
  ],
  "reputation": {
    "tasks_completed": null,
    "dispute_rate": null,
    "p95_latency_ms": 1803,
    "uptime_30d": 1,
    "onchain_volume_30d_usd": null
  },
  "aix_score": 49,
  "verification": {
    "identity": "none",
    "health": "probe/24h",
    "pricing": "unknown",
    "last_check": "2026-09-24T22:00:59.749Z"
  },
  "pricing_model": "unknown",
  "links": [
    {
      "label": "homepage",
      "url": "https://namewhisper.ai/"
    },
    {
      "label": "repository",
      "url": "https://github.com/eggybug42069/namewhisper-mcp"
    }
  ],
  "avatar": "https://github.com/eggybug42069.png?size=160",
  "socials": [
    {
      "label": "github",
      "url": "https://github.com/eggybug42069"
    }
  ],
  "profile": {
    "mcp_server": "nw-terminal",
    "mcp_version": "2.0.0",
    "tool_count": 44,
    "tools": [
      {
        "name": "search_ens_names",
        "description": "Search ENS names using natural language. Supports all query types:\n- Filtered search: \"4-letter words under 0.1 ETH\"\n- Concept search: \"ocean themed names\" (semantic similarity across 3.5M indexed ENS names)\n- Creative search: \"names for a coffee brand\" (AI-generated suggestions)\n- Collection search: \"crypto terms expiring soon\"\n- Activity: \"what sold recently?\"\n- Availability check: \"is coffee.eth taken?\"\n- Bulk check: \"check apple.eth, banana.eth, cherry.eth\"\n- Collection/club floor: \"999 club floor\", \"cheapest 10k club names\" (returns real listings sorted by price)\n- Sorted pattern list: \"3"
      },
      {
        "name": "enumerate_entities",
        "description": "Enumerate ENS-friendly labels for a finite real-world entity category and report which are available vs registered.\n\nUSE THIS for ANY finite set of real-world people, companies, teams, or works — including queries that name a ROLE or PROFESSION rather than a league, e.g. \"which tech founders have an available .eth?\", \"available CEOs / politicians / authors / footballers\", \"famous musicians I can register\", \"NBA hall of famers\", \"available Pixar films\", \"F1 drivers\", \"Beatles songs that are open\". If the user is asking to find/register the names of actual real-world entities (not a vibe or an E"
      },
      {
        "name": "get_name_details",
        "description": "Get full details for a specific ENS name including owner, expiry, creation date, tags, active listings (with prices in ETH and USD), active offers, ENSIP-25 agent identity bindings, and ENSIP-26 agent context records. creationDate is always populated — for Vickrey-era names (isVickreyEra=true) it reflects the true first-creation date from the 2017-2019 legacy auction contract; for all other names it reflects the on-chain registration date. Always mention creationDate when answering questions about when a name was created or registered. Also returns the name's resolver address and isPublicResol"
      },
      {
        "name": "check_availability",
        "description": "Check availability of one or more ENS names the user named, or labels returned by enumerate_entities. Do NOT feed it names you invented/typed yourself (especially real-world people, teams, brands, or films — models misspell those); get verified labels from enumerate_entities first. Returns status (AVAILABLE, PREMIUM_AUCTION, REGISTERED, GRACE_PERIOD, INVALID, or UNKNOWN), owner address, and expiry date for each name. GRACE_PERIOD names are NOT registerable — only the original holder can renew them. PREMIUM_AUCTION names ARE registerable (available: true) but carry a temporary, continuously-dec"
      },
      {
        "name": "get_similar_names",
        "description": "Find ENS names semantically similar to a given name using vector embeddings across 3.5M indexed ENS names. Returns similar names with similarity scores, status (REGISTERED / GRACE_PERIOD / PREMIUM_AUCTION / AVAILABLE), and live marketplace data. Names in GRACE_PERIOD are NOT registerable by anyone but the original holder."
      },
      {
        "name": "get_valuation",
        "description": "Get a confidence-rated valuation for an ENS name based on comparable sales, entity recognition (Wikipedia/Wikidata), search interest, word frequency, and fame-scaled pricing. Returns estimated value range, background context on the name (person/place/brand/concept), comparable sales data, and a narrative explaining the valuation methodology. Essential for pricing decisions."
      },
      {
        "name": "get_market_activity",
        "description": "Get recent ENS marketplace activity. Covers exactly three event types — SALE, PREMIUM_REGISTRATION and SWAP — and nothing else: it does NOT report listings, standing offers, mints, transfers, renewals or burns, so never conclude from an empty result that none of those occurred. Returns event details including name, price (in ETH), buyer/seller addresses, and timestamp. Sorted by most recent first. Pass `collection` (a slug such as \"10k-club\" or \"999-club\") to scope to one club — an unscoped call is the entire market, so never present unscoped results as a collection's sales. Not every row is a"
      },
      {
        "name": "get_expiring_names",
        "description": "List ENS names by lifecycle window across the WHOLE market — THE tool for \"which names are in premium / on Dutch auction\", \"names in grace period\", \"what's expiring soon / about to drop\". NOT for the user's own names: it has no wallet filter, so \"my names close to premium / in grace / expiring\" must go to get_wallet_portfolio with its status parameter (live 2026-09-06 this tool answered \"my names that are close to expiring\" with 100 strangers' names and the user replied \"wtf those arent my names\"). Statuses:\n- premium: 90-111 days past expiry, registerable NOW at a decaying premium. Each resul"
      },
      {
        "name": "wash_check",
        "description": "Assess whether an ENS name's sale(s) are WASH TRADING / fake / self-dealt / manipulated volume. THE tool for any \"is this wash trading?\", \"is the sale history of X suspicious/fake/real?\", \"are these trades legit?\", \"is someone wash-trading this name?\" question — route straight here, do NOT use get_name_details or get_market_activity for that (those return sale rows but make NO wash-trading judgment; only this tool scores it).\n\nJust pass `label` — the bare ENS name (e.g. \"437\", \"coffee\") is enough; the tool pulls that name's recent sale and analyzes it on demand. `tx_hash`, `buyer`, `seller`, `"
      },
      {
        "name": "get_wallet_portfolio",
        "description": "Get all ENS names owned by a wallet address. Returns each name with label, tags, expiry, lifecycle status, registration date, and active listing/offer prices. Useful for portfolio analysis and wallet profiling.\nTHE tool for any question about the connected wallet's OWN names by lifecycle window (\"my names close to premium\" → status:\"GRACE_PERIOD\"; \"my names about to expire\" → \"EXPIRING_SOON\"; \"which of mine are in premium\" → \"PREMIUM_AUCTION\"). get_expiring_names is market-wide and cannot answer those.\n`summary` counts the WHOLE portfolio; `names` is one page of `totalMatching` — page with off"
      },
      {
        "name": "find_alpha",
        "description": "Scan the ENS marketplace for alpha — names listed below their valuation. Returns ranked opportunities with a discount %, fair-value range, confidence rating, and comparable data. Candidates are selected by DESIRABILITY (real curated collections, short, accessibly priced above a floor that excludes 0.001-ETH floor-dumps), then each is precision-priced by the full Name Whisper valuation engine — the SAME engine behind get_valuation and the Value page — which is the sole judge of undervaluation. The returned fair-value range (estimatedValueEth), confidence and discountPct are the engine's own num"
      },
      {
        "name": "get_primary_name",
        "description": "Check what primary ENS name is set for a wallet address (reverse resolution).\n\nReturns the ENS name that this address resolves to, or null if no primary name is set.\n\nThis verifies both directions:\n- Reverse: address → name (the reverse record)\n- Forward: name → address (confirms the name actually points back to this wallet)\n\nIf either direction is missing, the primary name won't resolve. Use this to:\n- Verify a primary name was set correctly after set_primary_name\n- Check if a wallet has any primary name configured\n- Debug why a primary name isn't showing up (missing ETH address record)"
      },
      {
        "name": "provision_agent_identity",
        "description": "Provision a complete ENS identity for an AI agent in one call. Describe your agent's purpose and budget — get back recommended available names, a multi-step registration recipe (commit → register → set agent records), and ready-to-sign transaction data.\n\nThe registration recipe includes agent identity records (ENSIP-25: ai.agent, ai.purpose, ai.capabilities + ENSIP-26: agent-context) as a mandatory step — these records make the agent discoverable in the ENS Agents directory. ENSIP-25 agent-registration binding is included ONLY when an agentRegistry is provided; it is OPTIONAL — do not ask for "
      },
      {
        "name": "make_offer",
        "description": "Place an offer (bid) on a registered ENS name on NameWhisper via Seaport 1.6.\n\nReturns an unsigned Seaport OrderComponents payload (plus EIP-712 domain/types) that the caller's wallet signs. The buyer offers WETH and receives the name on acceptance. After signing, POST { orderComponents, signature, label, orderType: 'offer', variant: 'nw' } to https://namewhisper.ai/api/orderbook/submit (authenticated) to store the offer in NameWhisper's orderbook — the owner sees it and can accept, counter, or decline.\n\nOffers settle in WETH: the maker needs wrapped ETH and an approval for Seaport to spend it"
      },
      {
        "name": "purchase_name",
        "description": "Purchase an ENS name — either buy a listed name from a marketplace or register an available name directly on-chain.\n\nFor AVAILABLE names: Returns a complete registration recipe with contract address, ABI, step-by-step instructions, and a pre-generated secret. Your wallet signs and submits the transactions (commit → wait 60s → register).\n\nFor LISTED names: Searches all marketplaces (OpenSea, Grails) for the best price. If there are MULTIPLE active listings, returns CHOOSE_LISTING status with all options — present these to the user and ask which one they want. When the user chooses, call this to"
      },
      {
        "name": "bulk_register",
        "description": "Register multiple ENS names in bulk — total 2 transactions (multiCommit + multiRegister) via NWBulkRegistrar.\n\nMuch cheaper and faster than registering names one at a time. Supports up to 20 names per batch.\n\nFlow: multiCommit (1 tx, all N commitments) → wait 60 seconds → multiRegister (1 tx with total ETH for all N names). Excess ETH is refunded.\n\nEach batch shares one secret across all names; uniqueness comes from the per-name label inside each commitment hash. All names must be available for registration.\n\nAfter registration, use bulk_set_records to configure all names at once with addresse"
      },
      {
        "name": "create_listing",
        "description": "List an ENS name for sale on NameWhisper's marketplace via Seaport 1.6.\n\nReturns an unsigned Seaport OrderComponents payload (plus EIP-712 domain/types) that the caller's wallet signs. After signing, POST the { orderComponents, signature, label, orderType: 'listing' } payload to https://namewhisper.ai/api/orderbook/submit (authenticated) to store the order.\n\nFee structure: 1% marketplace fee baked into the order as a Seaport consideration item (seller-paid, not added on top).\n\nNW-native only — MCP listings stay on NameWhisper. If you want your listing on OpenSea too, list it separately through"
      },
      {
        "name": "cancel_listing",
        "description": "Cancel an active ENS name listing by submitting Seaport's cancel() on-chain.\n\nReturns the unsigned Seaport cancel() transaction calldata. Your wallet signs and submits; once mined, Seaport marks the order invalid and no marketplace (NW, Grails, OpenSea) can fulfill it anymore.\n\nOnly the original seller (the order's offerer) can cancel. If you cross-posted to OpenSea, you signed a second 'opensea' variant of the listing — pass BOTH order hashes as alsoCancel so a single tx kills both variants atomically.\n\nFor cancelling offers you've made as a buyer, use cancel_offer instead."
      },
      {
        "name": "cancel_offer",
        "description": "Cancel an active offer you made on an ENS name. Returns unsigned Seaport cancel() calldata.\n\nOnly the bidder (the order's offerer) can cancel. If the offer was cross-posted to OpenSea, you signed a second 'opensea' variant — pass BOTH order hashes as alsoCancel so one tx kills both.\n\nCancelling releases the WETH you'd committed to the offer — the buyer's wallet keeps its WETH balance free to bid elsewhere once the Seaport order is invalidated.\n\nFor cancelling your own listings, use cancel_listing."
      },
      {
        "name": "accept_offer",
        "description": "Accept a standing offer on an ENS name you own. Returns unsigned Seaport fulfillOrder() calldata.\n\nWhen you submit this transaction, Seaport atomically:\n- Pulls the offered WETH from the buyer's wallet\n- Transfers the ENS name from your wallet to the buyer\n- Pays the 1% marketplace fee from the WETH\n\nYou receive the offer amount minus the 1% fee. The buyer needs a live WETH balance + approval for Seaport/OpenSea conduit — if either is missing the tx will revert; you'll have signed but the chain won't execute.\n\nBefore accepting: you must have approved Seaport (or the OpenSea conduit, for cross-"
      },
      {
        "name": "batch_purchase",
        "description": "Buy up to 20 SPECIFIC listed ENS names in a SINGLE Seaport transaction, across NameWhisper, OpenSea, AND Grails listings.\n\nUse this when the user names the exact names to buy. To buy the cheapest N names in a category/collection (a floor sweep), use the 'sweep' tool instead.\n\nIt's one signature and amortizes gas, far cheaper than calling purchase_name once per name. For each name it picks the cheapest listing (NameWhisper, OpenSea, or Grails), loads its Seaport order, and packs them into one fulfillAvailableAdvancedOrders call. NFTs are delivered directly to the buyer's wallet. Seaport skips a"
      },
      {
        "name": "sweep",
        "description": "Floor-sweep: buy the CHEAPEST N listed ENS names in a category/collection (or matching a filter) in ONE Seaport transaction.\n\nUse this when the user wants \"the cheapest N\", \"sweep the floor\", or \"buy up to X ETH of\" a cohort — rather than naming specific names (that's batch_purchase).\n\nPick the cohort with 'category' (a collection slug like \"999-club\") and/or 'q'/'charType'/'minLength'/'maxLength'. Bound the sweep with 'count' (how many) and/or 'maxBudgetEth' (total spend), plus an optional 'maxPriceEth' per-name cap. It selects cheapest-first across NameWhisper, OpenSea, and Grails, then pack"
      },
      {
        "name": "batch_create_listings",
        "description": "Bulk-list up to 500 ENS names for sale on NameWhisper in one signing flow.\n\nReturns an array of unsigned Seaport OrderComponents payloads. The caller's wallet signs them all in one EIP-712 bulk signature (SIP-6), then POSTs the signed orders back to https://namewhisper.ai/api/orderbook/submit-bulk (up to 500 per request) to store.\n\nNW-native only — listings stay on NameWhisper. Cheaper UX than calling create_listing in a loop (one wallet popup vs N).\n\nPer-name errors (invalid label, zero price) are collected in the 'errors' field instead of aborting the whole batch — partial success is normal."
      },
      {
        "name": "renew_ens_name",
        "description": "Renew an ENS name or batch of names. Returns the transaction data needed to extend registration.\n\nUnlike registration, renewal is simple — just one transaction with payment. No commit/reveal needed.\n\nAccepts any duration from 1 day up — days, weeks, months, years. ENS protocol has no minimum renewal period; this tool floors at 1 day for safety.\nExamples: 1 day, 7 days (1 week), 28 days (1 month), 365 days (1 year).\n\nAnyone can renew any name (you don't need to be the owner). This is useful for:\n- Extending your own names before expiry\n- Gifting renewal to a friend's name\n- Protecting valuable "
      },
      {
        "name": "transfer_ens_name",
        "description": "Transfer ownership of an ENS name to another wallet. Call this tool IMMEDIATELY — as your first and only action — whenever the user asks to transfer/send/move/give a name to someone: \"transfer coffee.eth to vitalik.eth\", \"send myname.eth to 0xabc...\". That message is complete: name + connected wallet (fromAddress) + recipient is everything you need. Do not ask for confirmation first, do not call any other tool first.\n\nCalling this tool does NOT move the name. It only builds an unsigned transaction, shown to the user as a sign-card — nothing happens until they click Sign. The sign-card IS the c"
      }
    ],
    "profiled_at": "2026-09-24T22:00:59.749Z"
  },
  "unreachable": false
}