
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
clanker-sdk
Advanced tools
The official TypeScript SDK for deploying tokens using Clanker.
npm install clanker-sdk viem
# or
yarn add clanker-sdk viem
# or
pnpm add clanker-sdk viem
The Clanker SDK ships a CLI for deploying and managing tokens directly from your terminal.
npm install -g clanker-sdk
Then run commands with:
clanker-sdk deploy --name "MyToken" --symbol "MTK" --chain base
clanker-sdk rewards claim --token 0x...
clanker-sdk vault claim --token 0x...
npx clanker-sdk deploy --name "MyToken" --symbol "MTK" --chain base
| Command | Description |
|---|---|
setup | Save default wallet & chain config |
deploy | Deploy a new token (V3 or V4) |
rewards | Claim rewards, update recipients/admins |
vault | Claim vaulted tokens |
| airdrop | Generate Merkle trees, register & claim airdrops |
| token | Update token image & metadata |
--chain <name> Target chain (base, base-sepolia, bsc, etc.)
--rpc <url> Custom RPC URL
--private-key <key> Wallet private key (or set PRIVATE_KEY env)
--json Output machine-readable JSON
--dry-run Simulate transaction without sending
Run clanker-sdk <command> --help for details on any command.
.env file with your configuration:PRIVATE_KEY=<your_private_key_here>
// deploy-script.ts
import { Clanker } from 'clanker-sdk';
import { createPublicClient, createWalletClient, http, PublicClient } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { base } from 'viem/chains';
// Validate environment variables
const PRIVATE_KEY = process.env.PRIVATE_KEY as `0x${string}`;
if (!PRIVATE_KEY) {
throw new Error("Missing PRIVATE_KEY environment variable.");
}
// Initialize wallet with private key
const account = privateKeyToAccount(PRIVATE_KEY);
const publicClient = createPublicClient({
chain: base,
transport: http(),
}) as PublicClient;
const wallet = createWalletClient({
account,
chain: base,
transport: http(),
});
// Initialize Clanker SDK
const clanker = new Clanker({
wallet,
publicClient,
});
async function deployToken() {
console.log("\n🚀 Deploying Token\n");
// Deploy the token with full configuration
const tokenConfig = {
name: "My Token",
symbol: "TKN",
image: "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
metadata: {
description: "Token with custom configuration including vesting and rewards",
socialMediaUrls: [
{ platform: "x", url: "https://twitter.com/mytoken" },
{ platform: "telegram", url: "https://t.me/mytoken" },
],
auditUrls: ["https://example.com/audit"],
},
context: {
interface: "Clanker SDK",
platform: "Clanker",
messageId: "Deploy Example",
id: "TKN-1",
},
pool: {
quoteToken: "0x4200000000000000000000000000000000000006", // WETH on Base
initialMarketCap: "10", // 10 ETH initial market cap
},
vault: {
percentage: 10, // 10% of tokens vested
durationInDays: 30, // 30-day vesting period
},
devBuy: {
ethAmount: 0, // No initial buy
},
rewardsConfig: {
creatorReward: 75, // 75% creator reward
creatorAdmin: account.address,
creatorRewardRecipient: account.address,
interfaceAdmin: "0x1eaf444ebDf6495C57aD52A04C61521bBf564ace",
interfaceRewardRecipient: "0x1eaf444ebDf6495C57aD52A04C61521bBf564ace",
},
};
try {
const tokenAddress = await clanker.deployToken(tokenConfig);
console.log("Token deployed successfully!");
console.log("Token address:", tokenAddress);
console.log("View on BaseScan:", `https://basescan.org/token/${tokenAddress}`);
} catch (error) {
if (error instanceof Error) {
console.error("Deployment failed:", error.message);
} else {
console.error("Deployment failed with unknown error");
}
process.exit(1);
}
}
deployToken().catch(console.error);
bun deploy-script.ts
name: Token namesymbol: Token symbolimage: IPFS URI for token imagemetadata: Token metadata (description, social links, etc.)context: Deployment context information (interface, platform, etc.)pool.quoteToken: Quote token address (defaults to WETH on Base)pool.initialMarketCap: Initial market cap in quote token unitsdevBuy.ethAmount: Amount of ETH for initial buyvault.percentage: Percentage of tokens to be vested (0-30%)vault.durationInDays: Duration of the vesting period in daysrewardsConfig.creatorReward: Creator reward percentage (0-80)rewardsConfig.creatorAdmin: Creator admin addressrewardsConfig.creatorRewardRecipient: Creator reward recipient addressrewardsConfig.interfaceAdmin: Interface admin addressrewardsConfig.interfaceRewardRecipient: Interface reward recipient addressSee the examples directory for more deployment scenarios:
deploy-token-simple.ts: Basic token deploymentdeploy-token.ts: Advanced token deployment with all optionsdeploy-full-sdk.ts: Full SDK usage exampleThe SDK uses bun for development. Install bun following their instructions here: https://bun.sh.
Once bun is installed, the project is ready for development
# Install dependencies
bun i
# Run Examples
# bun <path_to_example>
bun examples/v4/availableRewards.ts
# Run Tests
bun test
# Check coverage
bun test --coverage
# Lint
bun lint
Publishing the package
# Log into npm
bunx npm login
# Dry run publishing
bun publish-package --dry-run
# Publish
bun publish-package
MIT
FAQs
SDK for deploying tokens using Clanker
The npm package clanker-sdk receives a total of 6,737 weekly downloads. As such, clanker-sdk popularity was classified as popular.
We found that clanker-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.