Install the "create-coin" agent skill from https://github.com/nirholas/three.ws/tree/main/pump-fun-skills/create-coin into .claude/skills/create-coin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-coin", then confirm the skill loads.
Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Type this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
skills CLI
$ npx skills add nirholas/three.ws --skill create-coin -a codex
Project install goes to .agents/skills/; add -g for ~/.codex/skills/.
Install the "create-coin" agent skill from https://github.com/nirholas/three.ws/tree/main/pump-fun-skills/create-coin into .agents/skills/create-coin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-coin", then confirm the skill loads.
Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add nirholas/three.ws --skill create-coin -a cursor
Project install goes to .agents/skills/; add -g for ~/.cursor/skills/.
Install the "create-coin" agent skill from https://github.com/nirholas/three.ws/tree/main/pump-fun-skills/create-coin into .cursor/skills/create-coin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-coin", then confirm the skill loads.
Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
skills CLI
$ npx skills add nirholas/three.ws --skill create-coin -a gemini-cli
Project install goes to .agents/skills/; add -g for ~/.gemini/skills/.
Install the "create-coin" agent skill from https://github.com/nirholas/three.ws/tree/main/pump-fun-skills/create-coin into .gemini/skills/create-coin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-coin", then confirm the skill loads.
Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
GitHub CLI
$ gh skill install nirholas/three.ws create-coin
Installs for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
skills CLI
$ npx skills add nirholas/three.ws --skill create-coin -a github-copilot
Project install goes to .agents/skills/; add -g for ~/.copilot/skills/.
Install the "create-coin" agent skill from https://github.com/nirholas/three.ws/tree/main/pump-fun-skills/create-coin into .github/skills/create-coin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-coin", then confirm the skill loads.
GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
skills CLI
$ npx skills add nirholas/three.ws --skill create-coin -a opencode
OpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
Install the "create-coin" agent skill from https://github.com/nirholas/three.ws/tree/main/pump-fun-skills/create-coin into .opencode/skills/create-coin/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "create-coin", then confirm the skill loads.
OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
Facts
Skill name
create-coin
GitHub stars
227
Token cost
~4.7k tokens
SKILL.md length
1,578 words
Files
20 (incl. scripts, references)
Skills in repo
92
Repo updated
First seen
Licence
Apache-2.0
At a glance
Create coins on pump.fun — standard create with initial buy.
Works in 5 steps: Confirm coin name, symbol, metadata URI,… → Use POST /agents/create-coin to build… → Deserialize with @solana/web3.js… → …
SKILL.md covers API (preferred) —…, Runnable examples (Node…, Safety Rules and Program IDs, plus 10 more sections
Runs JavaScript scripts from its folder; calls npm and node; reaches ipfs.io and rpc.solanatracker.io
What it does
Create Coin is an agent skill from nirholas/three.ws. Create coins on pump.fun — standard create with initial buy. Prefer runnable Node scripts in this skill folder; use @pump-fun/pump-sdk for custom integrations.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 22 other files, including scripts and reference files (for example `README.md`, `handlers.js` and `manifest.json`).
The repository describes itself as: Open-source platform for 3D AI agents. Turn text or a photo into a rigged, animated GLB avatar, give it an LLM brain, memory and a wallet, and embed it anywhere with one web… The licence is Apache-2.0.
Example prompts
“/create-coin”
Requirements
Node.js
Workflow steps
5 steps, taken from the first numbered list in SKILL.md.
1Confirm coin name, symbol, metadata URI, signer wallet, and initial buy amount; set SOLANA_RPC_URL. Ask about mayhem mode, tokenized agent…
2Use POST /agents/create-coin to build the transaction. Only use build-create-coin-tx.mjs if the user explicitly requests scripts; capture…
3Deserialize with @solana/web3.js VersionedTransaction.deserialize, have user sign (and co-sign create tx).
4Send the transaction: If frontRunnerProtection is true in the script output JSON, send only to Jito endpoints (see "Transaction assembly…
5Keep mint-keypair-out secure; it is required for any mint-authority operations later.
What it can do on your machine
Read from SKILL.md and the folder at commit ddf6e49. It shows what the files ask for, not the result of running them.
Tool permissions
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Runs code
Ships 10 files in scripts/ (JavaScript, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
npm
node
From the folder's file list and the shell code blocks in SKILL.md.
Network
Hosts in commands or code, which the agent is likely to contact:
ipfs.io
rpc.solanatracker.io
fun-block.pump.fun
api.mainnet-beta.solana.com
rpc.ankr.com
frontend-api-v3.pump.fun
mainnet.block-engine.jito.wtf
amsterdam.mainnet.block-engine.jito.wtf
frankfurt.mainnet.block-engine.jito.wtf
ny.mainnet.block-engine.jito.wtf
tokyo.mainnet.block-engine.jito.wtf
Also links to:
docs.openclaw.ai
raw.githubusercontent.com
From URLs in SKILL.md, links to its own repository left out.
Credentials
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Context cost
Create Coin loads about 4.7k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 43 tokens; SKILL.md has 1,578 words of instructions outside code blocks.
Always· name and description, kept in context so the agent knows when to use it
~43
When it runs· the whole SKILL.md, loaded when a task matches
~4.7k
With references· SKILL.md plus every file in references/, read only if the agent opens them
~6k
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
Safety
Auto-check passed
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
Download SKILL.mdSave it as .claude/skills/create-coin/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub.
name
create-coin
description
Create coins on pump.fun — standard create with initial buy. Prefer runnable Node scripts in this skill folder; use @pump-fun/pump-sdk for custom integrations.
metadata.author
pump-fun
metadata.version
1.0
Before Starting Work Critical - Ask these from user
MANDATORY — Do NOT write or modify any code until every item below is answered by the user:
RPC URL provided or a fallback agreed upon (for any on-chain or tx-building step)
Coin name, symbol, and metadata URI (or plan to upload) confirmed — see references/METADATA.md
Initial buy amount confirmed (SOL in lamports)
Holder rewards desired? (default off; creator fees go to holders permanently, script path only)
Mayhem mode desired? (default off)
Tokenized agent desired? (default off), If Yes then with what Buyback percentage.
Front-runner protection desired? If yes, confirm tip amount (default 0.0001 SOL). Transactions will be sent only to Jito block engine endpoints.
You MUST ask the user for ALL unchecked items in your very first response. Do not assume defaults. Do not proceed until the user has explicitly answered each one.
API (preferred) — https://fun-block.pump.fun
Use the API to build transactions instead of running scripts directly. The API handles account resolution, compute budget, and partial signing automatically.
POST /agents/create-coin
Builds a create + initial buy transaction. The server generates a mint keypair and partial-signs with it. The client wallet co-signs and submits.
Only user, name, symbol, uri, and solLamports are required. All other fields are optional with sensible defaults.
Pump SDK 2: new cashback coins can no longer be created (create_v2 fails with 6082 CashbackDeprecated), so never send "cashback": true; the cashback field in the response is always false. This hosted endpoint does not encode holder-reward launches yet. For a holder-reward coin, build locally with scripts/build-create-coin-tx.mjs --holder-reward.
tipAmount is a Jito tip in SOL (e.g. 0.0001 for 100,000 lamports). Only relevant when frontRunningProtection is true.
Encoding: The API defaults to "base58" encoding. Always pass "encoding": "base64" in the request body — scripts already output base64. When sending the signed transaction to an RPC or Jito endpoint, the encoding used to serialize the transaction must match the encoding parameter passed in the send call. Mismatched encodings will cause transaction failures. Always explicitly pass encoding: "base64" in sendTransaction / simulateTransaction RPC calls — never rely on the RPC's default.
Run any script with --help for full flags (--mayhem-mode, --holder-reward, --tokenized-agent, --buyback-bps, --compute-units, --priority-micro-lamports, --front-runner-protection, --tip-sol, etc.).
Tx builders print one JSON object on stdout with transaction (base64-encoded VersionedTransaction, partially signed when the mint keypair is used on create). Never pass end-user private keys into these scripts.
OpenClaw: If YAML metadata ever fails to parse, collapse metadata to a single-line JSON object per OpenClaw skills; optional metadata.openclaw.requires.env: ["SOLANA_RPC_URL"] can gate load-time eligibility.
NEVER log, print, or return private keys or secret key material.
NEVER sign transactions on behalf of a user — scripts build txs; the user (or their wallet) co-signs and sends.
Always validate that amounts are > 0 before building instructions.
Use the correct decimal precision: 9 decimals for SOL (1 SOL = 1,000,000,000 lamports), 6 decimals for pump tokens.
NEVER trust token_program from the HTTP API (coins-v2). Always fetch the mint account on-chain via connection.getAccountInfo(mint) and use .owner to determine the correct token program (SPL Token or Token-2022).
Verify imports: use @pump-fun/pump-sdk (not internal monorepo paths). In TypeScript apps, BN from bn.js matches what the SDKs expect (Anchor BN is the same type in practice).
The default public mainnet RPC (https://api.mainnet-beta.solana.com) often cannot send transactions. Confirm an HTTPS RPC with the user. Examples: Solana Tracker public RPC, Ankr https://rpc.ankr.com/solana.
Check npm info @pump-fun/pump-sdk dependencies and align @solana/web3.js / @solana/spl-token versions to avoid duplicate incompatible copies.
SDK setup (minimal)
typescript
import { PUMP_SDK, OnlinePumpSdk } from "@pump-fun/pump-sdk";
import { Connection } from "@solana/web3.js";
const connection = new Connection(process.env.SOLANA_RPC_URL!);
const onlinePump = new OnlinePumpSdk(connection);
Full transaction building (compute budget, blockhash, partial sign) is implemented in scripts/lib/tx-build.mjs and scripts/lib/compute.mjs.
three.ws brand mark (3ws…)
Coins created through this skill's launch script are stamped with the three.ws brand mark: the mint address always starts with 3ws (case-insensitive). scripts/build-create-coin-tx.mjs does not call a bare Keypair.generate() — it grinds a vanity keypair whose Base58 address carries the mark before partial-signing the create transaction. This gives a scripted/CLI launch the same on-chain brand provenance as a launch from the three.ws web UI: anyone can see, straight from the mint address, that the coin originated from three.ws.
Which path carries the mark: the local script (build-create-coin-tx.mjs) grinds the mint locally, so it always carries the mark. The hosted POST /agents/create-coin builder mints on pump.fun's side and is outside our control — use the script path when brand provenance is required.
The grind for a 3-character case-insensitive prefix clears in well under a minute; progress is logged to stderr so stdout stays clean JSON for the caller.
The mark string lives in one local constant — scripts/lib/vanity.mjs (THREE_WS_MARK), which mirrors the canonical src/solana/vanity/brand.js in the three.ws repo. Never hardcode 3ws anywhere else in this package.
The response JSON includes a brandMark field ("3ws") alongside mintPublicKey for confirmation.
This is brand plumbing on the mint address only — it does not name, add, or reference any token. The only coin this platform discusses is $THREE (FeMbDoX7R1Psc4GEcvJdsbNbZA3bfztcyDCatJVJpump); all examples and fixtures stay on it.
Show full SKILL.md (642 more words)Show less
Create a coin
Default:POST /agents/create-coin (see API section above)
Script (only when user explicitly requests):scripts/build-create-coin-tx.mjs — grinds a 3ws… marked mint (see above)
New mint (vanity keypair ground to the 3ws… brand mark)
name
string
Coin name
symbol
string
Ticker
uri
string
Metadata JSON URL
creator
PublicKey
Creator
user
PublicKey
Payer (often same as creator)
amount
BN
Token amount to buy (6 decimals)
solAmount
BN
SOL for initial buy (lamports)
mayhemMode
boolean
Configurable via --mayhem-mode flag (default: false)
holderReward
boolean
Script only (--holder-reward): creator fees accrue to holderRewardsPda(mint) and are paid to holders via distribute_fee_to_holders. Permanent. Needs Global.isHolderRewardEnabled (6084).
cashback
boolean
Retired in Pump SDK 2: new cashback coins fail with 6082. Always false
When --tokenized-agent is enabled, an additional PumpAgentOffline.load(mint).create(...) instruction (from @three-ws/agent-payments) is appended after the create+buy instructions. The --buyback-bps flag controls the agent buyback percentage in basis points (default: 5000 = 50%). Tokenized agent coins must have an initial buy > 0 SOL.
Token amount for the initial buy is derived with getBuyTokenAmountFromSolAmount (mintSupply: null, bondingCurve: null).
Compute units and priority fees
Defaults match the pump.fun app constants (see scripts/lib/constants.mjs in this skill):
Operation
Default compute units
Create + buy
270_000 + 120_000 = 390_000
Create + buy + tokenized agent
270_000 + 120_000 + 30_000 = 420_000
Scripts accept --compute-units to override. When --tokenized-agent is enabled, 30,000 extra units are added automatically.
Priority fee: If --priority-micro-lamports is omitted, scripts call Solana JSON-RPC getPriorityFeeEstimate on a draft serialized transaction (with a 100k microlamport floor and an upper cap — see scripts/lib/compute.mjs), matching the pattern in useFrontendCreateCoin. Many RPCs support this; if not, the floor is used.
Transaction assembly and send
After the user wallet signs, choose the send path based on whether frontRunnerProtection is true in the script output JSON.
When the transaction was built with --front-runner-protection, it already contains a Jito tip instruction. Send it only to Jito block engine endpoints — do not send via connection.sendRawTransaction or any other RPC, as that would leak the transaction to the public mempool and defeat the protection.
typescript
import { sendTransactionToJito } from "./lib/jito.mjs";
const txBase64 = Buffer.from(signedTransaction.serialize()).toString("base64");
const result = await sendTransactionToJito(txBase64);
Then confirm as usual with connection.confirmTransaction.
Get coin data (HTTP)
GET https://frontend-api-v3.pump.fun/coins-v2/{mint}
CORS-protected:frontend-api-v3.pump.fun does not allow browser-origin requests. When building a web application, always call this endpoint from your backend/server and proxy the result to the frontend. Do not call it directly from client-side JavaScript.
NEVER trust token_program from the HTTP API. The coins-v2 endpoint may return a stale or incorrect token_program. Always resolve it on-chain by fetching the mint account and reading its owner:
RPC errors — rate limits, missing getPriorityFeeEstimate, or send blocked; try another RPC; pass --priority-micro-lamports explicitly.
End-to-end flow
Confirm coin name, symbol, metadata URI, signer wallet, and initial buy amount; set SOLANA_RPC_URL. Ask about mayhem mode, tokenized agent (with buyback percentage), holder rewards, and front-runner protection preferences.
Use POST /agents/create-coin to build the transaction. Only use build-create-coin-tx.mjs if the user explicitly requests scripts; capture transaction. Holder rewards require the script path. Add --mayhem-mode, --tokenized-agent --buyback-bps <BPS>, --holder-reward, and/or --front-runner-protection (with optional --tip-sol) as needed.
Deserialize with @solana/web3.jsVersionedTransaction.deserialize, have user sign (and co-sign create tx).
Send the transaction: If frontRunnerProtection is true in the script output JSON, send only to Jito endpoints (see "Transaction assembly and send" above). Otherwise use sendRawTransaction + confirmTransaction.
Keep mint-keypair-out secure; it is required for any mint-authority operations later.
Create Coin next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
Add the Shaders WebGPU mouse effect used for the Tidal Commons hero: a white twinkling halftone cursor trail driven by ChromaFlow, masked through a DotGrid, finished with chromatic ripples and film…
Package a finished local project into an intentional GitHub repository, create a strong README and visual preview, push it safely, configure a public GitHub Pages URL when the project is compatible…
Write, rewrite, review, or continuously refine X/Twitter posts in Meng To's current voice using his deduplicated authored-post corpus, personal and product context, shared resources, and Content…
Create coins on pump.fun — standard create with initial buy. ws.fun — standard create with initial buy.
How do I install Create Coin in Claude Code?
Run `npx skills add nirholas/three.ws --skill create-coin -a claude-code`. Or copy the skill folder (pump-fun-skills/create-coin in nirholas/three.ws) into .claude/skills/create-coin in your project. Claude Code loads it when a task matches its description.
How do I install Create Coin in Codex?
Run `npx skills add nirholas/three.ws --skill create-coin -a codex`. Or copy the skill folder (pump-fun-skills/create-coin in nirholas/three.ws) into .agents/skills/create-coin in your project. Codex loads it when a task matches its description.
Can I use Create Coin in Cursor, Gemini CLI or GitHub Copilot?
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nirholas/three.ws --skill create-coin -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-coin, .gemini/skills/create-coin, .github/skills/create-coin and .opencode/skills/create-coin in your project.
What does Create Coin need to run?
Going by SKILL.md and its folder, Create Coin needs JavaScript for the scripts in its folder and the command-line tools its instructions call (npm and node). Our summary lists: Node.js.
Does Create Coin access the network?
SKILL.md names 13 domains. In commands or code: ipfs.io, rpc.solanatracker.io, fun-block.pump.fun, api.mainnet-beta.solana.com, rpc.ankr.com, frontend-api-v3.pump.fun, mainnet.block-engine.jito.wtf, amsterdam.mainnet.block-engine.jito.wtf, frankfurt.mainnet.block-engine.jito.wtf, ny.mainnet.block-engine.jito.wtf and tokyo.mainnet.block-engine.jito.wtf; the agent is likely to contact these when it follows the instructions. As links in the text: docs.openclaw.ai and raw.githubusercontent.com. This is read from the text; nothing was executed.
Is Create Coin safe to install?
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
What licence does Create Coin use?
Create Coin is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
How many tokens does Create Coin use?
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.
What are the alternatives to Create Coin?
Skills that share tags, products or a category with Create Coin: Pump Fun (majiayu000/claude-skill-registry, 666 stars), Telemetry Standards (supabase/supabase, 111k stars), Cpp Coding Standards (affaan-m/ECC, 275k stars) and Java Coding Standards (affaan-m/ECC, 275k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Who maintains Create Coin?
nirholas (a GitHub user) maintains it in nirholas/three.ws, which has 227 GitHub stars. The repository holds 92 skills in this directory. The repository was last updated on October 8, 2026.
Source: nirholas/three.ws on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.