Top SitesClanker — Launch Your Token in Minutes | Multi-Chain Token Platform | Clanker

Machine Readiness

Stored receipt and evidence

Overall

30

Readable

100

Callable

0

Commerce

0

Payment

0

Machine Access

Inspect the site's MCP endpoint

Open MCP explorer

DialtoneApp can scan the stored discovery files for this domain, try the MCP initialize handshake, and show the raw protocol transcript.

Purchase boundary

read only

Control boundary

unknown

Payment rails

None

Payment providers

None

Payment methods

None

Payment protocols

None

Payment assets

None

Payment networks

None

Capabilities

None

Verified payment surface

No

Crypto only

No

Readable docs

robots, llms, llms-full

Products

0

Variants

0

Priced variants

0

Currencies

0

Offers

0

Priced offers

0

Priced actions

0

Samples

Offer samples

No stored offer samples.

Samples

Action samples

No stored action samples.

Samples

Product samples

No stored product samples.

Document

robots.txt

Open robots.txt
User-Agent: *
Allow: /
Allow: /api/og/*
Allow: /sitemap.xml
Allow: /sitemap/*.xml
Disallow: /admin/
Disallow: /api/
Disallow: /clanker/*/admin
Disallow: /clanker/testnet/
Disallow: /creator/export-private-key
Disallow: /profile

Sitemap: https://www.clanker.world/sitemap.xml

Document

llms.txt

Open llms.txt
# Clanker

> Clanker deploys ERC-20 tokens with automatic Uniswap V4 liquidity pools on multiple EVM chains. Browse, deploy, and manage tokens at clanker.world.

## Documentation

