Communitygithub.com

ClawPhunks

AIエージェント向けに設計された、最初のNFTコレクション「ClawPhunks」をミント・取引できます。

ClawPhunks とは?

ClawPhunksは、OpenClawレッド(#C83232)の背景を持つ、左向きの10,000個のユニークなピクセルパンクNFTコレクションです。AIエージェント専用に設計されており、エージェントが自律的にNFTをミント、一覧表示、購入、キャンセルできます。レアリティは元のCryptoPunksを反映しており、Alien(9個)、Ape(24個)、Zombie(88個)などのレアタイプが存在します。ミントはBaseチェーン上でx402プロトコルを使用して1.99 USDCで行われ、Ethereum L1上のエスクローコントラクトを通じて信頼不要の取引が可能です。また、0.99 USDCでオンチェーンID名を登録でき、サブドメインやメールアドレスが提供されます。このスキルはClaude Code、Cursor、Codexなどの主要なAIエージェントプラットフォームと互換性があり、viemライブラリを使用したウォレット作成から取引までの完全なコード例が提供されています。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/majiayu000/claude-skill-registry/tree/HEAD/skills/integration/clawphunks

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ClawPhunks は何をしますか?

OpenClawレッド(#C83232)の背景を持つ、左向きの10,000個のユニークなピクセルパンク。AIエージェント向けに設計された初のNFTコレクション。

レアリティと価値

ClawPhunksは元のCryptoPunksのレアリティを反映しています。レアなタイプは大きなプレミアムが付きます。

タイプ(5種類)

タイプ個数割合レアリティランク
Alien90.09%★★★★★
Ape240.24%★★★★☆
Zombie880.88%★★★☆☆
Female3,84038.4%★★☆☆☆
Male6,03960.39%★☆☆☆☆

伝説のAliens(全9個 - 0.09%)

最もレアなタイプ。9個のみ存在します:

トークンIDアクセサリー
#0635Bandana, Regular Shades
#2890Cap
#3100Headband
#3443Earring, Cowboy Hat
#5822Bandana
#5905Do-rag, Small Shades
#6089Earring, Knitted Cap
#7523Earring, Knitted Cap, Medical Mask
#7804Cap Forward, Pipe, Small Shades

レアApes(全24個 - 0.24%)

トークンIDアクセサリー
#0372Cap Forward
#1021Cap, Eye Patch
#2140Knitted Cap, Small Shades
#2243Bandana, Nerd Glasses
#2386Headband, Small Shades
#2460Bandana, VR
#2491Cap
#2711Cap Forward, Earring
#2924Hoodie
#4156Bandana
#4178Do-rag
#4464Eye Mask, Vape, Do-rag
#5217Gold Chain, Knitted Cap
#5314Horned Rim Glasses, Do-rag
#5577Cowboy Hat
#5795Police Cap
#6145Cigarette, Cap, Earring
#6915Cap, Earring, Eye Patch
#6965Fedora
#7191Nerd Glasses, Knitted Cap
#8219Knitted Cap
#8498Top Hat, Regular Shades
#9265Bandana, Big Shades
#92803D Glasses, Cowboy Hat

Zombies(全88個 - 0.88%)

全88個のZombieトークンID:

トークンIDアクセサリー
#0117Messy Hair, Front Beard Dark
#0987Wild Hair, Horned Rim Glasses
#1119Shadow Beard, Do-rag, Eye Patch
#1190Cigarette, Bandana, Handlebars, Earring
#1374Big Shades, Earring, Mohawk Dark
#1478Shadow Beard, Wild Hair
#1526Cap, Gold Chain, Eye Patch
#1658Stringy Hair
#1748Front Beard, Frown, Knitted Cap
#1886Messy Hair, Shadow Beard
#1935Earring, Shaved Head
#2066Knitted Cap
#2132Normal Beard Black, Hoodie, Nerd Glasses
#2249Bandana, Eye Patch
#2306Cigarette, Mohawk Thin, Earring
#2329Peak Spike, Earring
#2338Mohawk Thin
#2424Bandana, Frown, Earring
#2484Wild Hair, Classic Shades
#2560Front Beard, Earring, Headband, VR
#2566Messy Hair, Normal Beard
#2681Clown Eyes Blue, Cap
#2708Bandana, Earring
#2938Wild Hair
#2967Mohawk Thin, Chinstrap
#3211Goat, Headband
#3328Cigarette, Messy Hair
#3393Frown, Crazy Hair
#3489Stringy Hair, Eye Patch
#3493Peak Spike, Shadow Beard
#3609Earring, Do-rag
#3636Front Beard Dark, Earring, Top Hat
#3831Vampire Hair, Big Shades, Medical Mask
#4472Cigarette, Purple Hair
#4513Beanie, Luxurious Beard, Earring
#4559Stringy Hair, Earring
#4747Clown Eyes Blue, Headband
#4830Wild Hair, Classic Shades, Medical Mask
#4850Purple Hair
#4874Cigarette, Messy Hair, Clown Nose, Mustache, Earring (5 acc!)
#5066Earring, Knitted Cap, Smile
#5234Big Shades, Earring, Crazy Hair
#5253Messy Hair, Mole
#5299Cigarette, Handlebars, Earring, Mohawk Dark
#5312Luxurious Beard, Knitted Cap
#5336Police Cap
#5412Nerd Glasses, Crazy Hair
#5489Fedora
#5573Luxurious Beard, Mohawk, 3D Glasses
#5742Mohawk Dark
#5761Bandana, Horned Rim Glasses
#5944Mohawk
#6275Shadow Beard, Mohawk Dark
#6297Cigarette, Nerd Glasses, Top Hat
#6304Crazy Hair, Regular Shades
#6491Cap Forward, Shadow Beard, Earring
#6515Cigarette, Wild Hair
#6586Knitted Cap, Smile
#6649Front Beard Dark, Crazy Hair
#6704Cigarette, Earring, Rosy Cheeks
#6784Cigarette, Bandana, Frown
#7014Cigarette, Frumpy Hair
#7121Frumpy Hair, Horned Rim Glasses
#7127Bandana, Eye Mask, Earring
#7252Chinstrap, Earring, Crazy Hair
#7337Normal Beard Black, Peak Spike
#7458Shadow Beard, Knitted Cap, Regular Shades
#7660Smile, Do-rag
#7756Shadow Beard, Horned Rim Glasses, Do-rag
#7914Normal Beard Black, Knitted Cap
#8127Headband
#8307Stringy Hair, Mustache
#8386Classic Shades, Crazy Hair
#8472Mohawk Thin, Small Shades
#8531Stringy Hair, Goat, Regular Shades
#8553Front Beard Dark
#8780Frumpy Hair, Shadow Beard
#8857Wild Hair, 3D Glasses
#8909Luxurious Beard, Police Cap, Regular Shades
#8957Frumpy Hair, Luxurious Beard
#9203Clown Nose, Cap Forward, Goat, Mole
#9368Hoodie, Earring
#9474Peak Spike
#9804Stringy Hair, Shadow Beard, Smile, Small Shades
#9838Peak Spike, Front Beard Dark, Earring
#9909Cap
#9955Shaved Head
#9997Front Beard, Cap Forward

レアアクセサリー(87種類)

アクセサリー個数レアリティ
Beanie44★★★★★
Choker48★★★★★
Pilot Helmet54★★★★★
Tiara55★★★★★
Orange Side68★★★★☆
Buck Teeth78★★★★☆
Welding Goggles86★★★★☆
Top Hat115★★★☆☆
Cowboy Hat142★★★☆☆
Tassle Hat178★★★☆☆
Fedora186★★★☆☆
Police Cap203★★☆☆☆
Clown Nose212★★☆☆☆
Hoodie259★★☆☆☆
Bandana481★☆☆☆☆
Earring2,459Common

アクセサリー個数レアリティ

より多くのアクセサリーを持つPhunkはよりレアです:

  • 7アクセサリー: ~1 phunk
  • 6アクセサリー: ~5 phunks
  • 5アクセサリー: ~26 phunks
  • 4アクセサリー: ~227 phunks
  • 3アクセサリー: ~1,340 phunks
  • 2アクセサリー: ~3,254 phunks
  • 1アクセサリー: ~3,046 phunks
  • 0アクセサリー: ~8 phunks(これもレア!)

仕組み

1. ウォレットを作成する

import { privateKeyToAccount, generatePrivateKey } from 'viem/accounts';
import { createWalletClient, http } from 'viem';
import { mainnet } from 'viem/chains';

const privateKey = generatePrivateKey();
const account = privateKeyToAccount(privateKey);
console.log('Address:', account.address);
// privateKeyを安全に保管してください!

const walletClient = createWalletClient({
  account,
  chain: mainnet,
  transport: http('https://eth.llamarpc.com'),
});

2. Phunkをミントする

エンドポイント: POST https://clawphunks.vercel.app/mint

支払い: x402プロトコル経由でBase上の1.99 USDC

リクエスト:

{
  "recipient": "0xYourWalletAddress"
}

レスポンス:

{
  "success": true,
  "tokenId": 1234,
  "txHash": "0x...",
  "ethscriptionId": "0x...",
  "gasStipendWei": "13333333333333",
  "viewerUrl": "https://ethscriptions.com/ethscriptions/0x...",
  "nextSteps": {
    "trade": "L1でエスクローコントラクトを使用",
    "list": "depositAndList(ethscriptionId, priceWei)",
    "buy": "buy(ethscriptionId) with msg.value = price"
  }
}

あなたが受け取るもの:

  • Ethereum L1上のethscriptionとして、ランダムな未ミントのClawPhunk
  • 取引のための約0.03ドルのETHガス手当

3. L1で取引する

エスクローコントラクト: 0x3e67d49716e50a8b1c71b8dEa0e31755305733fd

エスクローコントラクトは、ESIP-2を使用して信頼不要の取引を処理します。

売りに出する

  1. ethscriptionをエスクローコントラクトに転送する
  2. depositAndList(bytes32 ethscriptionId, uint256 priceWei)を呼び出す
import { encodeFunctionData } from 'viem';

// まず、ethscriptionをエスクローに送信(ethscriptionデータを含むトランザクションをコントラクトに送信)
// その後、リストする:
const data = encodeFunctionData({
  abi: ESCROW_ABI,
  functionName: 'depositAndList',
  args: [ethscriptionId, priceWei],
});

await walletClient.sendTransaction({
  to: '0x3e67d49716e50a8b1c71b8dEa0e31755305733fd',
  data,
});

リストを購入する

// リストを確認
const [active, seller, price] = await publicClient.readContract({
  address: '0x3e67d49716e50a8b1c71b8dEa0e31755305733fd',
  abi: ESCROW_ABI,
  functionName: 'getListing',
  args: [ethscriptionId],
});

// 購入する
await walletClient.writeContract({
  address: '0x3e67d49716e50a8b1c71b8dEa0e31755305733fd',
  abi: ESCROW_ABI,
  functionName: 'buy',
  args: [ethscriptionId],
  value: price,
});

リストをキャンセルする

await walletClient.writeContract({
  address: '0x3e67d49716e50a8b1c71b8dEa0e31755305733fd',
  abi: ESCROW_ABI,
  functionName: 'cancelAndWithdraw',
  args: [ethscriptionId],
});

APIリファレンス

GET /health

ヘルスチェック。

GET /collection

コレクション情報、ミント統計、エージェント指示を返します。

{
  "name": "ClawPhunks",
  "symbol": "CPHUNK",
  "totalSupply": 10000,
  "minted": 0,
  "available": 10000,
  "mintPrice": "1.99",
  "mintCurrency": "USDC",
  "chain": "ethereum",
  "escrowContract": "0x3e67d49716e50a8b1c71b8dEa0e31755305733fd",
  "agentInstructions": { ... }
}

POST /mint

ランダムなphunkをミントします。x402支払いが必要です(Base上の1.99 USDC)。

エスクローコントラクトABI

[
  {
    "name": "depositAndList",
    "type": "function",
    "inputs": [
      { "name": "ethscriptionId", "type": "bytes32" },
      { "name": "price", "type": "uint256" }
    ]
  },
  {
    "name": "buy",
    "type": "function",
    "stateMutability": "payable",
    "inputs": [
      { "name": "ethscriptionId", "type": "bytes32" }
    ]
  },
  {
    "name": "cancelAndWithdraw",
    "type": "function",
    "inputs": [
      { "name": "ethscriptionId", "type": "bytes32" }
    ]
  },
  {
    "name": "getListing",
    "type": "function",
    "stateMutability": "view",
    "inputs": [
      { "name": "ethscriptionId", "type": "bytes32" }
    ],
    "outputs": [
      { "name": "active", "type": "bool" },
      { "name": "seller", "type": "address" },
      { "name": "price", "type": "uint256" }
    ]
  },
  {
    "name": "updatePrice",
    "type": "function",
    "inputs": [
      { "name": "ethscriptionId", "type": "bytes32" },
      { "name": "newPrice", "type": "uint256" }
    ]
  }
]

特性

各ClawPhunkには、ethscriptionメタデータに埋め込まれた特性があります:

{
  "attributes": [
    { "trait_type": "Type", "value": "Female" },
    { "trait_type": "Accessory", "value": "Mohawk" },
    { "trait_type": "Accessory", "value": "3D Glasses" },
    { "trait_type": "Accessory", "value": "Earring" }
  ]
}

リンク

x402支払い

ClawPhunksは支払いにx402プロトコルを使用しています:

  1. 支払いなしで/mintを呼び出す → 支払い詳細とともに402 Payment Requiredが返る
  2. Base上で1.99 USDCを支払う
  3. ヘッダーに支払い証明を添付して再試行する
  4. phunkを受け取る

Coinbase AgentKitを使用している場合、x402は自動的に処理されます。


名前登録

エージェントのためのオンチェーンIDを登録します。名前は永続的で、検閲不可能なethscriptionです。

価格:0.99 USDC

得られるもの

  • オンチェーン名 - data:,yourname ethscription、永遠にあなたのもの
  • サブドメイン - yourname.chainhost.online
  • メールアドレス - [email protected]
  • 解決可能なID - chainhost.online/resolve/yourname

名前ルール

  • 小文字のURLセーフのみ: a-z、0-9、-
  • 長さ: 1~32文字
  • 先頭/末尾にハイフン不可: my-agent ✓、-myagent ✗
  • 先着順: 名前は一度登録すると永続的です

ステップ1:利用可能か検索する

エンドポイント: GET /names/search?name=yourname

リクエスト:

GET https://clawphunks.vercel.app/names/search?name=myagent

レスポンス(利用可能):

{
  "name": "myagent",
  "available": true,
  "price": "0.99 USDC",
  "registerEndpoint": "POST /names/register"
}

レスポンス(既存):

{
  "name": "myagent",
  "available": false,
  "owner": "0x1234...5678"
}

ステップ2:x402支払いで登録する

エンドポイント: POST /names/register

支払い: x402を介してBase上の0.99 USDC(ミントと同じフロー)

リクエスト:

{
  "name": "myagent",
  "recipient": "0xYourWalletAddress"
}

レスポンス:

{
  "success": true,
  "name": "myagent",
  "txHash": "0x...",
  "ethscriptionId": "0x...",
  "siteUrl": "https://myagent.chainhost.online",
  "emailAddress": "[email protected]",
  "resolveUrl": "https://chainhost.online/resolve/myagent",
  "nextSteps": {
    "uploadSite": "https://chainhost.online/upload?name=myagent",
    "checkMail": "https://chainhost.online/mail"
  }
}

例:名前を登録する

import { createWalletClient, http, keccak256, encodePacked } from 'viem';
import { base } from 'viem/chains';
import { privateKeyToAccount } from 'viem/accounts';

const REGISTER_API = 'https://clawphunks.vercel.app/names/register';
const USDC_BASE = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
const REGISTER_COST = 990000n; // 0.99 USDC (6 decimals)

async function registerName(privateKey: string, name: string) {
  const account = privateKeyToAccount(privateKey);
  const walletClient = createWalletClient({
    account,
    chain: base,
    transport: http('https://mainnet.base.org'),
  });

  // ステップ1:利用可能か確認
  const searchRes = await fetch(`https://clawphunks.vercel.app/names/search?name=${name}`);
  const { available } = await searchRes.json();

  if (!available) {
    throw new Error(`名前「${name}」は既に使用されています`);
  }

  // ステップ2:支払い要件を取得(402レスポンス)
  const reqRes = await fetch(REGISTER_API, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ name, recipient: account.address }),
  });

  if (reqRes.status !== 402) {
    const data = await reqRes.json();
    if (data.success) return data;
    throw new Error('予期しないレスポンス');
  }

  const paymentDetails = await reqRes.json();
  
  // ステップ3:0.99 USDCを支払う
  const txHash = await walletClient.sendTransaction({
    to: USDC_BASE,
    data: encodeFunctionData({
      abi: ['function transfer(address,uint256)'],
      functionName: 'transfer',
      args: [paymentDetails.receiver, REGISTER_COST],
    }),
  });

  // ステップ4:支払い証明を添付して登録を再試行
  const finalRes = await fetch(REGISTER_API, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-Payment-Tx': txHash,
    },
    body: JSON.stringify({ name, recipient: account.address }),
  });

  return finalRes.json();
}

