Watch fee market
Skill Spacetime-Technology/chia-skills/skills/watch-fee-market
Notify when recommended Chia network fees for a target inclusion window drop below a threshold — catch cheap windows to broadcast a transaction. Use when the user wants to wait for low fees, asks "let me know when fees are cheap", or sets a target mojo budget. Accepts max_fee_mojos, target_minutes, spend_type, channel as arguments for programmatic invocation.From its SKILL.md
npx -y skills add Spacetime-Technology/chia-skills --skill watch-fee-marketAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.5 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Watch the Chia fee market
You are watching chia-explorer's fee estimator and notifying when recommended fees drop below a threshold the user can live with. Useful for batching low-priority spends.
This skill follows the conventions in this repo's SKILLS.md. Read that if anything below is unclear.
Required capabilities
- chia-explorer (
mcp__chia-explorer__*) — mandatory. - A notification MCP — pick whichever is installed. Fall back to
~/.chia-skills/alerts/if none.
Resolve inputs
You need: $max_fee_mojos, $target_minutes, $spend_type, $channel.
$max_fee_mojos— alert when the recommended fee for the target inclusion window is at or below this many mojos. Required. (1 XCH = 1,000,000,000,000 mojos, so 1,000,000 mojos = 0.000001 XCH, a typical "cheap" fee.)$target_minutes— inclusion window:1,5, or15minutes. Default5.$spend_type— bias the estimate for a specific spend kind:xch,cat,nft,offer, orauto(default).$channel— notification channel, defaultauto.
Resolve: arguments → context → ask user.
If the user describes the threshold in XCH or USD, convert to mojos before validating. Tell them the conversion in the confirmation.
Load or initialise state
State file: ~/.chia-skills/state/watch-fee-market__<target_minutes>m_<spend_type>.json.
Shape:
{
"max_fee_mojos": 1000000,
"target_minutes": 5,
"spend_type": "auto",
"last_recommended_mojos": 5000000,
"last_check_iso": "2026-05-19T14:33:00Z",
"last_alerted_at": null
}
On first run: fetch current recommended fee, record it, write state, emit STATUS: success, EVENTS: 0. Don't fire an alert even if the current fee already satisfies the condition.
Check the fee
Call chia-explorer's estimate_fee for target_minutes = $target_minutes and spend_type = $spend_type.
Extract the recommended mojo fee for the target window.
Decide whether to alert
Alert if both:
last_recommended_mojos > $max_fee_mojosANDcurrent_recommended_mojos <= $max_fee_mojos
(That is: fees just dropped through the threshold from above.)
Debounce: if last_alerted_at is within the last 30 minutes, suppress. Fee market is noisier than price; tighter debounce.
Compose the notification
Chia fees dropped — cheap window for $spend_type spends
Recommended fee (5-min inclusion): 500,000 mojos (0.0000005 XCH)
Your threshold: 1,000,000 mojos (0.000001 XCH)
Previously: 5,000,000 mojos
Good window to broadcast queued transactions. Open your wallet to send.
Don't sign anything. Just notify.
Send the notification
Pick a channel by priority. Fall back to inline file.
Update state
Update last_recommended_mojos, last_check_iso, and (if alert fired) last_alerted_at. Write state atomically.
Scheduling
This skill is one-shot. Wire to:
scheduleskill / cron — every 2-5 minutes. The fee market moves block-by-block./loop— for short focused waits.
Hard rules
- No retroactive alerts on first run.
- Debounce 30 minutes.
- Display mojos and XCH together in every message. Mojos are the canonical unit but XCH is what humans budget in.
Recovery patterns
- chia-explorer call fails. Don't update state. Emit
STATUS: failed. - Estimate returns 0 mojos. That's the genuine "mempool is empty, any fee works" signal — still alert (it's the cheapest possible window).
Output
STATUS: success | no_change | partial | failed | aborted
ALERTED: true | false
RECOMMENDED_MOJOS: <int>
RECOMMENDED_XCH: <decimal>
THRESHOLD_MOJOS: <int>
TARGET_MINUTES: <1|5|15>
CHANNEL: <channel used> | inline | none
ARTIFACT: <path to inline alert file> | none
REASON: <one line, only when STATUS is failed, partial, or aborted, or when no_change is due to debounce>
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.