← Back to Skills Marketplace
codecustard

Kaspa Dev

by codecustard · GitHub ↗ · v0.1.0
cross-platform ⚠ suspicious
1330
Downloads
4
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install kaspa-dev
Description
Comprehensive Kaspa blockchain development toolkit for building transactions, integrating wallets, creating dApps, block explorers, and interacting with the Kaspa network. Use when working with Kaspa blockchain development including: (1) Building and broadcasting transactions, (2) Generating addresses and managing wallets, (3) Creating dApps or block explorers, (4) Integrating Kaspa into existing applications (RainbowKit, OisyWallet, etc.), (5) Working with KRC20 tokens, (6) Setting up Kaspa nodes, (7) Using Kaspa SDKs (Rust, Go, JavaScript/TypeScript, Python, WASM). Supports Rust, Go, JavaScript/TypeScript, Python, and Motoko (Internet Computer) development.
README (SKILL.md)

Kaspa Development

Overview

This skill provides comprehensive support for Kaspa blockchain development across multiple programming languages and use cases. Whether you're building a simple wallet integration, a full dApp, a block explorer, or working with KRC20 tokens, this skill provides the patterns, SDK references, and boilerplate code you need.

Quick Start

Choose Your SDK

Kaspa provides official SDKs for multiple languages:

  • JavaScript/TypeScript: kaspa-wasm - WebAssembly-based SDK for browser and Node.js
  • Rust: kaspa-rpc-client and kaspa-wallet-core - Native Rust SDK
  • Go: github.com/kaspanet/kaspad - Official Go implementation
  • Python: Community SDKs available via PyPI
  • Motoko: kaspa package on Mops for Internet Computer integration

Common Tasks

Generate a Kaspa Address

JavaScript/TypeScript:

import { PrivateKey, NetworkType } from 'kaspa-wasm';

const privateKey = PrivateKey.random(NetworkType.Mainnet);
const publicKey = privateKey.toPublicKey();
const address = publicKey.toAddress(NetworkType.Mainnet);

console.log('Address:', address.toString());
console.log('Private Key:', privateKey.toString());

Rust:

use kaspa_wallet_core::keys::{PrivateKey, PublicKey};
use kaspa_consensus_core::network::NetworkType;

let private_key = PrivateKey::random(NetworkType::Mainnet);
let public_key = private_key.to_public_key();
let address = public_key.to_address(NetworkType::Mainnet);

println!("Address: {}", address.to_string());

Go:

import (
    "github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
    "github.com/kaspanet/kaspad/util"
)

privateKey, _ := util.GeneratePrivateKey()
publicKey := privateKey.PublicKey()
address, _ := util.NewAddressPublicKey(publicKey.Serialize(), util.Bech32PrefixKaspaMain)

fmt.Printf("Address: %s\
", address.String())

Build and Broadcast a Transaction

JavaScript/TypeScript:

import { Transaction, RpcClient, NetworkType } from 'kaspa-wasm';

const rpc = new RpcClient({
  url: 'wss://api.kaspa.org',
  network: NetworkType.Mainnet
});

await rpc.connect();

// Get UTXOs for the sender address
const utxos = await rpc.getUtxosByAddresses([senderAddress]);

// Build transaction
const tx = new Transaction({
  version: 0,
  inputs: utxos.map(utxo => ({
    previousOutpoint: utxo.outpoint,
    signatureScript: '', // Will be filled after signing
    sequence: 0,
    sigOpCount: 1
  })),
  outputs: [{
    amount: amount,
    scriptPublicKey: recipientScriptPublicKey
  }],
  lockTime: 0,
  subnetworkId: '00000000000000000000000000000000'
});

// Sign transaction
const signedTx = await signTransaction(tx, privateKey);

// Broadcast
const txId = await rpc.submitTransaction(signedTx);
console.log('Transaction ID:', txId);

SDK References

For detailed SDK documentation and examples:

Integration Guides

Wallet Integration

For integrating Kaspa into wallets like RainbowKit, OisyWallet, or custom wallets:

