$BUTT CAE87am2UxtaotZmMDLb2wpd8xke8DskH8zHcPmeovpump
Buttpad

Documentation

Everything Buttpad does, described in full. It is shorter than it looks, because Buttpad does not do much. The parts that matter are the parts that touch your wallet, and those are covered carefully.

01Overview

Buttpad is a web interface for creating tokens on pump.fun. It collects the same information pump.fun asks for, builds the creation transaction, and passes it to your wallet to sign. When your wallet approves, the token exists on Solana and is tradable on pump.fun immediately.

There are two things about Buttpad that differ from launching on pump.fun directly.

  1. The creator fees of every token launched here are assigned to Buttpad's wallet, not to yours. This is done at creation time and cannot be changed afterwards.
  2. Buttpad does nothing with those fees. It has no mechanism for spending, distributing or recycling them.

Tokens launched on Buttpad do nothing. The fees go nowhere. There is no flywheel. This launchpad is useless. The rest of this document explains how that is implemented.

02The launch flow

A launch has five steps. You are involved in three of them.

  1. You fill in the form.

    Name, ticker, description and an image are required. Website, X and Telegram links are optional, as is an initial buy. A live preview shows the card pump.fun will render.

  2. You confirm.

    A dialog states that the token does nothing and that its fees go only to Buttpad. It links to the terms. You tick "I understand". Without that, nothing is built, and the server refuses requests that lack the acknowledgement.

  3. Buttpad prepares the transaction.

    The image and a metadata JSON file are uploaded to IPFS. A fresh mint keypair is generated. A transaction is assembled containing pump.fun's create instruction (and a buy instruction if you chose an initial buy), with your wallet as payer and Buttpad's wallet as creator. The mint keypair signs its part. The mint's secret key is discarded; it is never stored.

  4. You sign.

    The partially signed transaction is handed to Phantom. Phantom shows you the accounts and effects. You approve or decline. Buttpad never sees your private key.

  5. Buttpad relays and confirms.

    The signed transaction is returned to the server, which verifies it is byte-identical to what it prepared, checks every signature, and sends it to the network. Once confirmed, the result page links to the token on pump.fun.

On mobile, step four involves leaving the browser for the Phantom app and coming back. The launch state is stored locally so the page resumes automatically. See Wallets.

03Wallets

Buttpad supports Phantom. The token is always created from the connected wallet. There is no fallback where Buttpad deploys on your behalf.

Desktop

With the Phantom browser extension installed, the site talks to the injected provider using its standard connect and sign methods. The provider is detected by its own identifier, so an unrelated extension that imitates the interface is ignored. Connection is remembered by Phantom, not by Buttpad, and can be revoked from within Phantom at any time.

Mobile, inside Phantom

Phantom's mobile app includes a browser. Opening Buttpad inside it gives the same injected experience as desktop: connect, review, sign, done. This is the recommended path on a phone. The connect button on mobile offers to open the site in Phantom for you.

Mobile, in a regular browser

If you prefer to stay in Safari or Chrome, Buttpad uses Phantom's deep link protocol. It works like this:

  • Buttpad generates a temporary encryption keypair in your browser and stores it locally.
  • You are sent to the Phantom app with Buttpad's public key and a return address.
  • Phantom returns you to Buttpad with its own public key and an encrypted payload containing your wallet address. Both sides now hold a shared secret that only they know.
  • When you launch, the prepared transaction is encrypted with that secret and you are sent to Phantom again. Phantom decrypts it, shows it to you, and if you approve, returns the signed transaction encrypted the same way.
  • Buttpad decrypts it, relays it to the network, and shows the result.

Buttpad uses the sign-transaction request rather than sign-and-send. Phantom recommends this, and it means the server can verify the transaction before anything is broadcast. The session secret lives only in your browser's local storage and is cleared on disconnect.

04Token details

The fields map directly onto what pump.fun stores and displays.

Name
Up to 32 characters. Stored on-chain in the token's metadata account.
Ticker
Up to 10 characters, letters and numbers, uppercased automatically. Stored on-chain. Displayed with a leading dollar sign on pump.fun.
Description
Up to 600 characters. Stored in the off-chain metadata file, shown on the coin page.
Image
PNG, JPG, GIF or WEBP, up to 5 MB. Square images look best. Uploaded to IPFS and referenced from the metadata file.
Links
Website, X and Telegram. Optional. Normalised to https URLs and included in the metadata file, where pump.fun reads them.

