clanker
Clanker SDKを活用し、BaseやEthereumなどのEVMチェーン上で新しいトークン発行、ミームコイン作成、トークン報酬管理、エアドロップ設定など、様々なトークン関連機能を実行できるSkill。
📜 元の英語説明(参考)
Deploy ERC20 tokens on Base, Ethereum, Arbitrum, and other EVM chains using the Clanker SDK. Use when the user wants to deploy a new token, create a memecoin, set up token vesting, configure airdrops, manage token rewards, claim LP fees, or update token metadata. Supports V4 deployment with vaults, airdrops, dev buys, custom market caps, vanity addresses, and multi-chain deployment.
🇯🇵 日本人クリエイター向け解説
Clanker SDKを活用し、BaseやEthereumなどのEVMチェーン上で新しいトークン発行、ミームコイン作成、トークン報酬管理、エアドロップ設定など、様々なトークン関連機能を実行できるSkill。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o clanker.zip https://jpskill.com/download/8112.zip && unzip -o clanker.zip && rm clanker.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/8112.zip -OutFile "$d\clanker.zip"; Expand-Archive "$d\clanker.zip" -DestinationPath $d -Force; ri "$d\clanker.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
clanker.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
clankerフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-18
- 取得日時
- 2026-05-18
- 同梱ファイル
- 1
📖 Skill本文(日本語訳)
※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。
Clanker SDK
公式の Clanker TypeScript SDK を使用して、組み込みの流動性プールを持つ本番環境対応の ERC20 トークンをデプロイします。
概要
Clanker は、単一のトランザクションで Uniswap V4 流動性プールを持つ ERC20 トークンを作成するトークンデプロイメントプロトコルです。この SDK は、ベスティング、エアドロップ、カスタマイズ可能な報酬分配などの高度な機能を備えたトークンをデプロイするための TypeScript インターフェースを提供します。
クイックスタート
インストール
npm install clanker-sdk viem
# or
yarn add clanker-sdk viem
# or
pnpm add clanker-sdk viem
環境設定
プライベートキーを含む .env ファイルを作成します。
PRIVATE_KEY=0x...your_private_key_here
基本的なトークンデプロイメント
import { Clanker } from 'clanker-sdk';
import { createPublicClient, createWalletClient, http, type PublicClient } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { base } from 'viem/chains';
const PRIVATE_KEY = process.env.PRIVATE_KEY as `0x${string}`;
const account = privateKeyToAccount(PRIVATE_KEY);
const publicClient = createPublicClient({
chain: base,
transport: http(),
}) as PublicClient;
const wallet = createWalletClient({
account,
chain: base,
transport: http(),
});
const clanker = new Clanker({ wallet, publicClient });
const { txHash, waitForTransaction, error } = await clanker.deploy({
name: 'My Token',
symbol: 'TKN',
image: 'ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi',
tokenAdmin: account.address,
metadata: {
description: 'My awesome token',
},
context: {
interface: 'Clanker SDK',
},
vanity: true,
});
if (error) throw error;
const { address: tokenAddress } = await waitForTransaction();
console.log('Token deployed at:', tokenAddress);
コア機能
1. トークンデプロイメント
メタデータ、ソーシャルリンク、プール構成を含む完全なカスタマイズでトークンをデプロイします。
基本的なデプロイメント:
- トークン名、シンボル、画像 (IPFS)
- 説明とソーシャルメディアリンク
- バニティアドレスの生成
- カスタムプール構成
リファレンス: references/deployment.md
2. Vault (トークンベスティング)
ロックアップ期間とベスティング期間でトークンの割合をロックします。
vault: {
percentage: 10, // トークン供給量の 10%
lockupDuration: 2592000, // 30 日間のクリフ (秒単位)
vestingDuration: 2592000, // 30 日間のリニアベスティング
recipient: account.address,
}
リファレンス: references/vesting.md
3. エアドロップ
Merkle ツリー証明を使用して、複数のアドレスにトークンを配布します。
import { createAirdrop, registerAirdrop } from 'clanker-sdk/v4/extensions';
const { tree, airdrop } = createAirdrop([
{ account: '0x...', amount: 200_000_000 },
{ account: '0x...', amount: 50_000_000 },
]);
// デプロイメントに含める
airdrop: {
...airdrop,
lockupDuration: 86_400, // 1 日
vestingDuration: 86_400, // 1 日
}
リファレンス: references/airdrops.md
4. 報酬構成
取引手数料の分配を構成します。
rewards: {
recipients: [
{
recipient: account.address,
admin: account.address,
bps: 5000, // 手数料の 50%
token: 'Both', // 両方のトークンを受け取る
},
{
recipient: '0x...',
admin: '0x...',
bps: 5000, // 手数料の 50%
token: 'Both',
},
],
}
トークンタイプのオプション
各受取人が取引手数料から受け取るトークンを選択します。
| トークンタイプ | 説明 |
|---|---|
'Clanker' |
デプロイされたトークンのみを受け取る |
'Paired' |
ペアになったトークン (例: WETH) のみを受け取る |
'Both' |
両方のトークンを受け取る |
デフォルトの Bankr インターフェース手数料
Bankr 経由でデプロイする場合は、20% のインターフェース手数料でこのデフォルトの報酬構成を使用します。
// Bankr インターフェース手数料の受取人
const BANKR_INTERFACE_ADDRESS = '0xF60633D02690e2A15A54AB919925F3d038Df163e';
rewards: {
recipients: [
{
recipient: account.address, // 作成者
admin: account.address,
bps: 8000, // 作成者に 80%
token: 'Paired', // ペアになったトークン (WETH) を受け取る
},
{
recipient: BANKR_INTERFACE_ADDRESS, // Bankr インターフェース
admin: BANKR_INTERFACE_ADDRESS,
bps: 2000, // Bankr に 20%
token: 'Paired', // ペアになったトークン (WETH) を受け取る
},
],
}
リファレンス: references/rewards.md
5. Dev Buy
デプロイメントに初期トークン購入を含めます。
devBuy: {
ethAmount: 0.1, // 0.1 ETH で購入
recipient: account.address,
}
6. カスタム時価総額
初期トークン価格/時価総額を設定します。
import { getTickFromMarketCap } from 'clanker-sdk';
const customPool = getTickFromMarketCap(5); // 5 ETH の時価総額
pool: {
...customPool,
positions: [
{
tickLower: customPool.tickIfToken0IsClanker,
tickUpper: -120000,
positionBps: 10_000,
},
],
}
リファレンス: references/pool-config.md
7. アンチスナイパー保護
スナイパーから保護するために、手数料の減衰を構成します。
sniperFees: {
startingFee: 666_777, // 66.6777% の開始手数料
endingFee: 41_673, // 4.1673% の終了手数料
secondsToDecay: 15, // 15 秒の減衰
}
契約の制限と定数
| パラメータ | 値 | 注 |
|---|---|---|
| トークン供給量 | 1000 億 | 18 桁で 100,000,000,000 に固定 |
| 最大拡張機能 BPS | 9000 (90%) | 拡張機能への最大トークン、LP への最小 10% |
| 最大拡張機能数 | 10 | デプロイメントごとの最大拡張機能数 |
| Vault 最小ロックアップ | 7 日 | ベスティングの最小ロックアップ期間 |
| エアドロップ最小ロックアップ | 1 日 | エアドロップの最小ロックアップ期間 |
| 最大 LP 手数料 | 10% | 通常の取引手数料の上限 |
| 最大スナイパー手数料 | 80% | 最大 MEV/スナイパー保護手数料 |
| スナイパー手数料の減衰 | 2 |
(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開
Clanker SDK
Deploy production-ready ERC20 tokens with built-in liquidity pools using the official Clanker TypeScript SDK.
Overview
Clanker is a token deployment protocol that creates ERC20 tokens with Uniswap V4 liquidity pools in a single transaction. The SDK provides a TypeScript interface for deploying tokens with advanced features like vesting, airdrops, and customizable reward distribution.
Quick Start
Installation
npm install clanker-sdk viem
# or
yarn add clanker-sdk viem
# or
pnpm add clanker-sdk viem
Environment Setup
Create a .env file with your private key:
PRIVATE_KEY=0x...your_private_key_here
Basic Token Deployment
import { Clanker } from 'clanker-sdk';
import { createPublicClient, createWalletClient, http, type PublicClient } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { base } from 'viem/chains';
const PRIVATE_KEY = process.env.PRIVATE_KEY as `0x${string}`;
const account = privateKeyToAccount(PRIVATE_KEY);
const publicClient = createPublicClient({
chain: base,
transport: http(),
}) as PublicClient;
const wallet = createWalletClient({
account,
chain: base,
transport: http(),
});
const clanker = new Clanker({ wallet, publicClient });
const { txHash, waitForTransaction, error } = await clanker.deploy({
name: 'My Token',
symbol: 'TKN',
image: 'ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi',
tokenAdmin: account.address,
metadata: {
description: 'My awesome token',
},
context: {
interface: 'Clanker SDK',
},
vanity: true,
});
if (error) throw error;
const { address: tokenAddress } = await waitForTransaction();
console.log('Token deployed at:', tokenAddress);
Core Capabilities
1. Token Deployment
Deploy tokens with full customization including metadata, social links, and pool configuration.
Basic deployment:
- Token name, symbol, and image (IPFS)
- Description and social media links
- Vanity address generation
- Custom pool configurations
Reference: references/deployment.md
2. Vault (Token Vesting)
Lock a percentage of tokens with lockup and vesting periods:
vault: {
percentage: 10, // 10% of token supply
lockupDuration: 2592000, // 30 days cliff (in seconds)
vestingDuration: 2592000, // 30 days linear vesting
recipient: account.address,
}
Reference: references/vesting.md
3. Airdrops
Distribute tokens to multiple addresses using Merkle tree proofs:
import { createAirdrop, registerAirdrop } from 'clanker-sdk/v4/extensions';
const { tree, airdrop } = createAirdrop([
{ account: '0x...', amount: 200_000_000 },
{ account: '0x...', amount: 50_000_000 },
]);
// Include in deployment
airdrop: {
...airdrop,
lockupDuration: 86_400, // 1 day
vestingDuration: 86_400, // 1 day
}
Reference: references/airdrops.md
4. Rewards Configuration
Configure trading fee distribution:
rewards: {
recipients: [
{
recipient: account.address,
admin: account.address,
bps: 5000, // 50% of fees
token: 'Both', // Receive both tokens
},
{
recipient: '0x...',
admin: '0x...',
bps: 5000, // 50% of fees
token: 'Both',
},
],
}
Token Type Options
Choose which tokens each recipient receives from trading fees:
| Token Type | Description |
|---|---|
'Clanker' |
Receive only the deployed token |
'Paired' |
Receive only the paired token (e.g., WETH) |
'Both' |
Receive both tokens |
Default Bankr Interface Fee
When deploying via Bankr, use this default rewards configuration with 20% interface fee:
// Bankr interface fee recipient
const BANKR_INTERFACE_ADDRESS = '0xF60633D02690e2A15A54AB919925F3d038Df163e';
rewards: {
recipients: [
{
recipient: account.address, // Creator
admin: account.address,
bps: 8000, // 80% to creator
token: 'Paired', // Receive paired token (WETH)
},
{
recipient: BANKR_INTERFACE_ADDRESS, // Bankr interface
admin: BANKR_INTERFACE_ADDRESS,
bps: 2000, // 20% to Bankr
token: 'Paired', // Receive paired token (WETH)
},
],
}
Reference: references/rewards.md
5. Dev Buy
Include an initial token purchase in the deployment:
devBuy: {
ethAmount: 0.1, // Buy with 0.1 ETH
recipient: account.address,
}
6. Custom Market Cap
Set initial token price/market cap:
import { getTickFromMarketCap } from 'clanker-sdk';
const customPool = getTickFromMarketCap(5); // 5 ETH market cap
pool: {
...customPool,
positions: [
{
tickLower: customPool.tickIfToken0IsClanker,
tickUpper: -120000,
positionBps: 10_000,
},
],
}
Reference: references/pool-config.md
7. Anti-Sniper Protection
Configure fee decay to protect against snipers:
sniperFees: {
startingFee: 666_777, // 66.6777% starting fee
endingFee: 41_673, // 4.1673% ending fee
secondsToDecay: 15, // 15 seconds decay
}
Contract Limits & Constants
| Parameter | Value | Notes |
|---|---|---|
| Token Supply | 100 billion | Fixed at 100,000,000,000 with 18 decimals |
| Max Extension BPS | 9000 (90%) | Max tokens to extensions, min 10% to LP |
| Max Extensions | 10 | Maximum number of extensions per deployment |
| Vault Min Lockup | 7 days | Minimum lockup duration for vesting |
| Airdrop Min Lockup | 1 day | Minimum lockup duration for airdrops |
| Max LP Fee | 10% | Normal trading fee cap |
| Max Sniper Fee | 80% | Maximum MEV/sniper protection fee |
| Sniper Fee Decay | 2 minutes max | Maximum time for sniper fee decay |
| Max Reward Recipients | 7 | Maximum fee distribution recipients |
| Max LP Positions | 7 | Maximum liquidity positions |
Supported Chains
| Chain | Chain ID | Native Token | Status |
|---|---|---|---|
| Base | 8453 | ETH | ✅ Full support |
| Ethereum | 1 | ETH | ✅ Full support |
| Arbitrum | 42161 | ETH | ✅ Full support |
| Unichain | - | ETH | ✅ Full support |
| Monad | - | MON | ✅ Static fees only |
Post-Deployment Operations
Claim Vaulted Tokens
const claimable = await clanker.getVaultClaimableAmount({ token: TOKEN_ADDRESS });
if (claimable > 0n) {
const { txHash } = await clanker.claimVaultedTokens({ token: TOKEN_ADDRESS });
}
Collect Trading Rewards
// Check available rewards
const availableFees = await clanker.availableRewards({
token: TOKEN_ADDRESS,
rewardRecipient: FEE_OWNER_ADDRESS,
});
// Claim rewards
const { txHash } = await clanker.claimRewards({
token: TOKEN_ADDRESS,
rewardRecipient: FEE_OWNER_ADDRESS,
});
Update Token Metadata
const metadata = JSON.stringify({
description: 'Updated description',
socialMediaUrls: [
{ platform: 'twitter', url: 'https://twitter.com/mytoken' },
{ platform: 'telegram', url: 'https://t.me/mytoken' },
],
});
const { txHash } = await clanker.updateMetadata({
token: TOKEN_ADDRESS,
metadata,
});
Update Token Image
const { txHash } = await clanker.updateImage({
token: TOKEN_ADDRESS,
image: 'ipfs://new_image_hash',
});
Common Workflows
Simple Memecoin Launch
- Prepare token image (upload to IPFS)
- Deploy with basic config (name, symbol, image)
- Enable vanity address for memorable contract
- Share contract address
Community Token with Airdrop
- Compile airdrop recipient list
- Create Merkle tree with
createAirdrop() - Deploy token with airdrop extension
- Register airdrop with Clanker service
- Share claim instructions
Creator Token with Vesting
- Deploy with vault configuration
- Set lockup period (cliff)
- Set vesting duration
- Claim tokens as they vest
Full Deployment Config
// Bankr interface fee recipient (20%)
const BANKR_INTERFACE_ADDRESS = '0xF60633D02690e2A15A54AB919925F3d038Df163e';
const tokenConfig = {
chainId: 8453, // Base
name: 'My Token',
symbol: 'TKN',
image: 'ipfs://...',
tokenAdmin: account.address,
metadata: {
description: 'Token description',
socialMediaUrls: [
{ platform: 'twitter', url: '...' },
{ platform: 'telegram', url: '...' },
],
},
context: {
interface: 'Bankr',
platform: 'farcaster',
messageId: '',
id: '',
},
vault: {
percentage: 10,
lockupDuration: 2592000,
vestingDuration: 2592000,
recipient: account.address,
},
devBuy: {
ethAmount: 0,
recipient: account.address,
},
// Default: 80% creator, 20% Bankr interface (all in paired token)
rewards: {
recipients: [
{
recipient: account.address,
admin: account.address,
bps: 8000, // 80% to creator
token: 'Paired', // Receive paired token (WETH)
},
{
recipient: BANKR_INTERFACE_ADDRESS,
admin: BANKR_INTERFACE_ADDRESS,
bps: 2000, // 20% to Bankr
token: 'Paired', // Receive paired token (WETH)
},
],
},
pool: {
pairedToken: '0x4200000000000000000000000000000000000006', // WETH
positions: 'Standard',
},
fees: 'StaticBasic',
vanity: true,
sniperFees: {
startingFee: 666_777,
endingFee: 41_673,
secondsToDecay: 15,
},
};
Best Practices
Security
- Never expose private keys - Use environment variables
- Test on testnet first - Verify configs before mainnet
- Simulate transactions - Use
*Simulatemethods before execution - Verify addresses - Double-check all recipient addresses
Token Design
- Choose meaningful names - Clear, memorable token identity
- Use quality images - High-res, appropriate IPFS images
- Configure vesting wisely - Align with project timeline
Gas Optimization
- Use Base or Arbitrum - Lower gas fees
- Batch operations - Combine when possible
- Monitor gas prices - Deploy during low-traffic periods
Troubleshooting
Common Issues
- "Missing PRIVATE_KEY" - Set environment variable
- "Insufficient balance" - Fund wallet with native token
- "Transaction reverted" - Check parameters, simulate first
- "Invalid image" - Ensure IPFS hash is accessible
Debug Steps
- Check wallet balance
- Verify chain configuration
- Use simulation methods
- Check transaction on block explorer
- Review error message details
Resources
- GitHub: github.com/clanker-devco/clanker-sdk
- NPM: npmjs.com/package/clanker-sdk
- Examples: github.com/clanker-devco/clanker-sdk/tree/main/examples/v4
💡 Pro Tip: Always use the vanity: true option for memorable contract addresses.
⚠️ Security: Never commit private keys. Use .env files and add them to .gitignore.
🚀 Quick Win: Start with the simple deployment example, then add features like vesting and rewards as needed.