Claude Code skills that turn chia-explorer from a read-only blockchain MCP into finished workflows: deposit alerts, price triggers, offer safety checks, NFT provenance, invoice watching.
chia-explorer answers questions about the Chia blockchain. On its own, that's a building block. These skills are what you actually do with it: get a push notification when XCH lands at your cold wallet, send yourself a daily digest of one or more addresses, paste an offer string and find out whether it's fair, trace an NFT all the way back to its mint.
Skills are read-only and schedulable. No keys, no signing, no broadcasting. If you want to act on what a skill finds, you do it in your own wallet.
- You already have a wallet. You don't need another one. You need eyes on the chain.
- "Did my payment land?" is a question that deserves a push notification, not a tab you keep refreshing.
- Pasting an offer string and getting back a verdict beats five minutes of clicking around Dexie.
- NFT provenance should take one prompt, not an afternoon with SpaceScan.
# 1. Install chia-explorer (the MCP these skills lean on)
claude mcp add chia-explorer -- npx chia-explorer
# 2. Install the skills
npx chia-skills install
# 3. Restart Claude Code, then try oneWatch xch1yxqsmyuyjdlgxw4sqjg4vqlqv5ms2qzex00586nu643jqemmarwslh08yl
and tell me whenever it receives anything.
That's it. If you have a notification MCP wired up (Discord, Slack, Pushover, ntfy, Gmail, generic webhook), alerts go there. If you don't, they land in ~/.chia-skills/alerts/ and surface inline.
npx chia-skills installCopies every bundled skill to ~/.claude/skills/. Restart Claude Code to pick them up.
Other commands:
npx chia-skills list # see bundled and installed skills
npx chia-skills install watch-address # install one skill
npx chia-skills uninstall watch-address # remove a skill
npx chia-skills install --force # overwrite existingRequires Node.js >=20.
- chia-explorer. Install with
claude mcp add chia-explorer -- npx chia-explorer(see chia-explorer README for other clients). Mandatory. - A notification MCP. Anything that can deliver an alert: gmail, ntfy, pushover, slack, discord, telegram, generic webhook. Skills pick whatever's installed. If you have none, alerts get written to
~/.chia-skills/alerts/and surfaced inline. - A scheduler. To make watches actually periodic, wire them to the
scheduleskill (recommended), the/loopskill, or a system cron. Skills are one-shot and idempotent; the schedule lives outside them.
Each skill lists what it needs at the top and falls back gracefully if a capability is missing.
| Skill | What it does |
|---|---|
watch-address |
Notify on new deposits or withdrawals at an address. XCH, CAT, or NFT. Threshold filter. State-aware: only reports activity since the last run. |
watch-tx-confirmation |
Notify when a specific tx_id moves from mempool to confirmed. Stripe-webhook feel for self-custody. |
watch-xch-price |
Notify when XCH crosses thresholds in USD, EUR, GBP, BTC, or any CoinGecko-supported currency. Above / below / cross modes. |
watch-fee-market |
Notify when recommended fees for a target inclusion window drop below a threshold. Catch cheap windows to broadcast. |
watch-prefarm-spend |
Notify on new outflows from the 21M XCH strategic reserve, with destinations labelled. |
address-daily-digest |
Email or push a daily summary of one or more addresses: inflows, outflows, ending balance, USD values. |
offer-safety-check |
Decode an offer1... string, classify both sides, fetch market prices, flag undervalued sides or unknown CATs before you take it. |
coin-lineage |
Walk a coin back or forward N hops. Classify each (XCH / CAT / NFT / DID). Useful for provenance and forensics. |
invoice-watch |
Generate an invoice for X XCH at your address, watch for the matching deposit, emit a paid receipt when it lands. |
nft-provenance |
Given an NFT launcher_id, trace the full chain of custody from mint through every transfer to current owner. |
[chia-skills · watch-address]
xch1yxq...08yl received 1.250000 XCH (~$62.50 USD)
tx: 0x7c1f...a3e2 • height: 5,184,219 • confirmed
[chia-skills · offer-safety-check]
VERDICT: ⚠️ asymmetric
you give: 1 NFT (launcher 0xabc...) est. floor 0.4 XCH
you receive: 0.18 XCH (~$9)
note: receive side is ~55% below floor. unknown taker.
The exact format depends on the channel. Plain text for ntfy and Pushover, rich blocks for Slack and Discord, HTML for email.
Every skill leans on chia-explorer's read-only tools. No skill ever asks for a private key, never signs, never broadcasts. If you ever see a skill suggesting a wallet action, file a bug.
Watch skills persist state under ~/.chia-skills/state/<skill>__<key>.json so they can be safely scheduled and only report new events since last run. Alerts that can't be delivered to any configured channel land in ~/.chia-skills/alerts/ instead.
Skills accept named arguments and finish with a structured output block (STATUS, ARTIFACT, EVENTS, REASON). That means another skill, an agent, or a script can call one of these skills with inputs already in hand and read the result programmatically, without forcing a human Q&A loop. The same skill still works conversationally when a user just types "watch my cold wallet".
The conventions that make this work (input resolution order, MCP-agnostic body style, state file layout, output contract) are documented in SKILLS.md.
Watch xch1yxqsmyuyjdlgxw4sqjg4vqlqv5ms2qzex00586nu643jqemmarwslh08yl and tell me on Discord whenever it receives anything.
I just sent tx 0xdeadbeef..., ping me when it confirms.
Alert me when XCH crosses $50.
Send me a daily digest of these three addresses at 9am.
Is this offer safe to take? offer1qqr83wcuu2rykcmqvpsxgfgqmqys...
Trace NFT launcher 0xabc... who minted it, who's held it, who has it now?
Generate an invoice for 2.5 XCH payable to xch1... and tell me when it lands.
"Skill not found" after install. Restart Claude Code. Skills are loaded at startup.
Alerts not arriving. Check ~/.chia-skills/alerts/. If alerts are landing there, no notification MCP picked them up. Install one (e.g. claude mcp add ntfy -- npx ntfy-mcp) or pass channel=<name> to the skill explicitly.
Watch only fires once and stops. That's by design. Skills are one-shot. Wire them to the schedule skill, /loop, or a system cron to make them periodic.
Wrong network. chia-explorer defaults to mainnet. If you're on testnet, configure that on the chia-explorer side; skills follow whatever network it's pointed at.
Read SKILLS.md. It's the source of truth for how skills in this repo are structured and why. Use watch-address as the reference shape.
PRs welcome. Bar for merging: you've run the skill on a real address / tx / offer / NFT, not a simulated one.
MIT