- [Clanker SDK Skill](https://www.clanker.world/api/docs/clanker-sdk): Complete guide for AI agents to deploy tokens, configure liquidity pools, claim rewards, set up airdrops, presales, vaults, and interact with Clanker contracts using the `clanker-sdk` npm package.
- [Full Documentation](https://www.clanker.world/llms-full.txt): Complete unabridged documentation for LLM consumption.

## Key Capabilities

- Deploy ERC-20 tokens with Uniswap V4 liquidity on Base, Arbitrum, Ethereum, BSC, Unichain, Monad, Abstract
- Configure pool parameters, fee structures (static/dynamic), sniper protection
- Set up token vesting vaults, airdrops via Merkle trees, and presales
- Dev buy in same deployment transaction
- Claim LP fee rewards and manage reward recipients
- Update token metadata and images post-deployment

## Quick Integration

```bash
npm install clanker-sdk viem
```

```typescript
import { Clanker } from 'clanker-sdk/v4';
```

See the full SDK skill at /api/docs/clanker-sdk for complete usage instructions.

Document

llms-full.txt

Open llms-full.txt
# Using the Clanker SDK

## Overview

Clanker SDK (`clanker-sdk`) deploys ERC-20 tokens with automatic Uniswap V4 liquidity pools on multiple EVM chains. It handles token creation, pool setup, fee hooks, vesting vaults, airdrops, presales, and reward distribution in a single transaction.

## Installation

```bash
npm install clanker-sdk viem
```

## Supported Chains

| Chain | ID | Import | Notes |
|-------|-----|--------|-------|
| Base | 8453 | `base` | Primary chain |
| Base Sepolia | 84532 | `baseSepolia` | Testnet |
| Arbitrum | 42161 | `arbitrum` | |
| Ethereum Mainnet | 1 | `mainnet` | |
| BSC | 56 | `bsc` | Uses WBNB, not WETH |
| Unichain | 130 | `unichain` | |
| Monad | custom | `monad` from `clanker-sdk` | Static fees only |
| Abstract | 11124 | `abstract` | |

Import chains from `viem/chains` except Monad (import from `clanker-sdk`).

## Quick Start

```typescript
import { Clanker } from 'clanker-sdk/v4';
import { createPublicClient, createWalletClient, http, type PublicClient } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { base } from 'viem/chains';

const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
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://...',
  tokenAdmin: account.address,
  chainId: base.id,
  vanity: true,
});
if (error) throw error;

const { address } = await waitForTransaction();
```

## Imports

```typescript
// V4 SDK (primary)
import { Clanker } from 'clanker-sdk/v4';

// Constants and helpers
import { FEE_CONFIGS, POOL_POSITIONS, WETH_ADDRESSES } from 'clanker-sdk';

// Extensions
import { createAirdrop, fetchAirdropProofs, registerAirdrop, getClaimAirdropTransaction } from 'clanker-sdk/v4/extensions';
import { startPresale, buyIntoPresale, endPresale, claimTokens } from 'clanker-sdk/v4/extensions';

// Types
import type { ClankerTokenV4 } from 'clanker-sdk';
```

## Token Configuration Reference

### Required Fields

| Field | Type | Description |
|-------|------|-------------|
| `name` | `string` | Token name |
| `symbol` | `string` | Token symbol |
| `tokenAdmin` | `0x${string}` | Admin address (cannot be zero address) |

### Optional Fields with Defaults

| Field | Default | Description |
|-------|---------|-------------|
| `chainId` | `8453` (Base) | Target chain ID |
| `image` | `''` | Token image URL (IPFS or HTTP) |
| `vanity` | `false` | Generate `0x...b07` suffix address |
| `salt` | auto | Custom CREATE2 salt (overrides vanity) |

### Pool Configuration

Defaults to WETH pair with Standard positions if omitted.

```typescript
pool: {
  pairedToken: 'WETH',           // or a specific token address
  tickIfToken0IsClanker: -230400, // starting tick
  tickSpacing: 200,
  positions: POOL_POSITIONS.Standard,
}
```

Pool position presets (POOL_POSITIONS):
- Standard — single full-range position (simplest)
- Project — 5 positions for better liquidity distribution
- TwentyETH — starts at ~20 ETH market cap

For custom paired tokens (not WETH), pass the token address directly:

```typescript
import { WBNB_ADDRESS, BSC_USDT_ADDRESS } from 'clanker-sdk';

pool: { pairedToken: BSC_USDT_ADDRESS }
```

### Fee Configuration

Use presets from FEE_CONFIGS:

```typescript
fees: FEE_CONFIGS.StaticBasic   // 1% flat fee on both tokens
fees: FEE_CONFIGS.DynamicBasic  // 1-5% volatility-based
fees: FEE_CONFIGS.Dynamic3      // 1-3% volatility-based
```

Or define custom fees:

```typescript
// Static
fees: { type: 'static', clankerFee: 100, pairedFee: 100 }

// Dynamic
fees: {
  type: 'dynamic',
  baseFee: 100,
  maxFee: 500,
  referenceTickFilterPeriod: 30,
  resetPeriod: 120,
  resetTickFilter: 200,
  feeControlNumerator: 500000000,
  decayFilterBps: 7500,
}
```

Monad only supports static fees.

### Sniper Fees (MEV Protection)

Default enabled on v4.1+ chains. Units are "uniBps" (bps * 100).

```typescript
sniperFees: {
  startingFee: 666_777,  // 66.6777%
  endingFee: 41_673,     // 4.1673%
  secondsToDecay: 15,
}
```

### Vault (Token Vesting)

Lock a percentage of supply with optional linear vesting.

```typescript
vault: {
  percentage: 10,              // 0-90% of supply
  lockupDuration: 2592000,     // minimum 7 days (in seconds)
  vestingDuration: 2592000,    // linear vesting after lockup
  recipient: account.address,  // defaults to tokenAdmin
}
```

### Dev Buy

Buy tokens in the same deployment transaction.

```typescript
devBuy: {
  ethAmount: 0.01,              // ETH to spend
  recipient: account.address,   // defaults to tokenAdmin
}
```

### Rewards

Split LP fee rewards among recipients. Must sum to 10000 bps (100%).

```typescript
rewards: {
  recipients: [
    { admin: addr1, recipient: addr1, bps: 5000, token: 'Both' },
    { admin: addr2, recipient: addr2, bps: 5000, token: 'Paired' },
  ],
}
```

Token options: 'Both', 'Paired', 'Clanker'.
If rewards is omitted, 100% goes to tokenAdmin.

### Airdrop

Distribute tokens via Merkle tree with lockup.

```typescript
import { createAirdrop } from 'clanker-sdk/v4/extensions';

const { tree, airdrop } = createAirdrop([
  { account: '0x...', amount: 200_000_000 },
  { account: '0x...', amount: 50_000_000 },
]);

// In deploy config:
airdrop: {
  ...airdrop,
  lockupDuration: 86_400,   // minimum 1 day (in seconds)
  vestingDuration: 86_400,
}
```

After deploy, register with registerAirdrop(tokenAddress, tree) so users can claim via the Clanker service.

### Presale

```typescript
presale: { bps: 2000 }  // 20% of supply allocated to presale
```

Deploy via presale extension functions: startPresale, buyIntoPresale, endPresale, claimTokens.

### Context (Social Provenance)

```typescript
context: {
  interface: 'My App',
  platform: 'farcaster',
  messageId: '0x...',
  id: '12345',
}
```

## Post-Deployment Operations

### Claim Rewards

```typescript
const { txHash, error } = await clanker.claimRewards({
  token: '0x...',
  rewardRecipient: '0x...',
});
```

### Check Available Rewards

```typescript
const rewards = await clanker.availableRewards({
  token: '0x...',
  rewardRecipient: '0x...',
});
```

### Claim Vaulted Tokens

```typescript
const { txHash, error } = await clanker.claimVaultedTokens({ token: '0x...' });
```

### Update Token Image

```typescript
await clanker.updateImage({ token: '0x...', newImage: 'ipfs://...' });
```

### Update Token Metadata

```typescript
await clanker.updateMetadata({
  token: '0x...',
  metadata: { description: 'Updated description' },
});
```

### Update Reward Recipient / Admin

```typescript
await clanker.updateRewardRecipient({ token: '0x...', rewardIndex: 0, newRecipient: '0x...' });
await clanker.updateRewardAdmin({ token: '0x...', rewardIndex: 0, newAdmin: '0x...' });
```

## Error Handling Pattern

All SDK methods return { txHash?, error?, waitForTransaction? }. Always check error:

```typescript
const { txHash, waitForTransaction, error } = await clanker.deploy(config);
if (error) {
  console.error(error.message);
  throw error;
}
const { address, error: txError } = await waitForTransaction();
if (txError) throw txError;
```

## Environment Variables

| Variable | Required | Description |
|----------|----------|-------------|
| `PRIVATE_KEY` | Yes | Wallet private key (0x-prefixed) |
| `RPC_URL` | No | Custom RPC endpoint |

## Additional Resources

- For full examples, see the examples/v4/ directory in the clanker-sdk repo
- For presale lifecycle, see examples/v4/presale/
- For V3 (legacy), import from clanker-sdk/v3