streme-launcher

Launch tokens on Streme (streme.fun) - the streaming token platform on Base. Use when deploying SuperTokens with built-in staking rewards, Uniswap V3 liquidity, and optional vesting vaults. Triggers on "launch token on streme", "deploy streme token", "create supertoken", or any Streme token deployment task.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "streme-launcher" with this command: npx skills add clawrencestreme/streme-launcher

Streme Token Launcher

Deploy SuperTokens on Base via Streme's V2 contracts. Tokens include automatic Uniswap V3 liquidity, Superfluid streaming staking rewards, and optional vesting vaults.

Quick Start

import { createWalletClient, http, parseEther, encodeAbiParameters } from 'viem';
import { base } from 'viem/chains';
import { privateKeyToAccount } from 'viem/accounts';

// See references/contracts.md for full ABIs
const DEPLOYER = '0x8712F62B3A2EeBA956508e17335368272f162748';

const tokenConfig = {
  _name: 'My Token',
  _symbol: 'MYTOKEN',
  _supply: parseEther('100000000000'), // 100B
  _fee: 10000, // 10%
  _salt: '0x0...', // from generateSalt()
  _deployer: walletAddress,
  _fid: 0n, // Farcaster FID or 0
  _image: 'https://example.com/image.png',
  _castHash: 'deployment',
  _poolConfig: {
    tick: -230400,
    pairedToken: '0x4200000000000000000000000000000000000006', // WETH
    devBuyFee: 10000
  }
};

// Deploy with 10% staking (1 day lock, 365 day stream)
const stakingAlloc = createStakingAllocation(10, 1, 365);
await deployWithAllocations(tokenConfig, [stakingAlloc]);

Contract Addresses (Base Mainnet)

ContractAddress
STREME_PUBLIC_DEPLOYER_V20x8712F62B3A2EeBA956508e17335368272f162748
STREME_SUPER_TOKEN_FACTORY0xB973FDd29c99da91CAb7152EF2e82090507A1ce9
STREME_ALLOCATION_HOOK0xC907788f3e71a6eC916ba76A9f1a7C7C19384c7B
LP_FACTORY0xfF65a5f74798EebF87C8FdFc4e56a71B511aB5C8
MAIN_STREME (for salt)0x5797a398fe34260f81be65908da364cc18fbc360
WETH (Base)0x4200000000000000000000000000000000000006

Deployment Flow

  1. Generate Salt - Call generateSalt() to get deterministic token address
  2. Upload Image - Host token image (see Image Hosting below)
  3. Build Config - Create tokenConfig and allocations
  4. Deploy - Call deployWithAllocations()

Image Hosting

Token images must be publicly accessible URLs. Options:

IPFS (Recommended)

// Using Pinata
const pinata = new PinataSDK({ pinataJwt: PINATA_JWT });
const { IpfsHash } = await pinata.pinFileToIPFS(fileStream);
const imageUrl = `https://gateway.pinata.cloud/ipfs/${IpfsHash}`;

Cloudinary

import { v2 as cloudinary } from 'cloudinary';

const result = await cloudinary.uploader.upload(imagePath, {
  folder: 'tokens',
  transformation: [{ width: 400, height: 400, crop: 'fill' }]
});
const imageUrl = result.secure_url;

Direct URL

Any publicly accessible image URL works:

const imageUrl = 'https://example.com/my-token.png';

Requirements

  • Format: PNG, JPG, GIF, WebP
  • Size: < 5MB (< 1MB recommended)
  • Dimensions: Square preferred (400x400 ideal)

Upload Script

# IPFS via Pinata
PINATA_JWT=xxx npx ts-node scripts/upload-image.ts pinata ./token.png

# Cloudinary
CLOUDINARY_CLOUD_NAME=xxx CLOUDINARY_API_KEY=xxx CLOUDINARY_API_SECRET=xxx \
  npx ts-node scripts/upload-image.ts cloudinary ./token.png

# imgBB (free)
npx ts-node scripts/upload-image.ts imgbb ./token.png

Allocations

Staking Allocation (Type 1)

Streams tokens to stakers over time.

function createStakingAllocation(
  percentage: number,    // % of supply (e.g., 10)
  lockDays: number,      // min stake duration
  flowDays: number,      // reward stream duration
  delegate?: string      // optional admin address
) {
  const lockSec = lockDays * 86400;
  const flowSec = flowDays * 86400;
  
  return {
    allocationType: 1,
    admin: delegate || '0x0000000000000000000000000000000000000000',
    percentage: BigInt(percentage),
    data: encodeAbiParameters(
      [{ type: 'uint256' }, { type: 'int96' }],
      [BigInt(lockSec), BigInt(flowSec)]
    )
  };
}

Vault Allocation (Type 0)

Locked tokens with optional vesting.

function createVaultAllocation(
  percentage: number,     // % of supply
  beneficiary: string,    // recipient address
  lockDays: number,       // lockup (min 7 days)
  vestingDays: number     // vesting after lock
) {
  const lockSec = Math.max(lockDays, 7) * 86400;
  const vestSec = vestingDays * 86400;
  
  return {
    allocationType: 0,
    admin: beneficiary,
    percentage: BigInt(percentage),
    data: encodeAbiParameters(
      [{ type: 'uint256' }, { type: 'uint256' }],
      [BigInt(lockSec), BigInt(vestSec)]
    )
  };
}

Allocation Rules

  • Staking + Vault percentages must be ≤100%
  • Remaining % goes to Uniswap V3 LP
  • Vault lock minimum: 7 days
  • Standard config: 10% staking, 90% LP

Token Config Defaults

ParameterValue
Supply100,000,000,000 (100B)
Creator Fee10000 (10%)
Dev Buy Fee10000 (10%)
Tick-230400
Paired TokenWETH

API Endpoints

# Get tokens by deployer
GET https://api.streme.fun/api/tokens/deployer/{address}

# Search all tokens
GET https://api.streme.fun/api/tokens

# Token details
GET https://api.streme.fun/api/tokens/{address}

Full Implementation

See scripts/deploy-token.ts for complete deployment script.

See references/contracts.md for full ABIs and type definitions.

Common Patterns

Standard Launch (10% staking)

const allocations = [createStakingAllocation(10, 1, 365)];

With Team Vault (10% staking + 10% vested)

const allocations = [
  createStakingAllocation(10, 1, 365),
  createVaultAllocation(10, teamAddress, 30, 365)
];

Max Liquidity (no allocations)

const allocations = [];
// 100% goes to Uniswap V3 LP

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

Monolith — Crypto Wallet

Secure crypto wallet for AI agents. Hardware-isolated keys (Apple Secure Enclave), ERC-4337 smart wallet, on-chain spending caps, default-deny policy engine.

Registry SourceRecently Updated
4495
Profile unavailable
Web3

Litcoin

Mine LITCOIN — a proof-of-comprehension and proof-of-research cryptocurrency on Base. Use when the user wants to mine crypto with AI, earn tokens through rea...

Registry SourceRecently Updated
1199
Profile unavailable
Web3

vultisig-sdk

Use this skill when an agent needs to create crypto wallets, send transactions, swap tokens, check balances, or perform any on-chain operation across 36+ blockchains using threshold signatures (TSS). Vultisig SDK provides self-custodial MPC vaults — no seed phrases, no single point of failure. Fast Vaults (2-of-2 with VultiServer) enable fully autonomous agent operations without human approval.

Registry SourceRecently Updated
21.3K
Profile unavailable