サブドメイン

登録後、yourname.chainhost.onlineにアクセスできます。デフォルトのプロフィールページが表示されます。

URLをたどることで、エージェントIDを誰でも解決できます。

エージェント取引ループ

1. POST /mint → phunkを取得
2. rarityコマンドでレアリティを確認
3. GET /collectionで統計を取得
4. buy(ethscriptionId)で希望のphunkを購入
5. depositAndList(ethscriptionId, priceWei)で再販
6. cancelAndWithdraw(ethscriptionId)でリストをキャンセル

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

majiayu000/claude-skill-registry

Builds, edit or validate Agent Skill through conversational discovery. Use when the user requests to "Create an Agent", "Optimize an Agent" or "Edit an Agent".

majiayu000/claude-skill-registry

Edit existing BMAD agents while maintaining compliance

majiayu000/claude-skill-registry

Edit existing BMAD agents while maintaining compliance

majiayu000/claude-skill-registry

Edit existing BMAD modules while maintaining coherence

majiayu000/claude-skill-registry

Edit existing BMAD modules while maintaining coherence

majiayu000/claude-skill-registry

Analyzes current state and user query to answer BMad questions or recommend the next workflow or agent. Use when user says what should I do next, what do I do now, or asks a question about BMad

majiayu000/claude-skill-registry

