Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Send and receive encrypted messages and manage handshakes on the Kaspa blockchain using Kasia protocol and mcporter tools.
Send and receive encrypted messages and manage handshakes on the Kaspa blockchain using Kasia protocol and mcporter tools.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Send and receive encrypted messages on the Kaspa blockchain via the Kasia protocol. Uses mcporter to call kasia-mcp tools.
mcporter installed (npm install -g mcporter) kasia-mcp built and configured in config/mcporter.json kaspa-mcp configured (same wallet) โ needed to broadcast transactions Wallet mnemonic or private key set in mcporter config Run scripts/setup.sh to configure automatically: scripts/setup.sh /path/to/kasia-mcp --mnemonic "your twelve word phrase" --network mainnet Verify: mcporter list kasia (should show 8 tools)
Call via mcporter call kasia.<tool> from the workspace directory.
ToolPurposeExamplekasia_get_conversationsList all conversations + statusmcporter call kasia.kasia_get_conversationskasia_get_requestsPending incoming handshakesmcporter call kasia.kasia_get_requestskasia_get_messagesRead decrypted messagesmcporter call kasia.kasia_get_messages address="kaspa:q..."kasia_read_self_stashRead encrypted private datamcporter call kasia.kasia_read_self_stash scope="notes"
Write tools return a payload and instructions. Broadcast with kaspa.send_kaspa: # Step 1: Generate payload mcporter call kasia.kasia_send_handshake address="kaspa:q..." # Returns: { action, to, amount, payload, instructions } # Step 2: Broadcast (use the returned values) mcporter call 'kaspa.send_kaspa(to: "kaspa:q...", amount: "0.2", payload: "<hex>")' ToolPurposekasia_send_handshakeStart a conversation with someonekasia_accept_handshakeAccept an incoming handshake requestkasia_send_messageSend an encrypted message in an active conversationkasia_write_self_stashStore encrypted private data on-chain
Check requests: kasia_get_requests โ see pending incoming handshakes Start or accept: kasia_send_handshake or kasia_accept_handshake โ broadcast with kaspa.send_kaspa Chat: kasia_send_message โ broadcast. Read replies with kasia_get_messages Pay: Use kaspa.send_kaspa directly for payments (no Kasia-specific tool needed)
pending_outgoing โ You sent a handshake, waiting for acceptance pending_incoming โ Someone sent you a handshake, needs acceptance active โ Both sides completed handshake, can exchange messages
For real-time message relay, set up a background poller: Create a polling script that calls kasia_get_messages every N seconds Track seen transaction IDs to avoid duplicates Write new messages to a file (e.g., memory/kasia-new-messages.jsonl) Use a cron job or heartbeat check to relay new messages to the user See references/protocol.md for the full protocol specification and indexer API details.
Mainnet only โ kasia-mcp enforces mainnet (messaging isn't available on testnet) Two-step writes โ Write tools generate payloads; you must broadcast with kaspa.send_kaspa Same wallet โ kasia-mcp and kaspa-mcp must use the same mnemonic/key Costs KAS โ Every message is a transaction (~0.2 KAS minimum per tx)
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.