See references/wallet-integration.md for:

  • Wallet connection patterns
  • Transaction signing flows
  • Address management
  • Network switching

Node Operations

For setting up and operating Kaspa nodes:

See references/node-operations.md for:

  • Docker deployment
  • Binary installation
  • Building from source
  • Configuration options
  • RPC node setup
  • Monitoring and maintenance

dApp Development

When building a Kaspa dApp:

  1. Setup: Use the WASM SDK for browser compatibility
  2. Wallet Connection: Implement wallet adapter pattern
  3. State Management: Track balances, transactions, and UTXOs
  4. Transaction Building: Use UTXO selection algorithms
  5. Error Handling: Handle network failures and reorgs

Block Explorer

To build a block explorer:

  1. Data Source: Use Kaspa Developer Platform API or run your own node
  2. Indexing: Index blocks, transactions, and addresses
  3. API Layer: Build REST/GraphQL API for frontend
  4. Frontend: Display blocks, transactions, addresses, and network stats

See API reference for available endpoints.

KRC20 Tokens

Kaspa supports KRC20 tokens (similar to ERC20 on Ethereum). For token development:

See references/krc20-tokens.md for:

  • Token contract structure
  • Transfer and approval mechanisms
  • Token metadata
  • Integration patterns

Network Types

Kaspa has three network types:

  • Mainnet: Production network (prefix: kaspa:)
  • Testnet: Testing network (prefix: kaspatest:)
  • Devnet: Development network (prefix: kaspadev:)

Always use the correct network type for your use case.

Address Formats

Kaspa uses Bech32 encoding for addresses:

  • Mainnet: kaspa:qqkqkzjvr7zwxxmjxjkmxx (62 characters total)
  • Testnet: kaspatest:qqkqkzjvr7zwxxmjxjkmxx
  • Devnet: kaspadev:qqkqkzjvr7zwxxmjxjkmxx

Scripts and Utilities

The scripts/ directory contains utility scripts:

  • generate-address.py: Generate Kaspa addresses
  • build-transaction.py: Build and sign transactions
  • monitor-address.py: Monitor address for incoming transactions

Resources

References

  • api-reference.md: Kaspa Developer Platform API documentation
  • kaspa-wasm-sdk.md: JavaScript/TypeScript WASM SDK guide
  • kaspa-rust-sdk.md: Rust SDK documentation
  • kaspa-go-sdk.md: Go SDK documentation
  • kaspa-python-sdk.md: Python SDK documentation
  • krc20-tokens.md: KRC20 token standard documentation
  • wallet-integration.md: Wallet integration patterns and examples
  • node-operations.md: Complete guide for running Kaspa nodes

Assets

The assets/ directory contains boilerplate templates:

  • dapp-template/: React/Next.js dApp starter
  • explorer-template/: Block explorer starter
  • wallet-adapter/: Wallet adapter implementation

Best Practices

  1. Always validate addresses before using them
  2. Handle UTXO selection carefully to avoid dust outputs
  3. Implement proper error handling for network failures
  4. Test on testnet before mainnet deployment
  5. Monitor for chain reorganizations when confirming transactions
  6. Use fee estimation for timely transaction confirmation
  7. Secure private keys - never expose them in client-side code

Getting Help

