MCP HeartbeatTHE MCP OBSERVATORY
Public workspace

Explore

Evidence for your next connection.

Independent measurements of remote MCP servers. Every observation has a timestamp.

Read-only probes

MCP server · Data access / search

Chain Daddy

Search tokens, check registrations, and run a Chain Daddy creator store from your agent.

Checks passed
12 / 22

2 failed · 8 not measured

Median response
1356 ms

Median of successful probes over 7 days

30-day uptime
Not measured

Share of countable probes over 30 days, including daily rollups. Auth challenges are excluded.

Discovered tools
45

Tool definitions returned by this server

Independent monitoring

Health & checks

Status history

Responded

The server completed its last measured handshake. This is an observation, not a guarantee.

Last checked
Check summary by test group
Test areaPassedFailedUnmeasured
ConnectionCan a client connect and discover tools?
500
Reliability & speedDoes it respond consistently and quickly?
004
Access & authenticationWhat is required to use this server?
102
Tool qualityAre the tool definitions usable by an agent?
400
Publisher identityCan the publisher be traced to its source?
222

Unmeasured means there is not enough evidence to decide. How these checks work

Inspect individual checks 22 recorded

Core

  • Pass
    Reachable

    Latest probe returned HTTP 200 in 1356 ms.

  • Pass
    Valid handshake

    protocolVersion 2025-11-25, serverInfo.name chaindaddy.

  • Pass
    Lists tools

    tools/list returned 45 tools.

  • Pass
    Current protocol

    Negotiated 2025-11-25. The bar is 2025-06-18 or newer.

  • Pass
    HTTPS

    The endpoint URL is https.

Performance

  • Not measured
    Fast (p50)

    Median latency 1356 ms over 1 samples in 7 days. The bar is 1000 ms. Need at least 5 samples.

  • Not measured
    Consistent (p95)

    95th percentile 1356 ms over 1 samples in 7 days. The bar is 3000 ms. Need at least 20 samples.

  • Not measured
    Reliable (uptime)

    1 of 1 attempts returned a tool list in 30 days (100%). The bar is 99%. Need at least 30 samples.

  • Not measured
    Stable tool list

    Fewer than two successful probes in 30 days, so tool-list stability is not measured.

Access

  • Pass
    Open access

    tools/list succeeded with no credential, and the record declares none.

  • Not measured
    Standard auth

    Auth is not required, so the OAuth metadata check does not apply.

  • Not measured
    Free tier cited

    No publisher quote has been checked.

Tools

  • Pass
    Tools described

    Every tool description is at least 20 characters.

  • Pass
    Valid input schemas

    Every inputSchema is a JSON Schema object.

  • Pass
    Parameters documented

    121 of 151 parameters have a description (80%). The bar is 80%.

  • Pass
    Safety hints

    Every tool sets readOnlyHint or destructiveHint.

Publisher

  • Pass
    Verified namespace

    Listed in the Official MCP Registry.

  • Fail
    Website matches publisher

    The website host does not match the reverse-domain namespace.

  • Fail
    Source repo linked

    No repository URL is on file.

  • Not measured
    Repo owner matches

    This namespace is not an io.github login, so the owner comparison does not apply.

  • Pass
    Recently updated

    Updated 2026-10-21T16:31:58.995301Z, within 180 days.

  • Not measured
    Open-source licence

    No GitHub repository to ask about a licence.

Start using Chain Daddy

Connect to this server

Choose your client, copy the configuration, then enable the server in your client’s MCP settings.

Run this command in your terminal, then restart Claude Code.

Claude Code

claude mcp add --transport http chain-daddy https://api.chaindaddy.io/mcp

Capabilities

Tools 45

call_read_operation

Runs one read-only operation of the Chain Daddy REST API, documented at https://docs.chaindaddy.io/api-reference/explorer (OpenAPI: https://docs.chaindaddy.io/openapi.yaml), by its tool name and arguments, and returns the API's JSON answer. An operation marked as needing sign-in requires Sign in with Chain Daddy and reads only the signed-in user's own data.

