Install
openclaw skills install openclaw-paragraphOpenClaw skill enabling automated creation, retrieval, subscriber management, and tokenized engagement with Web3-native blog posts on Paragraph.com.
openclaw skills install openclaw-paragraphParagraph.com reimagines blogging for the decentralized era. Posts are stored onchain, can be minted as NFTs (coins), and communities can own and govern content. This skill gives OpenClaw agents full programmatic access to Paragraph's API, enabling automated publishing workflows, subscriber management, and token-gated content strategies.
This skill is production-ready for creators, DAOs, and Web3 projects that want to treat blogging as a protocol, not a siloed service.
Create posts with rich Markdown, categories, and optional newsletter dispatch. Paragraph handles onchain anchoring automatically. You can:
waitForProcessing)Note: Updating posts isn't supported by Paragraph's API yet. To "edit", you delete and recreate (preserving slug if possible).
Every Paragraph account has one or more publications (think: multi-author blogs under one roof). This skill can:
myblog.paragraph.eth)Build and nurture your audience:
CSV format for import:
email,wallet,tags
alice@example.com,,tag1,tag2
bob@example.com,0x123...,tag3
Paragraph's killer feature: every post can have a coin (social token). This skill exposes:
Coins enable creators to launch micro-economies around their content. Readers can buy/sell the coin, aligning incentives around the writer's success.
para_ or similar)Your publication slug is the URL-friendly name used in your blog's address:
myblog.paragraph.eth, the slug is myblogPARAGRAPH_API_KEY and call paragraph_getMyPublication to auto-discoverAdd to your OpenClaw environment (config file or export):
export PARAGRAPH_API_KEY="pk_live_xxxxxxxx"
export PARAGRAPH_PUBLICATION_SLUG="myblog"
Restart or reload OpenClaw to pick up the variables.
# In an OpenClaw agent session
tools.paragraph_testConnection({}) # should return success: true
tools.paragraph_getMyPublication({}) # should return your publication data
If you run a Web3 research DAO, use OpenClaw to:
paragraph_createPostparagraph_listCoinHolderspremium subscriberssendNewsletter: true to push to that segment onlyBack up all your blog content to your own knowledge base using OpenClaw's knowledge-management skill alongside this one — parse posts with paragraph_listPosts, extract content, and store locally in a structured format.
Paragraph API has rate limits per API key. If you hit limits:
When waitForProcessing: false, the post returns immediately but the slug may be undefined for a few seconds/minutes while the transaction confirms. Strategies:
paragraph_getPostBySlug with the returned id until slug appearswaitForProcessing: true for simpler flow (slower)email,wallet,tags (tags are comma-separated within the cell)Common causes:
Use paragraph_testConnection to validate.
fetch (Node.js 19+ / OpenClaw's Node 24)| Symptom | Likely Cause | Fix |
|---|---|---|
Not logged in from any tool | PARAGRAPH_API_KEY missing/invalid | Set correct key, restart agent |
Publication not found | Slug typo or wrong publication | Verify slug via dashboard or getMyPublication |
Slug undefined after create | waitForProcessing: false and fast polling | Wait a few seconds and retry, or use waitForProcessing: true |
Rate limit exceeded | Too many requests in short time | Add delays, batch calls, or upgrade Paragraph plan |
CSV import: invalid format | Not CSV, wrong headers, binary mode | Ensure UTF-8 text with exact header row |
ISC © Phil (OpenClaw)
This skill lives at: https://github.com/ClaireAICodes/openclaw-skill-paragraph
Issues and PRs welcome. Please test against a Paragraph sandbox account before submitting.