Usage Guidance
This skill appears to be a legitimate Kaspa developer reference bundle, but review a few things before using it: (1) The docs and sample clients expect a Kaspa Developer Platform API key (Authorization: Bearer), yet the skill metadata doesn't declare any required env vars — expect that you will need to provide an API key when using the examples. (2) Several examples and included scripts print or output private keys; do not run these against real funds or with real private keys unless you remove debug prints and ensure secrets are stored securely (use hardware wallets or ephemeral dev keys). (3) Inspect the two included Python scripts (build-transaction.py, generate-address.py) before executing to confirm they don't transmit keys or other sensitive data to external endpoints. (4) Because source/homepage are unknown, prefer obtaining SDKs and examples from official Kaspa repositories (or kaspa.org) and test everything on testnet/devnet first. If you intend to use real API keys or private keys, only proceed after verifying the scripts and removing any logging of secrets.
Capability Analysis
Type: OpenClaw Skill Name: kaspa-dev Version: 0.1.0 The OpenClaw AgentSkills skill bundle for Kaspa development is classified as benign. The `SKILL.md` instructions are purely informational and do not contain any prompt injection attempts. The Python scripts (`scripts/build-transaction.py`, `scripts/generate-address.py`) perform sensitive operations like generating private keys and building/submitting transactions, which are core to blockchain development. Notably, `build-transaction.py` explicitly warns that its signing functionality is a placeholder and advises using official SDKs for production, demonstrating responsible design. No evidence of data exfiltration, malicious execution, persistence, or obfuscation was found across any files.
Capability Assessment
Purpose & Capability
The name, description, and the included reference docs and example code all align with a Kaspa development toolkit (address generation, transaction building, SDK usage for JS/Rust/Go/Python/WASM). The included scripts and references match the declared purpose.
Instruction Scope
SKILL.md and the references contain concrete code examples and step-by-step guidance for generating addresses, building/signing transactions, and interacting with Kaspa RPC/API. However several examples show printing or returning raw private keys (e.g., console.log('Private Key:', ...) and the Python sample prints the private key hex), which encourages insecure handling of secrets. The instructions otherwise do not direct the agent to read unrelated system files or hidden endpoints.
Install Mechanism
There is no install spec (instruction-only), which is lower risk because nothing is automatically downloaded or written to disk by an installer. Two small Python scripts are included; they will only run if executed by the user/agent.
Credentials
The documentation and Python/JS examples reference a Kaspa Developer Platform API key and show a KaspaClient that accepts an api_key or Authorization: Bearer header, but the skill metadata declares no required environment variables or primary credential. That mismatch (documentation implying a secret is needed while metadata doesn't declare it) is an incoherence — the skill will likely expect an API key at runtime even though none is advertised. Also examples showing printing/storing private keys raise data-exfiltration risk if users run samples against real keys.
Persistence & Privilege
The skill does not request always:true, has no install step, and does not request access to other skills' configs or system-wide settings. Agent autonomous invocation is enabled by default (normal) but does not combine with other privilege escalation signs here.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install kaspa-dev
  3. After installation, invoke the skill by name or use /kaspa-dev
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Kaspa-dev 0.1.0 – Initial Release - Introduces a comprehensive development toolkit for the Kaspa blockchain. - Supports multiple languages: Rust, Go, JavaScript/TypeScript, Python, and Motoko. - Provides guides and boilerplate for transactions, wallet integration, dApp and block explorer creation, node operation, and KRC20 token work. - Includes best practices, integration patterns, code examples, and SDK references for rapid blockchain development. - Resources and templates are provided for quick project setup and standard tasks.
Metadata
Slug kaspa-dev
Version 0.1.0
License
All-time Installs 2
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Kaspa Dev?

Comprehensive Kaspa blockchain development toolkit for building transactions, integrating wallets, creating dApps, block explorers, and interacting with the Kaspa network. Use when working with Kaspa blockchain development including: (1) Building and broadcasting transactions, (2) Generating addresses and managing wallets, (3) Creating dApps or block explorers, (4) Integrating Kaspa into existing applications (RainbowKit, OisyWallet, etc.), (5) Working with KRC20 tokens, (6) Setting up Kaspa nodes, (7) Using Kaspa SDKs (Rust, Go, JavaScript/TypeScript, Python, WASM). Supports Rust, Go, JavaScript/TypeScript, Python, and Motoko (Internet Computer) development. It is an AI Agent Skill for Claude Code / OpenClaw, with 1330 downloads so far.

How do I install Kaspa Dev?

Run "/install kaspa-dev" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Kaspa Dev free?

Yes, Kaspa Dev is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Kaspa Dev support?

Kaspa Dev is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Kaspa Dev?

It is built and maintained by codecustard (@codecustard); the current version is v0.1.0.

💬 Comments