Discovered
call_write_operation

Makes one change through the Chain Daddy REST API, documented at https://docs.chaindaddy.io/api-reference/explorer (OpenAPI: https://docs.chaindaddy.io/openapi.yaml), by the operation's tool name and arguments: for example editing a token page, an alert rule or a holder group, or sending holders a message. Acts as the signed-in user and needs Sign in with Chain Daddy allowing changes (scope api:write). Some changes notify people or cannot be undone. It does not pay, mint, launch, claim or trade. Needs Sign in with Chain Daddy, allowing changes (scope api:write).

Discovered
check_heartbeat

Get heartbeat score for a registration A registered token's health on one chain: the heartbeat score (0-100) the oracle published for it in the latest daily epoch, the status derived from it, the three parts it is built from (age, DEX volume, holder health) and how many epochs in a row it has been under 60. A registration whose heartbeat stays under 60 for 30 epochs can lapse and become claimable again, so the score tells a live token page from a dormant one. Answers 404 for a symbol that has no registration on that chain, and for a registration past its 30-day grace period that no epoch has scored yet. `outlook` reads that published leaf forward: the first daily count projected under 60, the day the name can be registered by anyone who proves the same contract, and the least trading (or the fewest more holders) that holds 60. The coin's health notices say the same.

Discovered
create_alert_rule

Create an alert rule on a token Creates one threshold alert on one token for the signed-in wallet and returns it (201). When the rule's condition is met, an alert fires and is delivered on the wallet's notification channels; it does not fire again for `cooldownMinutes` (default 60). `alertType` picks the metric, and `thresholdOperator` + `thresholdValue` the condition: `gt`/`lt` compare the metric to the value, `pct_drop`/`pct_spike` compare its percentage change (over `timeWindowMinutes` when set) to the value. Types and the lowest plan that may create them: `heartbeat_score` (Free; EVM tokens only; needs a token page), `copycat_detected` (Free; needs a token page), `holder_count_drop`, `liquidity_drop`, `volume_anomaly`, `price_change` (Pro), `top10_concentration` (Pro+; operator `gt` or `pct_spike` only). Free accounts hold up to 3 rules, paid plans 50, Enterprise unlimited. The token is named by `chainId` + `tokenAddress`; a ticker is not accepted. A type above the caller's plan is 403, naming the plan, with `upgrade_url`; a token-page type on a token with no page is 400 `crown_required`. Each call creates a new rule, so the same request twice makes two rules. Needs Sign in with Chain Daddy, allowing changes (scope api:write).

Discovered
create_oauth_client

Register a sign-in client Registers a site or app that can send people to Sign in with Chain Daddy. Needs Developer Beta Program membership (the current agreement signed); registering is free. - `redirectUris`: 1 to 10, matched exactly (no wildcards, no fragments, no credentials). `https` only, except `http://localhost` and `http://127.0.0.1` for development. - `confidential: true` is for a server that can keep a secret: the response carries `clientSecret` (`cd_oauth_` + 64 hex) once, and it is not shown again and cannot be rotated here. `false` suits a single-page app, a game or a native app, which use PKCE with no secret. - `name`: 1 to 40 characters; it may not contain "Chain Daddy", "official", "support" or "wallet" (checked ignoring case, spaces and punctuation). - `crown` (optional): a token page the caller holds or manages. It earns the consent screen's Verified mark for redirect hosts on that page's DNS-verified domains; without it the screen says "Unverified site". Needs Sign in with Chain Daddy, allowing changes (scope api:write).

Discovered
find_api_operations

Searches the operations of the Chain Daddy REST API, documented at https://docs.chaindaddy.io/api-reference/explorer (OpenAPI: https://docs.chaindaddy.io/openapi.yaml) that an AI app may use, beyond the tools listed here: token pages, holders and community, broadcasts, alerts, deals, airdrop drafts, polls, Crown Apps, the developer program, Sign in with Chain Daddy, notifications, listings and more. Returns each match's tool name, what it does, whether it reads or changes something (`callWith`), whether it needs sign-in, and its input schema. No operation here moves money or tokens: paying, launching, claiming and trading happen on chaindaddy.io.

