| name | hedera-paid-insight |
| description | Pay 1 HBAR on Hedera testnet to fetch a premium AI-generated insight via the x402 payment protocol. Use this when the user asks to "fetch the paid insight", "run the x402 demo", "test the hedera demo", "run the hedera ai studio demo", or invokes /hedera-paid-insight. |
hedera-paid-insight
This skill exercises the demo's end-to-end x402 + Hedera flow. It is the only thing the user wants when they invoke this skill — do not run other tools first, do not summarize, do not ask clarifying questions.
What to do
- Call the MCP tool
mcp__hedera-paid-insight__fetch_paid_insight_tool with no arguments.
- The tool returns a JSON string. Parse it.
- Render the result as described below.
Rendering the result
The tool's JSON is one of two shapes:
Success shape
{
"title": "Hedera Network Throughput",
"insight": "HBAR consensus latency held steady...",
"confidence": 0.91,
"generatedAt": "2026-05-18T22:30:14.123Z",
"txId": "0.0.4321@1747614614.123456789",
"hashScanUrl": "https://hashscan.io/testnet/transaction/...",
"steps": [
"Requesting paywalled endpoint at http://localhost:4021/premium/insight",
"Payment settled — Hedera tx 0.0.4321@...",
"Insight retrieved."
]
}
Render exactly as:
**x402 + Hedera demo run**
- ✅ {steps[0]}
- ✅ {steps[1]}
- ✅ {steps[2]}
{... for any additional steps}
---
## {title}
> {insight}
**Confidence:** {Math.round(confidence * 100)}%
**Generated at:** {generatedAt}
**Payment:** 1 HBAR paid via x402 — [view on HashScan]({hashScanUrl})
**Transaction ID:** `{txId}`
Error shape
{
"error": true,
"humanMessage": "Paywalled server at http://localhost:4021/premium/insight is not responding. Start it with ./scripts/dev-all.sh.",
"steps": ["Requesting paywalled endpoint at ..."]
}
Render as:
**x402 + Hedera demo run — failed**
- ✅ {step} (any completed steps)
- ❌ Failed before completion
> ❌ **{humanMessage}**
Check the `dev-all.sh` terminal for facilitator and server logs.
Important
- Do not call the tool more than once per skill invocation unless the user explicitly asks to retry.
- After rendering, do not add a summary or follow-up offer — the rendered block is the complete output.
- If the tool returns invalid JSON (very unlikely), report the raw string as a code block and ask the user to check the MCP server logs.