Build AI agents with Google ADK Python (Agent Development Kit). Use for multi-agent systems, workflow agents (sequential/parallel/loop), Vertex AI deployment, tool integration, human-in-the-loop.

majiayu000/claude-skill-registry

Build AI agents with Google ADK Python (Agent Development Kit). Use for multi-agent systems, workflow agents (sequential/parallel/loop), Vertex AI deployment, tool integration, human-in-the-loop.

majiayu000/claude-skill-registry

Portfolio allocation and rebalancing optimizer. Manages asset allocation across stocks/cash/bonds, performs periodic rebalancing, and ensures diversification according to market regime and risk tolerance.

majiayu000/claude-skill-registry

Create a hilarious and ultra-realistic video of an anthropomorphic animal acting like a human vlogger in a real-world setting.

majiayu000/claude-skill-registry

Speech-to-text transcription and translation via OpenAI Audio API -- models, response formats, timestamps, prompting, streaming, chunking, and diarization

majiayu000/claude-skill-registry

BlockRun works with Claude Code and Google Antigravity.

majiayu000/claude-skill-registry

This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.

majiayu000/claude-skill-registry

小省导购员数字人带货版即梦视频提示词生成系统,基于四大智能体协同(提示词生成师、质量管控师、知识库运维师、跨环节适配师),按照"主体+运动+场景+(镜头语言+光影+氛围)"公式输出中英文双版提示词,适配5s短视频。确保人物一致性、视觉连贯性、情绪连贯性,支持知识库智能复用和跨工具适配(Suno音乐、AI绘画),为数字人带货视频提供高质量提示词生成服务。

majiayu000/claude-skill-registry

Upload and manage files using Google Gemini File API via scripts/. Use for uploading images, audio, video, PDFs, and other files for use with Gemini models. Supports file upload, status checking, and file management. Triggers on "upload file", "file API", "upload image", "upload PDF", "upload video", "file management".

majiayu000/claude-skill-registry

CRITICAL: Use for MolyKit AI chat toolkit. Triggers on: BotClient, OpenAI, SSE streaming, AI chat, molykit, PlatformSend, spawn(), ThreadToken, cross-platform async, Chat widget, Messages, PromptInput, Avatar, LLM

majiayu000/claude-skill-registry

AI and machine learning workflow covering LLM application development, RAG implementation, agent architecture, ML pipelines, and AI-powered features.

majiayu000/claude-skill-registry

Analyze images/audio/video with Gemini API (better vision than Claude). Generate images (Imagen 4), videos (Veo 3). Use for vision analysis, transcription, OCR, design extraction, multimodal AI.

majiayu000/claude-skill-registry

Analyze images/audio/video with Gemini API (better vision than Claude). Generate images (Imagen 4), videos (Veo 3). Use for vision analysis, transcription, OCR, design extraction, multimodal AI.

majiayu000/claude-skill-registry

Skill for discovering and researching autonomous AI agents, tools, and ecosystems using the AgentFolio directory.

関連スキル