Discovered
find_store

Find a store A token's creator store and the items it sells (active ones only): each item's name, type, price and currency, stock, and per-wallet limit. It looks the store up by `symbol`, or by token page (`chainKey` and `crownId`) when a ticker is registered on several chains. 404 means the token has no store. Buying happens on the token's page on chaindaddy.io.

Discovered
get_creator_record

Get a verified coin's creator record The creator record of a verified coin: how many coins its creator launched before, how many are still trading and how many died within a week, when they first launched, how old the wallet is and who funded it, plus what the creator has done with this coin since (events) and "Bundled at open". Read from chains and kept by Chain Daddy; the answer can lag the chain by up to a day. `state` is `pending` until the record is first computed, and `offPlatformPending` stays `true` while launches on other platforms are still being read. Answers 404 for a ticker with no verified page on that chain, for a page Chain Daddy removed, and everywhere while the creator record is off. Keyless, the same for every caller, and cached for about a minute. The token address may stand where the ticker goes: a verified coin's address answers the same record as its ticker. Any coin: the address of a coin nobody registered with Chain Daddy answers its creator record too. The answer then also names the creator (`creator`) and where the chain names them (`creatorSource`). It is `pending` until the creator and their launches have been read (seconds to minutes; cached for seconds, so it can be asked again), and `unknown` when the chain does not name a creator Chain Daddy can read. Reading a new coin's creator starts only for a request from a web browser; any other caller gets what is already known, or `pending`.

Discovered
get_deal

Get one deal with its history Returns one deal with its event history, attestations and payment records; `stage`, `deadline` and `deadline_kind` say where it stands and which clock is running. Public: anyone with the id can read it. With a wallet session the answer also carries `actions` (what that wallet may do now); anonymously `actions` is null, a collab's agreed terms are removed from its events, and signatures on attestations are blanked. `terms` is never on this read; it is only on the parties' own list of their deals.

Discovered
get_developer_app

Get one of your apps One app the signed-in developer owns, with its full store listing (subtitle, description, category, tags, links, icon and screenshots) and status. Someone else's app answers 404, the same as one that does not exist. Needs Sign in with Chain Daddy (scope api:read).

Discovered
get_developer_program_status

Your developer program status Everything that decides what the signed-in wallet can do in the developer program: `stage` (`subscribe` = no account and no paid plan, `agreement` = the current agreement is not signed yet, `portal` = a member in good standing, `suspended`), whether the current agreement is signed, the wallet's own plan, and its developer account (with `can_publish`). It explains a developer route's `DEVELOPER_AGREEMENT_REQUIRED` or `PAID_PLAN_REQUIRED` refusal. A trial plan reads `paid: false`: it does not count for joining or publishing. Needs Sign in with Chain Daddy (scope api:read).

Discovered
get_fees

Get all current fees Chain Daddy's current prices in US dollars: `crownFee` to register an existing token's ticker on one chain, `createFee` to create a token with Chain Daddy's token factory, multi-chain `bundles`, and plan prices per month and per year (`subscriptionTiers`). A token launched through Chain Daddy is registered free, and some tokens qualify for a free claim, so one token's own price can be lower than `crownFee`. Launchpad trading fees are not listed here.

Discovered
get_holder_segments

Size your holder segments How many reachable subscribers (verified, not opted out) are in each holder segment, and the size of the audience selected: `all`, `new_7d` (joined in the last 7 days), `churned` (sold everything), `reduced_50` (cut their position by half or more), `whales` (top 1% or $10k+), `top_10`, `top_25`, `top_50`, `top_100`. `audience.reachableByDM` is how many of those the bot can DM on Telegram or Discord. Owner or manager; wallet session only. The audience size is who a broadcast or a reward to that selection would reach. A token page id repeats across chains, so `chain` decides which token's ownership is checked. Needs Sign in with Chain Daddy (scope api:read).

