Highwire is an MCP server for higher.fun. It gives agents 22 hosted tools, of which 3 build transactions you sign in your own wallet, 4 prompts and 2 resources. Everything below is generated from the running server.
Connect
https://highwire.fun/mcp
No sign-in and no key. The server is stateless, never signs, and allows 60 units a minute per IP (a build costs 5). Build tools hand back a link to sign in your own wallet.
Or run MCP: Add Server from the command palette, choose HTTP, and paste the URL above.
ChatGPT and other clients
Any client that takes a remote MCP server: add a server with the URL above and no authentication. In ChatGPT that means turning on developer mode and creating a custom connector.
The same tools on your own computer, with your own RPC and no shared rate limit. The npm package is on its way; until then, build from source:
git clone https://github.com/HigherMaestro/highwire.git
cd highwire && npm install && npm run build
claude mcp add highwire -- node "$PWD/packages/mcp/dist/cli.js"
Signing
Highwire never signs and never holds a key. A build tool returns an unsigned transaction and a sign_url, a link to highwire.fun/sign. Your agent gives you the link; you open it and sign in your own wallet.
The link carries the transaction. It rides in the part after #, which browsers never send to a server, so Highwire never sees it. The page sends nothing to Highwire.
The page checks it again. It decodes every instruction from the transaction itself, not from the link's description, and refuses anything Highwire doesn't build: a program off the allow-list, SOL sent to someone else, another platform, another fee payer.
You see what it does. What you spend and receive, the fees, the fee payer, when it expires, and each transaction in order (a launch with a creator lock has two).
It simulates in your browser, against a Solana RPC called directly, and shows the change to your SOL balance.
Your wallet signs. Connect Phantom, Solflare, Backpack or any Wallet Standard wallet. The page only signs with the fee payer's account, then sends, confirms, and links to Solscan and the coin on higher.fun.
A link expires with its blockhash, about a minute after it was built. If it has expired, ask your agent to build it again; for a launch, the same idempotency_key keeps the same coin, so it can't be created or paid for twice. Every transaction Highwire builds also carries a memo, highwire, so its use can be counted on-chain.
Tools
Amounts come back in SOL, whole tokens and percentages. Prices are SOL per whole token. Coin text written by users is marked and flagged, so agents treat it as data.
List higher.fun coins. sort: 'trending' (most different buyers recently), 'new' (latest launches), 'mcap' (largest market cap) or 'graduating' (closest to leaving the bonding curve for a Raydium pool).
Parameters for list_coins
Parameter
Type
Details
sort
"new" | "trending" | "mcap" | "graduating"
Default "trending".
limit
integer (1–50)
Default 20.
cursor
string (≤512 chars)
Pass nextCursor from the previous page to get the next one.
Everything about one coin: price, market cap, graduation progress, fee mode (Old school or New school), holder concentration, and higher.fun's safety grade with snipers, bundles, dev activity and creator lock.
Parameters for get_coin
Parameter
Type
Details
mint required
Solana address
The coin's mint address (base58). higher.fun mints usually end in 'high'.
Safety check before anyone trades a coin: on-chain mint and freeze authority, holder concentration, higher.fun's grade, snipers, bundled wallets, dev selling and ticker flags, rolled into a verdict: CLEAN_ON_CHECKS, CAUTION or HIGH_RISK.
Parameters for rug_check
Parameter
Type
Details
mint required
Solana address
The coin's mint address (base58). higher.fun mints usually end in 'high'.
How higher.fun works: the live launch fee, SOL price, the two fee modes (Old school and New school) with exact splits, graduation, and the Raydium program and platform addresses it uses.
Quote a buy (by SOL in) or a sell (by tokens in) of a higher.fun coin, wherever it trades now: the LaunchLab bonding curve, or its Raydium CPMM pool after graduation. Returns the expected output, the minimum at the given slippage, price impact, and the fees split by who receives them under the coin's fee mode. Reads only.
Parameters for quote_trade
Parameter
Type
Details
mint required
Solana address
The coin's mint address (base58). higher.fun mints usually end in 'high'.
side required
"buy" | "sell"
buy spends SOL for tokens; sell spends tokens for SOL.
sol
number (…–1000000)
For a buy: SOL to spend.
tokens
number (…–1000000000)
For a sell: whole tokens to sell (supply is 1B).
slippage_bps
integer (0–1500)
Slippage for the minimum out, in bps (100 = 1%). Default 200.
A wallet's SOL balance and its balances in higher.fun coins, each valued at the coin's last price. Coins are recognised on-chain (a LaunchLab pool on higher.fun's platform), so look-alike tokens don't show up.
hostedbuilds a transaction you signreturns a sign link
Build an unsigned buy or sell for the user's own wallet to sign: the same transaction higher.fun's site builds. Quote first with quote_trade and show the user the quote. Set confirm_trade to true only after the user has approved this exact trade (coin, side, amount, slippage). The transaction is checked instruction by instruction, simulated, and returned as base64 with a plain-language summary and a sign_url for the user to review and sign in their own wallet. Highwire never signs and never needs a private key.
Parameters for build_trade
Parameter
Type
Details
wallet required
Solana address
The wallet that will sign and pay (public key only).
mint required
Solana address
The coin's mint address (base58). higher.fun mints usually end in 'high'.
side required
"buy" | "sell"
buy spends SOL for tokens; sell spends tokens for SOL.
sol
number (…–1000000)
For a buy: SOL to spend.
tokens
number (…–1000000000)
For a sell: whole tokens to sell (supply is 1B).
max_slippage_bps required
integer (0–1500)
Slippage tolerance in bps, at most 1500 (15%).
max_sol required
number (…–10)
Cap: a buy may spend at most this much SOL; a sell may return at most this much. At most 10.
confirm_trade required
true
Set to true only after the user approved this exact trade.
hostedbuilds a transaction you signreturns a sign link
Build the unsigned transactions that launch a coin on higher.fun from the user's wallet: create it on the chosen fee mode (classic = Old school, rewards = New school), pay the launch fee (checked against higher.fun's on-chain fee wallet and cap), an optional first buy, and for New school an optional creator lock. Needs metadata_uri: higher.fun's image and metadata upload needs a wallet sign-in Highwire can't do, so without it the tool returns the metadata JSON to host first. Reuse the same idempotency_key on retries: it keeps the same mint, so the coin (and its fee) can only happen once, on any server instance. Set confirm_launch to true only after the user approved the launch, its cost and its fee mode. Returns the transactions and a sign_url for the user's wallet.
Parameters for build_launch
Parameter
Type
Details
wallet required
Solana address
The creator's wallet, which signs and pays (public key only).
name required
string (≤32 chars)
Coin name, up to 32 characters.
ticker required
string
Ticker, 1-10 letters or digits, without the $.
description
string (≤500 chars)
image_url
string (≤200 chars)
https URL of the coin's image, put in the prepared metadata.
metadata_uri
string (≤200 chars)
https URL of the coin's hosted metadata JSON.
website
string (≤200 chars)
x
string (≤200 chars)
https://x.com/... link.
telegram
string (≤200 chars)
https://t.me/... link.
fee_mode required
"classic" | "rewards"
classic: Cheapest. On the curve, no trading fee to the creator or higher.fun, only Raydium's 0.25%. rewards: Creator rewards. The creator earns 0.25% of every trade, plus pool fees after graduation.
creator_lock_pct
integer (1–10)
rewards only: lock this % of supply for the creator (7-day cliff after graduation, then 30 days linear).
dev_buy_sol
number (0–10)
SOL for the creator's first buy, in the same transaction. At most 10.
max_slippage_bps
integer (0–1500)
Slippage for the first buy, in bps. Default 500.
idempotency_key required
string (≤128 chars)
A unique, unguessable key for this coin (a random UUID). Reuse it on retries: it fixes the coin's mint address.
confirm_launch required
true
Set to true only after the user approved this launch.
hostedbuilds a transaction you signreturns a sign link
Show what a creator can claim and build the unsigned claim transactions: curve creator fees (New school coins, one vault across all the creator's coins) and, after graduation, each coin's Raydium CPMM pool creator fee. A New school creator's third of the locked-LP fees is paid by higher.fun off-chain; that is reported, not claimed. Returns a sign_url for the user's wallet when there is something to claim.
Parameters for build_claim_creator_fees
Parameter
Type
Details
wallet required
Solana address
The creator's wallet, which signs (public key only).
Prompts
Ready-made workflows your client can offer as slash commands or templates.
scan_launches· Scan new launches
Find the most promising new and trending higher.fun coins, safety-checked.
Arguments: focus (optional): Optional theme, e.g. 'AI', 'cats', 'graduating soon'
coin_due_diligence· Coin due diligence
A full report on one coin: safety, holders, trading, creator history.
Arguments: mint (required): The coin's mint address
creator_report· Creator report
What a wallet has launched on higher.fun and how it went.
Arguments: wallet (required): The creator's wallet address
plan_launch· Plan a launch
Plan a coin launch on higher.fun: ticker, fee mode, costs and checklist.
Arguments: idea (optional): The coin idea, name or ticker
Resources
higher://platform
Fee modes, launch fee and program addresses
higher://coins/{mint}
One coin's detail, by mint address
Recipes
Things to ask your agent, and the tools it will reach for.
Find coins worth a look
“Find three coins close to graduating on higher.fun and rug-check them.”
list_coins (sort: graduating, trending or new)
rug_check on the best few
get_coin for the survivors
Or run the scan_launches prompt.
Vet one coin
“Is $TICKER on higher.fun safe? Check holders, trades and the creator.”
get_coin and rug_check
get_coin_holders, ignoring the labelled curve, pool and lock
get_coin_trades and get_coin_candles
get_wallet_profile on the creator
get_coin_comments for scams and sentiment
Or run the coin_due_diligence prompt.
Check a creator
“What else has this wallet launched on higher.fun, and how did it go?”
get_wallet_profile
get_creator_coins
get_coin on their recent coins
Or run the creator_report prompt.
Plan a launch
“Help me plan a higher.fun launch for a cat coin. Old school or New school?”
get_platform_info for the fee modes and launch fee
check_ticker for each idea
build_launch once you approve
Or run the plan_launch prompt.
Buy a coin
“Buy 0.1 SOL of $TICKER on higher.fun for my wallet <address>, with 2% slippage.”
rug_check and quote_trade, shown to you
build_trade after you approve
you open sign_url and sign in your wallet
Or run the coin_due_diligence prompt.
Limits and errors
The hosted server at https://highwire.fun/mcp speaks stateless Streamable HTTP: POST JSON-RPC, get JSON back. GET returns 405.
Each IP gets 60 units a minute: a build tool call costs 5, anything else 1. For heavy use, run it locally and point SOLANA_RPC_URL at your own RPC.
A failed call comes back with isError set and a JSON body of error, code and, when there's a fix, next_step.
Error codes
Code
Meaning
not_found
Unknown mint, wallet or coin. Check the address, or use search_coins.
bad_request
A parameter was out of range or the wrong shape. The message says which.
rate_limited
Too many requests. Wait a few seconds, then retry once.
simulation_failed
The built transaction would fail on-chain: usually too little SOL or tokens, or the price moved. Quote again.
unsafe_transaction
A safety check on the built transaction failed. Nothing to sign; please report it.
unavailable
higher.fun or the Solana RPC didn't answer. Retry later.
internal_error
Something unexpected. Please open an issue on GitHub.
Troubleshooting
Claude added Highwire but doesn't use it.
Connectors are off per chat by default. Open + → Connectors and turn Highwire on.
Opening the URL in a browser shows an error.
That's expected. The endpoint only answers MCP clients, which POST to it.
I get rate_limited.
You used the minute's 60 units (a build costs 5). Wait a moment, or run the server locally.
The sign page says the link has expired.
Links last about a minute. Ask your agent to build the transaction again and open the new link straight away.
The sign page doesn't list my wallet.
Unlock the wallet extension and reload. On a phone, open the link in your wallet app's own browser.
rug_check reports an RPC timeout.
The on-chain check uses a public Solana RPC, which is sometimes busy. The rest of the check still runs. Locally, set SOLANA_RPC_URL to your own RPC.
Prices look tiny.
They're SOL per whole token. New coins often trade at a few millionths of a SOL each.