Documentation
How GitPaid works
A pump.fun launchpad where a coin's creator fees belong to a GitHub username and wait in a vault only that user can open. No wallet, no login, nothing for the developer to do.
Overview
GitPaid changes one thing about a pump.fun coin: who the creator fees are for.
- 1
Trade
Someone buys or sells on pump.fun
- 2
Creator fee
The fee-sharing config sends 100% on
- 3
Coin's vault
GitPaid pushes it forward
- 4
GitHub vault
Keyed by the GitHub id
- 5
@name
Withdraws on pump.fun
Anyone can launch a coin through GitPaid and name a GitHub user. The coin is an ordinary pump.fun coin: same curve, same trading, same graduation. Every trade pays a creator fee, and pump.fun's own fee-sharing program turns it into SOL waiting in a vault only that GitHub user can open. The vault is pump.fun's: sign in there with GitHub and withdraw to any wallet.
The developer never connects a wallet to receive, never logs into GitPaid and never holds a token. If they do nothing at all, the SOL still waits.
Launching
Four steps, two signatures. Nothing is charged until you sign.
- 1
Name the developer
Type a username or paste a profile link; it is normalised to@nameand looked up on GitHub. Organisations are refused: only a person can sign in to withdraw. The numeric id is what the vault is keyed by, so a later rename changes nothing. - 2
Describe the coin
Name, ticker, image, and an optional website (defaults to the developer's page on GitPaid). The image is squared and resized in your browser and pinned through pump.fun's IPFS endpoint, so it looks the same on pump.fun and here. - 3
Optional first buy
Up to 10 SOL, in the same transaction as the create, so you are the first holder. - 4
Sign
Your wallet signs two transactions together:create_v2with you as creator (plus the buy); and a fee-share transaction that calls pump.fun's fee program (createFeeSharingConfig+updateFeeShares, andcreateSocialFeePdaif the developer has never had a vault) to hand 100% of creator rewards to the GitHub vault. Create and fee-share cannot travel in one transaction: together they exceed Solana's 1,232-byte limit.
Where the fees go
pump.fun pays creator fees to whoever its fee-sharing config names. We set that config, and we read it back.
Every GitPaid launch creates the coin's fee-sharing config and sets a single shareholder at 100%: the social fee PDA for the developer's GitHub id, pump.fun's own account for exactly this purpose. From then on the bonding curve's creator field points at the config, which is the same record pump.fun's coin page shows under creator rewards, so what pump.fun displays and what the chain does agree.
- Fee program
pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ- Pump program
6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P- Set by
createFeeSharingConfig · updateFeeShares (10,000 bps)- Config address
- PDA seeded
"sharing-config"+ mint under the fee program - GitHub vault
- PDA seeded
"social-fee-pda"+ GitHub id + platform byte2under the fee program - Verified how
- The coin page reads the bonding curve and the fee-sharing config from chain and checks the GitHub vault is the only shareholder at 100%.
- Can it change?
- The launcher stays the admin of the split unless they revoke it. The coin page reads the config on every visit and shows the current split, so a change is visible at once and the route is marked unverified.
- After graduation
- The same config keeps receiving creator fees from the pump.fun AMM pool; a push consolidates the pool vault first.
Getting paid
Fees settle in SOL. The developer withdraws SOL.
- 1
Fees collect
Every trade pays the creator fee into the coin's vault, a program account nobody holds a key to. - 2
Fees are pushed
Once the vault clears pump.fun's minimum (about 0.001 SOL), GitPaid's worker sends a distribute transaction. The SOL moves from the coin's vault into the GitHub vault; GitPaid pays the network fee and prints a receipt with the signature and the SOL/USD rate at that moment. - 3
The developer withdraws
On pump.fun, signed in with GitHub, to any wallet. The vault records its lifetime claimed figure on chain; when it rises, a claim receipt is written here.
- Fees generated
- Read from the coin's vault on chain: what is waiting there now plus every push seen leaving it, priced in USD
- Routed
- Every push into the GitHub vault, at the SOL price when the receipt was written
- Waiting
- The rest, sitting in the coin's vault until the next push
- Claimed
- The lifetime figure the GitHub vault keeps on chain
- Receipts
- Every push and every claim gets its own numbered receipt on the coin, the profile and Payments
Fee math
Drag the slider. This is the same function the ledger uses.
- Pushed to the vault
- $25.00
- in 125 pushes
- Developer receives
- $25.00
- 100%, claimable on pump.fun
- GitPaid keeps
- $0.00
- and pays the network fee
- Carries over
- $0.00
- until the next push
A push needs the coin's vault to clear pump.fun's minimum, about 0.001 SOL (shown here as $0.20); whatever is under it waits for the next trade. Nothing is rounded away.
- Creator fee rate
- pump.fun's tiered schedule, set by the coin's market cap; the coin's curve carries it
- Developer share
- 100%, fixed by the sharing config
- GitPaid's cut
- None
- Minimum push
- pump.fun's minimum distributable fee, about 0.001 SOL; smaller balances wait
- Withdrawal
- Any amount above the vault rent, on pump.fun, to any wallet
- GitHub
- Not involved in the payout at all; it only vouches for who you are when you sign in
Every figure on the site is the SOL that moved at the price when it moved. Nothing is rounded up, and nothing is taken at any step.
Receipts
Every lamport has a paper trail, even between pushes.
- Push receipt
- One per push: the SOL moved from the coin's vault into the GitHub vault, the USD at that moment, and the transaction.
- Claim receipt
- One per withdrawal seen on chain: the developer's lifetime claimed figure rose, by this much.
- Milestone receipt
- One every $20 of creator fees a developer's coins have generated, so the lifetime figure is documented on the way.
- Status
sentwith a transaction ·queuedwaiting to be sent ·heldwhen something on chain does not add up, with a note
Receipts are numbered, permanent and public. See Payments. Held receipts never count toward a total.
Fees
GitPaid keeps nothing from creator fees.
- pump.fun creator fee
- 100% forwarded to the named developer, in SOL
- GitPaid's cut of creator fees
- None
- Network fees + first buy
- Paid by the launcher, at pump.fun and Solana rates
- Network fee per push
- Paid by GitPaid's crank wallet, about 0.00001 SOL each
- GitPaid token
- There is none. Anything claiming to be one is not ours.
Verify it yourself
Do not take the coin page's word for it. The routing is public on chain.
- 1
Open the coin on Solscan
Find the bonding curve account. Itscreatorfield is the sharing-config PDA, not a wallet. - 2
Open the fee-sharing config
It is owned by pump.fun's fee program. The shareholder list is one entry at 10,000 bps: the GitHub vault, whose address the coin page prints. - 3
Derive the vault yourself
findProgramAddress(["social-fee-pda", "<github id>", [2]], fee program). The GitHub id is on the profile page here and atapi.github.com/users/<login>. - 4
Follow the receipts
Every push receipt links its transaction; the vault balance rises by the amount on the receipt. The vault account storestotal_claimed, which the pump.fun SDK decodes.
The crank wallet is public on Solscan. It pays network fees for pushes and never holds creator fees.