Discovered
get_my_account

Your account at a glance, and what needs you Returns the signed-in account's wallet, every wallet on the account and its linked wallets, its plan, and two lists of plain sentences addressed to the person. `must_act` is what only the person can do: answer a deal offer (or deposit, consent or launch for one already agreed), register a token page they launched, a token page whose health is falling toward expiry, a pending CLI sign request, the updated Developer Program agreement to sign. `warnings` is what is close to going wrong: the API key's daily quota nearly used, a failing or disabled webhook (store webhooks included), a trial or canceled plan about to end. Each item ends with the chaindaddy.io link where the person acts, in their own wallet. `token_pages` lists the token pages the account runs and its `role` on each: `owner` (a wallet on the account holds the registration), `manager` (the holder made one of its wallets the page's manager on chain, who can edit the page and publish on chain) or `maintainer` (can edit the page's details). Managers and maintainers are read on chain, on EVM chains; a Solana page is listed when held. At most 50, owners first. `unchecked` names any source that could not be read this time; when it is empty, everything was checked. Needs Sign in with Chain Daddy (scope api:read).

Discovered
get_registration

Get a ticker's registration status Whether a ticker has a registration, and if so who holds it: `status` is `confirmed` (a registration exists on chain), `pending` or `confirming` (a token launched through Chain Daddy whose registration is still being written; `owner` is its creator) or `available` (none). It answers with ONE registration, the first found; a ticker can be registered on several chains, each by the holder of its own token, and the others are not in this answer. `available` here does not mean every chain is free.

Discovered
get_store

A store's public catalog A creator store and its active items, by store ID (`store.id` in a store lookup's answer). The same answer as looking the store up by ticker or token page.

Discovered
get_store_config

Store configuration How creator stores work right now: whether they are switched on, the chains a store can run on, what an item on each chain can be priced in besides the store's own token (the chain's coin, a dollar stablecoin), and where the receipt signing keys are published. It also says whether test stores are available here (`testMode`) and whether checkout sessions are (`checkoutSessions`, with the limits on how long one may stay open).

Discovered
get_token

Get a token by ticker on one chain The leading token with this ticker on one chain: market data (price, market cap, liquidity, holders), links, and its registration if it has one (`hasCrown`, `registration.owner`). When several tokens share a ticker on a chain, this returns the one the ticker's page shows: the registration ranked first on that chain (the oldest live one until it is ranked), else the largest unregistered token; `tokenAddress` names the exact contract. Other tokens with the same ticker are not in this answer.

Discovered
get_token_holder_snapshot

Get a token's holder snapshot How concentrated a token's holders are: the total holder count, the share of supply held by the top 10/50/100/200 wallets and how many wallets hold half the supply. Refreshed about daily from a market-data vendor; `fetchedAt` says when. It lists no wallet addresses. Counts of flagged wallets (snipers, bundlers, insiders) are unavailable, so `quality` is empty. For a coin launched on Chain Daddy, `openBlock` says who bought in its opening blocks ("bundled at open"); it is absent when those blocks were not seen. A token page id is unique per chain, not across chains; `symbol` and `chainId` in the answer say which token it describes. `404` means no token page, or no snapshot yet.

Discovered
get_token_metrics_summary

How a token's metrics moved this period The latest snapshot plus, for holders, volume, liquidity, concentration, heartbeat, price and market cap, the average over the last `period` days against the `period` before it, with the change and percentage change. Public. A metric with no data in either period is left out, and `change`/`pctChange` appear only when both periods have data. The id is `<symbol>.<chainKey>`; an unknown id answers 200 with nothing in it.

Discovered
list_active_alerts

List your open alerts Returns the alerts the signed-in wallet's rules have fired that are still open, status `triggered` (new) or `acknowledged` (seen, not yet resolved), newest first. Narrows to one token with BOTH `chainId` and `tokenAddress` (a `symbol` is not accepted). Resolved alerts are not included. Needs Sign in with Chain Daddy (scope api:read).

Discovered
list_alert_rules

List your alert rules Returns the alert rules owned by the signed-in wallet, newest first, each with its token, alert type, threshold, cooldown and whether it is enabled. A rule's `id` is what update, toggle and delete take. Narrows to one token with BOTH `chainId` and `tokenAddress`; a `symbol` is refused with 400 `invalid_filter` (one ticker can name several tokens), and narrowing needs both of the pair. Rules belong to the wallet signed in with, not to the whole account: a rule made from another linked wallet is not listed here. Needs Sign in with Chain Daddy (scope api:read).

Discovered
list_community_members

List your community members The wallets in the token's community, with email, holder group, verification time and any handles they shared (X, Discord, Telegram, ENS, SNS). The token page's owner is listed first on page one. Owner or manager; wallet session only. Returns personal contact data of community members. Needs Sign in with Chain Daddy (scope api:read).

Discovered
list_developer_apps

List your apps Every app the developer owns, whatever its status (draft, in review, published, suspended, removed), newest change first, each with its latest build's submission state and how many violations are open. Each `id` is the app's id in every other developer app operation. `wallet` is required and must be the signed-in wallet. The public Apps directory is not part of this list. Needs Sign in with Chain Daddy (scope api:read).

Discovered
list_holder_broadcast_history

A token's past broadcasts The broadcasts a token page has sent, newest first, with `total` for paging. Anyone gets the public record: sent, not limited to a holder group. A signed-in member of a holder group also gets the sends to that group (with `crownChain`; the answer is then `Cache-Control: private, no-store`). The page's owner or a manager, signed in, also gets every holder-group and segment send and unsent scheduled drafts. When the token id exists on more than one chain, `crownChain` picks the token; without it the answer can be another token's messages.

Discovered
list_launch_venues

Chain Daddy's launchpad and what it pays, per chain. The launchpad (`chaindaddy-launchpad`) creates the token together with its own locked trading pool, on EVM chains and on Solana (Meteora DBC): nothing up front, and the token's registration is free. For each chain: whether it can launch now (`launchable`), the contract the token ends up in, and the trading-fee economics in basis points of volume (`traderFeeBps` what traders pay, `creatorBps` what reaches the creator, `chainDaddyBps`). Chain Daddy's cut is one rate for every creator on every plan, fixed for each token when it launches. For a plain token with no pool, Chain Daddy's token factory (`chaindaddy-classic`, a one-time fee with the registration included) is the other option.

Discovered
list_my_deals

Your deals, with their agreed terms Lists every deal the signed-in account is a party to, across all its linked wallets: offers it made, deals it accepted, and offers waiting for its answer as a registration holder. This is the only list that includes each deal's agreed `terms`, and each row carries `actions` (what the account may do now) and `stage`. `deal_type` and `status` filter it; an unknown value is a 400, not an empty list. `limit`/`offset` page through `total`. Needs Sign in with Chain Daddy (scope api:read).

Discovered
list_oauth_clients

List your sign-in clients The Sign in with Chain Daddy clients you registered as a developer, newest first, deleted ones left out. Each shows its redirect URIs, whether it is confidential (and the first characters of its secret), the token page it is bound to, which redirect hosts the consent screen marks Verified right now, and whether support has suspended it. The secret itself is never shown again after creation. Needs a developer account (403 `DEVELOPER_AGREEMENT_REQUIRED` without one), not current membership. Needs Sign in with Chain Daddy (scope api:read).

Discovered
list_registrations

List a ticker's registrations on every chain Every registration of a ticker, on every chain, including ones still pending: for each, the chain (`primaryChainId`), the token contract it covers (`tokenAddress`), the holder (`owner`), whether it is active, and its heartbeat. One ticker can carry several registrations because each covers one token contract on one chain; an empty `tokens` list means the ticker has none.

Discovered
list_skills

Lists Chain Daddy's guides: launching or finding a token, checking its health, exporting a listing, selling items for it, signing users in, verifying receipts and building Crown Apps. Returns each guide's name, title and description. The same guides are this server's prompts.

Discovered
list_supported_chains

List the supported chains The chains a token can be registered on, each with its ID, name and type (evm or solana), and the registry protocol in use.

Discovered
list_wallet_registrations

List the registrations a wallet holds The registrations held by a wallet, without signing in. Only the wallet's 100 most recently minted registrations are considered; `limit`/`offset` page within those and `total` never exceeds 100. Each row has a v3 `id` (`crown-{symbol}-{chainKey}-{tokenId}`), `chainId`, `tokenId`, `tokenAddress` and `isActive`. Caveats: `mintTimestamp` is the time of your request, not the mint; `caip2` is always written `eip155:{chainId}`, even for Solana (chain id 900900/900901); `owner` echoes the address you sent. Response is wrapped in `{success, data, timestamp}`.

Discovered
prepare_token_launch

Get a link that opens a token launch on chaindaddy.io, filled in Returns only a chaindaddy.io `url` that opens the launch form with the token's name, ticker, chain and launch contract filled in, and a `summary` of it. It creates nothing: nothing is launched, stored, paid for or signed by this call. The person reviews every field on the page and confirms the launch in their own wallet there. `venue` is `chaindaddy-launchpad`, the default: Chain Daddy's launchpad, which launches the token with its own locked trading pool, nothing up front and its registration free, on EVM chains and Solana. Or `chaindaddy-classic`: a plain token from Chain Daddy's factory (no pool, a one-time fee, registration included). Any other venue is refused (400). A launchpad launch on an EVM chain can keep part of the supply for a team, locked: `teamPercent` (up to 20), split with other people (`teamMember`), on one schedule or up to four (`teamSchedule`). The link fills the form's team row in, and the person checks every wallet and schedule there before confirming; none of it can be changed once the token is created. One the launch would refuse is refused here (400). Solana's team share and schedule are fixed, and a plain token has none at launch, so both refuse these three.

Discovered
prepare_token_registration

Get a link that opens registering an existing token on chaindaddy.io For a token that already exists, launched anywhere: returns only a chaindaddy.io `url` that opens its registration, and a `summary` of it. With `symbol` the link opens the token's own page with its registration ready; without it, Add a token, which indexes the token first. It creates, stores, pays and signs nothing: the person opens the link, signs in with the wallet that deployed or owns the token, and confirms in their own wallet on the page.

Discovered
read_doc

Returns one page of Chain Daddy's documentation as Markdown, by its path in the docs (e.g. "developer/sign-in-with-chain-daddy.md") or its docs.chaindaddy.io URL. Only pages listed in the docs index can be read.

Discovered
read_skill

Returns one of Chain Daddy's guides in full, as Markdown: its steps, the tools it uses and the rules it keeps, by the guide's name.

Discovered
resolve_token_page

Resolve a ticker to its token page The token page's own lookup (it backs `{symbol}.crown.info` and `chaindaddy.io/{symbol}`): the one registration that page shows for a ticker, with its profile metadata, market data, DEX pair and on-chain trust row (LP lock or burn, authorities). `chain` (a chain key such as `base`, a chain name, or a CAIP-2 id) and `idx` narrow it. When nothing is registered it may still return an unregistered token for the ticker (`crown.status: unclaimed`). A 200 with no `crown` object at all means there is no token page for the ticker. `canonicalPath` is the URL path (`/{chain}`) the page lives at. `totalCrowns` / `chainCrowns` count the ticker's registrations overall and on the chain. Cached up to 30 minutes; `cached: true` marks a cached answer. Needs an API key unless called from the Chain Daddy website.

Discovered
search_docs

Searches Chain Daddy's documentation (docs.chaindaddy.io): guides for launching and running a token, token pages, alerts, creator stores, Crown Apps, and the developer API, CLI and SDKs. Returns the best-matching pages, each with its title, a summary, its path and its URL.

Discovered
search_tokens

Search tokens across all chains Finds tokens by ticker, name or contract address on every supported chain, ranked by relevance, with live market data. A result whose `type` is `crown` has a registration: its creator proved control of it on Chain Daddy, and `crown.owner` is the wallet holding it. A ticker is not unique: one symbol usually matches several unrelated tokens on different chains, which `chainKey` and `token.address` tell apart, and a `token.copycat` block marks a token that imitates a better-known one. Without `q` it lists the newest tokens, on one chain with `chain`.

Discovered
send_holder_broadcast

Send a message to your token's holders Sends a message from the token page `id` to its subscribed holders: in-app always, plus whichever of `push`, `email`, `sms`, `telegram`, `discord` and `xmtp` are listed and each holder has turned on. It goes out at once unless `scheduledAt` is set. A sent message cannot be recalled. Only the page's owner or a manager can send; there is nothing to sign. With no holder group and no segment, `telegram`/`discord` also post once in the token's public community room and Discord webhook; with either, they are DMs only. Limits: the Free plan sends 1 per rolling 7 days per token; paid plans have no plan limit, but every token is held to a safety ceiling (3 an hour and 10 a day by default, 1 a day in a token's first week), and both answer 429 with `resetsAt`. Up to 50,000 recipients per send, largest holders first. A new token's first send to more than 500 holders is held for review: it answers 200 with `recipientCount: 0` and goes out once released. `wallet` must be one of the caller's signed-in wallets (it is recorded as the sender), and `channels` must include `inapp`. When the same token id exists on more than one chain, `crownChain` picks the token; without it the message can reach the wrong token's holders or none. Every link and image is screened: links on a blocklist and images not on IPFS or Arweave answer 422. Needs Sign in with Chain Daddy, allowing changes (scope api:write).

Discovered
shop_checkout_link

Opens a checkout for a quote and returns payUrl, the link the PERSON opens to pay on Chain Daddy's pay page from their own wallet, and orderUrl, their order page (status and tracking). It moves no money, and an agent never pays. The name, email and shipping address go only to the store's server. Ask the person for them; never guess. Sold by Chain Daddy, ships in the US only.

Discovered
shop_list_products

Lists what the Chain Daddy Store (chaindaddy.store) sells: each product's slug, title, description, images, page URL and variants (id, title, USD price). Whether prices include shipping is in shippingIncluded. Sold by Chain Daddy, ships in the US only.

Discovered
shop_quote

Prices one product variant, in a quantity, for a US destination: items, shipping, sales tax and total in USD, with a quoteId to open a pay link with (shop_checkout_link) before expiresAt. One item (any quantity) per order. Tax may be null until a street address is given; the pay link's total is final. Sold by Chain Daddy, ships in the US only.

Discovered
validate_app_manifest

Validate an app manifest Checks a `capp.json` manifest against the manifest schema and the platform's rules and returns every problem by field, without submitting anything. An invalid manifest still answers 200, with `is_valid: false` in the body. Errors block a submission; warnings do not. Needs Sign in with Chain Daddy (scope api:read).

Discovered
verify_receipt

Verify a receipt online Checks a creator store receipt's signature and returns what it records (the item, quantity, wallet, amount paid, when) with its current status. A refunded order's receipt reads `revoked`: offline verification proves a receipt was issued, this proves it still stands. The receipt is the compact JWS exactly as issued (three base64url parts joined by dots). The answer is `200` whatever the receipt is. Act on `valid`, which is true only for status `valid`. A string that is not a receipt Chain Daddy signed (a bad signature, a changed payload, an unknown key, not a JWS at all) answers `{"valid": false, "status": "invalid", "error": "…"}` with no `payload`.

Discovered

Recent measurements

Probe history

View status
Latest stored probes. Raw probe rows are kept for 14 days.
CheckedResultResponseTools
Connected1356 ms45