Names and tickers are not unique on pump.fun. Two tokens can share a name. The mint address is the only identifier that matters.

05Initial buy

You may buy some of your own token in the creation transaction. Enter an amount in SOL. Buttpad quotes the expected token amount from the current bonding curve parameters and includes a buy instruction with slippage tolerance. Because you are the first buyer, the price is the curve's starting price.

The initial buy is optional and defaults to zero. The maximum accepted is 85 SOL, which is roughly the amount a pump.fun curve absorbs before graduating. Buying the entire curve in the creation transaction is not a use case Buttpad is designed for.

Like all trades on pump.fun, the initial buy pays pump.fun's trading fee and the creator fee. The creator fee on your own initial buy goes to Buttpad.

06What you pay

Every cost of a launch is paid by you, from your wallet, in the one transaction you sign.

  • pump.fun creation cost. Set by pump.fun and paid to pump.fun. It covers account rent for the mint, the bonding curve, the metadata account and the associated token accounts, plus pump.fun's own creation fee.
  • Network fee. The Solana base fee plus a modest priority fee so the transaction lands in a reasonable time. Buttpad estimates the priority fee from recent network conditions and caps it.
  • Initial buy. Whatever you entered, plus the trading fee on it. Zero if left blank.

Buttpad does not add a charge of its own, does not take a cut of the creation cost, and does not hold your SOL at any point. Before building the transaction, Buttpad checks that the wallet holds enough to cover the estimated total, so you get a clear message instead of a failed simulation.

07Creator fees

pump.fun pays a portion of every trade to the token's creator. On the bonding curve, this accrues in a per-creator vault inside the pump program. After a token graduates to PumpSwap, trading continues to pay a creator fee, which accrues in a vault inside the AMM program. The creator claims from both vaults at will.

The creator is recorded when the token is created. pump.fun's create instruction takes the creator as a separate argument from the account that pays for and signs the transaction. It does not have to be the same address, and it does not have to sign.

Buttpad uses that. Your wallet is the payer and signer. Buttpad's fee wallet is the creator. From the first trade onward, the creator share of every buy and sell of your token accrues to Buttpad.

The current fee wallet is C3ksdCST...XJDvaP2b. It is set by the operator and is shown in the preview before every launch.

This assignment is permanent for the token. There is no instruction to change a token's creator after creation, and Buttpad does not use pump.fun's fee sharing configuration, so there are no secondary recipients.

08Where the fees go

They accrue in the vaults described above and, when claimed, sit in the fee wallet.

That is the complete description. To be explicit about what is not happening:

  • No portion is returned to the person who launched the token.
  • No portion is distributed to holders of any token.
  • No portion is used to buy back or burn any token.
  • No portion funds marketing, listings, liquidity, development grants or partnerships.
  • No portion is pledged, locked, staked or committed to any future programme.

Launchpads usually describe a loop in which fees feed activity, which feeds fees. Buttpad has the first half of that sentence.

09The payments page

The payments page does not report a total. Fees, utility and flywheels are listed as zero. The page also lists every confirmed launch.

10Security model

The wallet flow is designed so that Buttpad is never in a position to misuse it, even if it wanted to.

What the server holds

  • The fee wallet's public address. Not its key. Buttpad never signs anything as the fee wallet.
  • A record of each launch: mint address, launcher address, metadata, a hash of the prepared transaction message, and its status.
  • Nothing about your wallet beyond its public address.

What the server never holds

  • Your private key or seed phrase. Signing happens in Phantom.
  • The mint's secret key beyond the lifetime of a single request. It signs the prepared transaction and is dropped.
  • Custody of any SOL or tokens. Every account in the transaction belongs to you or to pump.fun.

Verification before relay

When your signed transaction returns, the server recomputes the hash of its message and compares it with the hash stored at preparation. If a single byte differs, it is rejected. It then verifies that the mint signature is present and valid and that your wallet's signature is present and valid. Only then is the transaction sent. This means the relay endpoint cannot be used to broadcast arbitrary transactions, and a prepared transaction cannot be altered between your review and the network.

Libraries

Buttpad builds instructions with pump.fun's published SDK, handles Solana primitives with the official web3 library, and implements the mobile deep link protocol as specified by Phantom, using the NaCl implementation Phantom's own documentation uses. No custom cryptography.

What you should still check

Read the transaction in Phantom before approving. It should show a token creation on pump.fun, SOL leaving your wallet for the creation cost and any initial buy, and nothing else. If it shows anything you did not expect, decline it.

11Metadata and storage

pump.fun reads a token's image, description and links from a JSON file referenced by the on-chain metadata URI. Buttpad uploads your image and then a JSON file in the shape pump.fun expects, containing the name, symbol, description, image URI, links and a marker that the token was created for pump.fun.

Uploads go to IPFS. Content on IPFS is addressed by its hash, so the file cannot be altered after the fact without changing the URI, and the URI is fixed on-chain at creation. Once a token is created, its metadata is effectively permanent and public.

Buttpad does not host the metadata itself. If you need a copy, the URI is visible on the token's result page and in the on-chain metadata account.

12Limits

Limits exist to keep the service usable and to avoid accidental spam. They are not features.

  • Field limits as listed under Token details. They follow the pump program's own constraints.
  • A cap on how many launches a wallet may prepare per hour, and a cap per network address.
  • Prepared transactions expire when their blockhash does, roughly a minute. Sign promptly.
  • One image per token. No animation preview, no video.

13When something fails

You declined in Phantom
Nothing was sent and nothing was charged. The launch record is left as prepared and can be ignored.
The transaction expired
Solana transactions reference a recent blockhash and are only valid for a short window. If you took too long to sign, the server marks the launch expired and asks you to start again. Nothing was charged.
Not enough SOL
Buttpad checks before building. If the balance changed in between, the network rejects the transaction and you see a clear error. Nothing was charged.
Metadata upload failed
The storage service was unavailable. Try again in a moment. Nothing was built or charged.
The transaction landed but failed
Rare, but possible if network state changed between simulation and execution. The network fee for the failed transaction is consumed and cannot be refunded by anyone. The token was not created. You can try again.
Confirmation is slow
The result page polls until the transaction is confirmed or dropped. If your connection was interrupted you can return to the page by its mint address and it will pick up.

14What is not included

For the avoidance of doubt, Buttpad does not provide:

  • Fee sharing, revenue sharing or payouts of any kind.
  • Token utility, staking, governance, access gating or rewards.
  • Marketing, listings, promotion or featured placement.
  • Liquidity provision, market making or price support.
  • Custody, recovery or support for lost keys.
  • Investment, legal or tax advice.
  • Any commitment to keep running.

If a token launched through Buttpad does something, it is because people decided to do something with it. Buttpad had no part in that and takes no credit.

15Public API

The site is driven by a small JSON API. It is public and read endpoints can be used freely.

MethodPathDescription
GET/api/launchesConfirmed launches, newest first. Accepts ?limit=.
GET/api/launch/:mintA single launch by mint address or internal id, with live status.
GET/api/paymentsLaunch counts. Fees are not reported.
GET/api/configPublic configuration, including the site's contract address if one is set.
GET/api/healthLiveness check.
POST/api/launch/prepareUsed by the launch form. Multipart. Requires the acknowledgement flag and a wallet address.
POST/api/launch/submitUsed by the launch form. Relays a signed transaction that matches a prepared launch.

All responses carry Cache-Control: no-store. Rate limits apply to the write endpoints.

16Glossary

Bonding curve
The pricing mechanism pump.fun uses for new tokens. Price rises as supply is bought. When enough SOL has been raised the token graduates to a regular liquidity pool.
Creator
The address pump.fun records as the token's creator and pays creator fees to. On Buttpad, this is Buttpad's wallet.
Creator vault
A program-owned account where a creator's unclaimed fees accumulate until claimed.
Graduation
The point at which a token leaves the bonding curve and begins trading on PumpSwap.
Mint
The on-chain address that identifies a token. Generated fresh for each launch.
Payer
The account that funds a transaction and signs it. On Buttpad, this is always your wallet.
PumpSwap
pump.fun's AMM, where graduated tokens trade.
Flywheel
A mechanism in which fees are used to drive activity that produces more fees. Buttpad does not have one.

If something in these docs is wrong or out of date, it will be corrected. That is the only maintenance promise Buttpad makes.