Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/invalidcredentials/umbrella-blog-cardano-blogging-tool/archive/refs/heads/main.zipSign and authenticate your web content with cryptographic proof.
A WordPress blogging plugin that provides what every writer needs: a simple way to prove "these words are mine." Using native Cardano blockchain integration, you can one-click sign your blog posts with immutable, cryptographic proof of authorship - no wallet popups, no complicated ceremonies, just write and sign.
The Problem This Solves
Ever write something online and wish you had a permanent, tamper-proof receipt proving you wrote it at that exact moment?
Traditional publishing has no built-in proof of authorship. Anyone can copy your words, claim them as theirs, or dispute when you actually wrote something. Digital signatures exist, but they're complicated - requiring browser extensions, wallet connections, and technical knowledge most writers don't have.
Umbrella Blog changes that.
What Makes This Special
This isn't just another WordPress blog plugin. Umbrella Blog combines:
- True Native Cardano Integration - Server-side signing using PHP, not browser extensions
- One-Click Signing - No wallet popups, no complex words, just click "Sign Post"
- Server-Side Wallet - Fund once with a few dollars, sign hundreds of posts
- ADA Handle Integration - Your $handle becomes your author identity
- Distraction-Free Writing - Markdown + Rich Text editors, no Gutenberg bloat
- Cyberpunk UI - Beautiful dark glassmorphic theme with neon accents
- Complete SEO Suite - Meta tags, Open Graph, Twitter Cards, JSON-LD
- Lightning Fast - Custom database tables, no WordPress CPT overhead
Key Features
Writing & Editing
- Dual Editor Modes - Toggle between Markdown (with live preview) and Rich Text
- Draft/Publish Workflow - Save drafts or publish immediately
- Word Count & Reading Time - Auto-calculated as you write
- Categories & Tags - Full taxonomy system with auto-complete
- Image Upload - Drag-and-drop image management for posts
- Clean Interface - Focus on writing, not fighting with the editor
Cardano Blockchain Integration
How it works:
Unlike traditional EVM chains, Cardano uses a UTXO model - just like shopping at a grocery store with cash. You send a transaction, receive change, and get a receipt. Transactions on Cardano are cheap (around 0.2 ADA) and can contain rich metadata.
The plugin creates a server-side Cardano wallet that you fund with a few dollars. When you click "Sign Post with Cardano" - BAM, done. The server builds the transaction, signs it with your encrypted wallet, and submits it to the blockchain. No browser extension required.
Features:
- Cryptographic Signing - Sign published posts on Cardano blockchain
- CIP-20 Metadata - Store post metadata permanently on-chain
- ADA Handle Support - Use your $handle as author identity
- Wallet Management - Generate or import HD wallets (BIP39 24-word mnemonic)
- Encrypted Storage - Wallet keys encrypted with AES-256
- Mainnet & Preprod - Supports both networks with network-specific API keys
- Transaction Verification - Direct links to CardanoScan for signature verification
- Immutable Proof - Cryptographic proof of authorship and publication date
Built on:
- PHP-Cardano - Native PHP wallet generation and signing
- Anvil API - Transaction building and submission
- Blockfrost - Blockchain queries and ADA Handle lookup
SEO & Metadata
- Complete Meta Tags - Title, description, keywords, robots
- Open Graph Protocol - Beautiful previews on Facebook, LinkedIn, Discord
- Twitter Cards - Optimized Twitter/X sharing
- JSON-LD Structured Data - Google rich snippets for better rankings
- XML Sitemap - Auto-generated at
/blog-sitemap.xml - Canonical URLs - Prevent duplicate content issues
- Focus Keywords - Track primary SEO keywords per post
- Character Counters - Live feedback for optimal meta tag lengths
Design & Theming
- Cyberpunk Theme - Dark glassmorphic design with neon cyan/magenta accents
- Color Presets - 6 built-in themes (Cyberpunk, Matrix, Sunset, Ocean, Purple, Fire)
- Custom Colors - Live preview with primary/secondary gradient customization
- Responsive Design - Beautiful on desktop, tablet, and mobile
- Clean URLs -
/blog/and/blog/your-post-title - Fast Loading - Optimized CSS with backdrop-filter blur effects
Installation
Requirements
- WordPress 5.0+
- PHP 7.4+
- MySQL 5.7+
- For Cardano features:
- Blockfrost API key (mainnet/preprod)
- Ada Anvil API key (mainnet/preprod)
Step 1: Upload Plugin
- Download the plugin files
- Upload to
/wp-content/plugins/umbrella-blog/ - Or use WordPress Admin → Plugins → Add New → Upload
Step 2: Activate
- Go to WordPress Admin → Plugins
- Find "Umbrella Blog"
- Click Activate
Step 3: Database Setup
After activation, the plugin automatically creates database tables. If you experience issues:
- Go to Umbrella Blog → Database Setup
- Click "Run Full Setup"
Step 4: Configure Settings
- Go to Umbrella Blog → Settings
- Set your default network (Mainnet or Preprod)
- Add your API keys:
- Blockfrost Preprod/Mainnet keys
- Ada Anvil Preprod/Mainnet keys
- Optionally customize color theme
Step 5: Flush Permalinks
- Go to Settings → Permalinks
- Click Save Changes
This registers the /blog/ URLs.
Cardano Wallet Setup
Generate New Wallet
- Go to Umbrella Blog → Wallet Manager
- Click "Generate New Wallet" tab
- Enter wallet name
- Click "Generate Wallet"
- IMPORTANT: Copy and securely store your 24-word recovery phrase
- The wallet is encrypted and stored in your database
Import Existing Wallet
- Go to Umbrella Blog → Wallet Manager
- Click "Import from Mnemonic" tab
- Enter wallet name
- Paste your 24-word recovery phrase
- Click "Import Wallet"
Wallet Security
- Private keys are encrypted with AES-256
- Mnemonics are only displayed once after generation
- Never share your recovery phrase
- Wallets support both Mainnet and Preprod networks
Multiple Wallets
- Create separate wallets for Mainnet and Preprod
- Archive unused wallets
- Only one wallet can be active per network
Writing Your First Post
Create Post
- Go to Umbrella Blog → Add New Post
- Enter Title and Excerpt
- Choose editor mode:
- Markdown - Clean syntax, live preview, great for code
- Rich Text - Familiar HTML formatting
- Write your content
Add Metadata (Sidebar)
- Categories & Tags - Organize your content
- SEO Basics - Meta title, description, slug, focus keyword
- Social Sharing - Custom OG/Twitter images (optional)
- Advanced - Canonical URL, robots directive
Save or Publish
- Save as Draft - Store privately, continue later
- Publish - Make live immediately
Signing Posts on Cardano
Prerequisites
- Active wallet for your selected network
- Sufficient ADA for transaction fees (~0.2 ADA)
- (Optional) ADA Handle in wallet for author identity
Sign a Post
- Publish your post first
- Go to Umbrella Blog → Blog Posts
- Find your published post
- Click "Sign on Cardano"
- Wait for transaction to be built and submitted
- Transaction hash will appear when complete
What Gets Signed
The blockchain transaction includes CIP-20 metadata (label 674):
{
"674": {
"msg": {
"type": "blog_post_signature",
"version": "1.0",
"post_id": "123",
"title": "Your Post Title",
"slug": "your-post-slug",
"url": "https://yoursite.com/blog/your-post-slug",
"published_at": "2025-11-04 12:00:00",
"author_handle": "$yourhandle",
"word_count": 1234,
"excerpt": "Your post excerpt...",
"signed_with": "Umbrella Blog v1.0"
}
}
}
Viewing Signatures
Published posts with signatures display:
- Author ADA Handle - With profile image (if available)
- Signed Date - When the signature was created
- Transaction Hash - Link to CardanoScan for verification
- On-Chain Metadata - Expandable view of blockchain data
- Immutability Notice - Explanation of blockchain permanence
🎨 Customization
Color Themes
Built-in Presets:
- Cyberpunk (Default) - Cyan/Magenta neon
- Matrix Green - Classic terminal green
- Sunset Vibes - Warm red/yellow gradients
- Deep Ocean - Cool blue tones
- Purple Dream - Purple/violet gradients
- Fire & Ice - Orange/yellow heat
Custom Colors
- Go to Umbrella Blog → Settings
- Scroll to "Appearance"
- Choose a preset or enter custom hex colors
- See live preview of gradient
- Save changes
Network Settings
- Default Network - Choose Mainnet or Preprod
- API Keys - Different keys for each network
- Dev Mode - Use mainnet handles on preprod (for testing)
📊 Database Structure
The plugin creates 5 custom tables:
wp_umbrella_blog_posts
Main posts table with fields:
- Basic:
id,title,slug,content,excerpt,status - Editor:
editor_mode(markdown/richtext) - SEO:
meta_title,meta_description,focus_keyword,canonical_url,meta_robots - Social:
og_title,og_description,og_image,twitter_*fields - Stats:
word_count,reading_time - Cardano:
signature_tx_hash,signature_metadata,signature_wallet_address,signature_handle,signed_at - Timestamps:
created_at,updated_at
wp_umbrella_blog_wallets
Cardano wallet storage:
id,name,network,status(active/archived)payment_address,payment_keyhashmnemonic_encrypted,skey_encrypted(AES-256)created_at
wp_umbrella_blog_categories
Category definitions:
id,name,slug,description
wp_umbrella_blog_tags
Tag definitions:
id,name,slug
Relationship Tables
wp_umbrella_blog_post_categories- Many-to-many post ↔ categorywp_umbrella_blog_post_tags- Many-to-many post ↔ tag
🛠️ Technical Details
Cardano Integration
Wallet Generation:
- Uses
CardanoWalletPHPfor pure PHP HD wallet derivation - Implements BIP39 mnemonic generation (24 words)
- Derives payment keys using CIP-1852 derivation paths
- Supports both enterprise (payment-only) and base addresses
Transaction Signing:
- Uses Ed25519 pure PHP implementation for signing
- Builds transactions via Ada Anvil API
- Signs locally with encrypted wallet keys
- Submits to Cardano network via Anvil
Blockchain Queries:
- Blockfrost API for address balance, UTXOs, ADA Handles
- Ada Anvil for transaction building and submission
- Network-aware API endpoint switching
Security Features
- AES-256 Encryption for wallet private keys
- WordPress nonces for CSRF protection
- Capability checks (
manage_options) for admin actions - SQL injection prevention via
$wpdb->prepare() - XSS protection via
esc_html(),esc_url(),esc_attr() - Input sanitization for all form data
Performance Optimizations
- No WordPress CPTs - Custom tables for faster queries
- Direct database access - No post meta bloat
- Minimal dependencies - Only marked.js for Markdown preview
- CSS custom properties - Efficient theming system
- Debounced auto-save - Reduces database writes
🌐 API Integrations
Blockfrost API
Used for:
- Fetching wallet balances and UTXOs
- Retrieving ADA Handles from addresses
- Verifying transaction confirmations
Required API Keys:
- Preprod:
https://cardano-preprod.blockfrost.io/api/v0 - Mainnet:
https://cardano-mainnet.blockfrost.io/api/v0
Get your keys at: https://blockfrost.io
Ada Anvil API
Used for:
- Building Cardano transactions
- Submitting signed transactions
- CIP-20 metadata attachment
API Endpoints:
- Preprod:
https://preprod.api.ada-anvil.app/v2/services - Mainnet:
https://prod.api.ada-anvil.app/v2/services
Get your keys at: https://ada-anvil.io
📝 Markdown Cheatsheet
# Heading 1
## Heading 2
### Heading 3
**bold text**
*italic text*
~~strikethrough~~
[Link text](https://example.com)

- Bullet point
- Another point
1. Numbered list
2. Another item
`inline code`
\`\`\`javascript
// Code block with syntax highlighting
const greeting = "Hello World";
\`\`\`
> Blockquote text
---
Horizontal rule
🔧 Development
File Structure
umbrella-blog/
├── umbrella-blog.php # Main plugin file
├── admin/
│ ├── css/
│ │ └── umbrella-admin.css # Cyberpunk theme styles
│ ├── editor.php # Post editor page
│ ├── post-list.php # Posts listing page
│ ├── wallet-manager.php # Wallet management UI
│ ├── plugin-settings.php # Settings page
│ └── image-upload-section.php
├── includes/
│ ├── WalletController.php # Wallet CRUD operations
│ ├── WalletModel.php # Wallet database queries
│ ├── WalletLoader.php # Wallet decryption helper
│ ├── BlogSigner.php # Cardano signing logic
│ ├── BlockfrostHelper.php # Blockfrost API wrapper
│ ├── SEOMetaTags.php # Meta tag generation
│ └── vendor/
│ ├── CardanoWalletPHP.php # HD wallet derivation
│ ├── CardanoCLI.php # Transaction signing
│ ├── AnvilHelper.php # Anvil API wrapper
│ └── UmbrellaBlog_EncryptionHelper.php
├── templates/
│ ├── blog-list.php # Blog listing page
│ └── single-post.php # Single post view
└── README.md
Adding Features
The plugin is modular and easy to extend:
- New admin pages: Add to
admin/directory - New database tables: Add to
activate()in main plugin file - New API integrations: Create helper class in
includes/ - New editor features: Extend
admin/editor.php
🤝 Contributing
Contributions are welcome! Whether you're fixing bugs, adding features, or improving documentation.
Areas for improvement:
- Additional color themes
- More editor features (table support, footnotes, etc.)
- Enhanced blockchain features (multi-sig workflows, NFT minting)
- Performance optimizations
- Better mobile experience
- Internationalization (i18n)
Getting Started:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test thoroughly on WordPress 5.0+
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📄 License
MIT License - see LICENSE file for details.
Feel free to use, modify, and distribute this plugin.
🙏 Credits
Built with:
- Blockfrost - Cardano API
- Ada Anvil - Transaction building
- marked.js - Markdown parsing
- CardanoWalletPHP - HD wallet derivation
- Ed25519 Pure PHP Implementation
Inspired by:
- Cardano's eUTXO model
- CIP-20 (Transaction Message/Comment Metadata)
- CIP-1852 (HD Wallets for Cardano)
- Cyberpunk aesthetics and glassmorphism design trends
💬 Support & Community
For issues, questions, or feature requests:
- GitHub Issues: Report bugs or request features
- Documentation: Check the
/Documentation/folder for detailed guides - WordPress Debugging: Enable
WP_DEBUGinwp-config.phpfor detailed error logs
Get Help:
- Read
CARDANO_SIGNING_README.mdfor blockchain setup assistance - Check
HANDLE_SELECTION_UPDATE.mdfor ADA Handle features - Review WordPress error logs at
/wp-content/debug.log
🚀 Roadmap
Planned features:
- Multi-signature post approval workflows
- NFT minting for blog posts (turn posts into NFTs)
- Gated content with token/NFT verification
- RSS feed with blockchain verification hashes
- Archive posts to IPFS for permanent storage
- Reader comments via Cardano transactions
- CIP-8 message signing for portable identity
- Integration with other Cardano DApps
Want to sponsor a feature? Open an issue and let's talk!
🌟 Why This Matters
In a world of AI-generated content, deepfakes, and content theft, having cryptographic proof of authorship matters more than ever.
Every time you sign a blog post with Umbrella Blog, you're creating a permanent, tamper-proof record on the Cardano blockchain that says:
- "I wrote these words"
- "I published them at this exact time"
- "This is the original version"
This isn't just for tech people. This is for writers, journalists, researchers, artists - anyone who creates original content and wants to protect their work.
Built for writers who value authenticity and immutability.
Powered by Cardano
Additional Resources
- Cardano Official: https://cardano.org
- ADA Handles: https://adahandle.com
- Anvil API: https://ada-anvil.io
- Blockfrost API: https://blockfrost.io
- CIP-20 Specification: https://cips.cardano.org/cips/cip20/
- CIP-1852 (HD Wallets): https://cips.cardano.org/cips/cip1852/
Releases
1 release.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.