Skip to content
/ POLT Public

Twitter bot that launches tokens on Pump.fun via pumpmolt

Notifications You must be signed in to change notification settings

PlaydaDev/POLT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

       ██████╗  ██████╗ ██╗  ████████╗
       ██╔══██╗██╔═══██╗██║  ╚══██╔══╝
       ██████╔╝██║   ██║██║     ██║
       ██╔═══╝ ██║   ██║██║     ██║
       ██║     ╚██████╔╝███████╗██║
       ╚═╝      ╚═════╝ ╚══════╝╚═╝
          Pump.fun Token Launcher

POLT

A Twitter bot that launches tokens on Pump.fun via pumpmolt. Users tweet at the bot with a token name, ticker, and description — POLT parses the request, applies rate limiting, launches the token on Solana with zero dev buy, and replies with the token link.

How It Works

  1. Someone tweets at @pumpmolt with a launch request
  2. The bot picks it up on the next poll cycle (every 30s)
  3. Checks if the user already launched a token in the last 48h
  4. Parses the token name, ticker, and description
  5. Launches the token on Pump.fun with zero dev buy
  6. Replies with the Pump.fun link, transaction explorer link, and mint address

Tweet Format

Labeled format (recommended)

@pumpmolt launch
Name: Cosmic Cat
Ticker: CCAT
Description: The cosmic cat of the galaxy

Inline format

@pumpmolt launch "Cosmic Cat" CCAT "The cosmic cat of the galaxy"

Attach an image

Attach an image to your tweet and it will be used as the token's profile picture.

Validation rules

  • Name: max 32 characters
  • Ticker: max 10 characters, automatically uppercased
  • Description: required
  • Rate limit: 1 launch per user per 48 hours (configurable)

Project Structure

File Purpose
src/config.ts Loads environment variables and validates configuration
src/parser.ts Parses tweets to extract token name, ticker, and description
src/ratelimit.ts Per-account 48h rate limiting, persisted to ratelimit.json
src/twitter.ts Hybrid Twitter client — reads via twitterapi.io, writes via official X API
src/launcher.ts Calls pumpmolt's launchToken() with devBuyAmountSol: 0
src/index.ts Main loop — polls mentions, parses, rate-checks, launches, replies

Architecture

POLT uses a hybrid Twitter client:

  • Reading mentions: twitterapi.io — cheap third-party API, only needs an API key
  • Posting replies: Official X API via twitter-api-v2 — uses OAuth 1.0a tokens, free tier supports posting

This avoids the $100/month X API Basic tier cost for reading mentions while still being able to post replies through the free official API.

Setup

Prerequisites

  • Node.js >= 22.0.0
  • twitterapi.io account — for reading mentions (sign up)
  • X Developer account — for posting replies (developer.x.com), free tier works
  • Solana wallet — with SOL for transaction fees
  • pumpmolt — the token launch library (must be available as a local or npm dependency)

Installation

git clone https://github.com/YOUR_USERNAME/POLT.git
cd POLT
npm install

Configuration

Copy the example environment file and fill in your credentials:

cp .env.example .env

Edit .env with your values:

# twitterapi.io API key (for reading mentions)
TWITTERAPI_IO_KEY=your_twitterapi_io_key

# The bot's Twitter username (without @)
TWITTER_BOT_USERNAME=pumpmolt

# Official X API credentials (for posting replies)
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET=your_api_secret
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_SECRET=your_access_secret

# Solana private key (base58 encoded)
SOLANA_PRIVATE_KEY=your_solana_private_key

Getting your credentials

twitterapi.io key:

  1. Sign up at twitterapi.io
  2. Copy your API key from the dashboard

X API OAuth tokens:

  1. Create an app at developer.x.com
  2. Under User authentication settings, set permissions to Read and Write
  3. Go to Keys and Tokens
  4. Copy Consumer KeyTWITTER_API_KEY
  5. Copy Consumer SecretTWITTER_API_SECRET
  6. Generate Access Token and Secret (under OAuth 1.0) → TWITTER_ACCESS_TOKEN and TWITTER_ACCESS_SECRET
  7. The Access Token should start with your user ID (e.g., 1234567890-...)

Important: Generate the Access Token after setting Read and Write permissions. Permissions are baked into the token at generation time.

Solana private key:

  • Export from Phantom, Solflare, or generate with solana-keygen new
  • Must be base58 encoded
  • The wallet needs SOL for transaction fees

Optional settings

# Custom Solana RPC URL (default: mainnet-beta)
SOLANA_RPC_URL=https://api.mainnet-beta.solana.com

# Wallet for creator fees (pump.fun sets creator to the signing wallet)
CREATOR_FEE_WALLET=

# Polling interval in seconds (default: 30)
POLL_INTERVAL_SECONDS=30

# Rate limit window in hours (default: 48)
RATE_LIMIT_HOURS=48

Build & Run

npm run build
npm start

On Windows PowerShell, use ; instead of &&:

npm run build; npm start

For development with auto-recompilation:

npm run dev

What you should see

       ██████╗  ██████╗ ██╗  ████████╗
       ██╔══██╗██╔═══██╗██║  ╚══██╔══╝
       ██████╔╝██║   ██║██║     ██║
       ██╔═══╝ ██║   ██║██║     ██║
       ██║     ╚██████╔╝███████╗██║
       ╚═╝      ╚═════╝ ╚══════╝╚═╝
          Pump.fun Token Launcher
       ═══════════════════════════

Bot authenticated as @pumpmolt (ID: ...)
Official X API client ready for write operations.
Polling interval: 30s
Rate limit: 1 launch per 48h per account
Bot is running. Press Ctrl+C to stop.

Bot Behavior

On a valid launch request

  1. Replies: "Launching $TICKER (Name) on Pump.fun... Stand by."
  2. Launches the token via pumpmolt with zero dev buy
  3. On success, replies with the Pump.fun URL, transaction link, and mint address
  4. Records the launch for rate limiting

On a malformed request

Replies with an error message explaining the expected format.

On rate limit hit

Replies: "You can only launch one token every 48h. Please wait Xh Ym before trying again."

Rate limiting

  • One token launch per user per 48 hours (configurable via RATE_LIMIT_HOURS)
  • Persisted to ratelimit.json — survives bot restarts
  • Expired entries are cleaned up every hour

Security Notes

  • Never commit your .env file — it's gitignored by default
  • All secrets are loaded from environment variables, never hardcoded
  • The bot enforces devBuyAmountSol: 0 — it never buys its own tokens
  • Creator fees go to the wallet whose SOLANA_PRIVATE_KEY you provide

License

MIT

About

Twitter bot that launches tokens on Pump.fun via pumpmolt

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •