LaunchKit · 2026
Back to Skills

On-chain immutable data storage using IQ Labs tech stack (IQDB, hanLock, x402)

0
788 downloads
by @emanz1

Setup & Installation

openclaw skills install @emanz1/iqdb

Or with the ClawHub CLI, for registry-managed skill folders outside a full OpenClaw workspace:

npx clawhub install iqdb

What This Skill Does

A toolkit for building relational databases directly on Solana. IQDB stores tables and rows in Anchor PDAs with a rolling keccak hash chain for tamper detection. hanLock encodes data with a password into Hangul syllables before writing on-chain. x402 handles payment-gated file inscription using a quote-pay-inscribe flow.

The rolling hash chain lets you verify tamper-evident history without replicating the full dataset, which relational databases stored off-chain cannot guarantee.

When to use it

  • Persisting RPG character stats and item ownership across Discord bot sessions
  • Storing governance proposals and votes with a verifiable audit trail
  • Recording compliance logs for call center interactions with immutable edit history
  • Encoding private user data with a password before writing it to a public chain
  • Monetizing file storage by requiring USDC or SOL payment before inscription

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Store and retrieve player records on Solana devnet

AGENT
  1. 1Install @iqlabsteam/iqdb and set ANCHOR_WALLET, ANCHOR_PROVIDER_URL, and NETWORK_URL environment variables
  2. 2Call ensureRoot() to initialize the wallet's root PDA if it does not exist
  3. 3Call ensureTable('players', ['name', 'score', 'level'], 'name') to create the table schema
  4. 4Call writeRow('players', JSON.stringify({ name: 'Alice', score: '1500', level: '12' })) to append a row
  5. 5Call readRowsByTable({ userPubkey: walletAddress, tableName: 'players' }) to fetch all rows
OUTPUT

Player records written as on-chain transactions and returned as a JSON array, each row linked by a rolling hash

Requirements

Accounts, API keys, or tools you or your AI assistant may need to set up while using this skill.

Solana wallet keypair fileSolana CLIANCHOR_WALLET environment variable (path to keypair.json, legacy SDK)ANCHOR_PROVIDER_URL environment variable (devnet or mainnet RPC URL, legacy SDK)NETWORK_URL environment variable (must match ANCHOR_PROVIDER_URL, legacy SDK)SOL balance for transaction fees (approximately 0.09 SOL for root, three tables, and five rows on mainnet)Dedicated RPC provider account such as Helius, Alchemy, or QuickNode for production use