How LoLPaid works
A pump.fun launchpad where a coin's creator fees belong to a League of Legends player. The fees are credited to the player's Riot account, and the player proves it with a profile icon to withdraw them in SOL.
Overview
LoLPaid changes one thing about a pump.fun coin: who the creator fees are for.
Every trade on the curve pays a creator fee. pump.fun's fee sharing sends all of it to the LoLPaid treasury; the ledger credits exactly what arrived to the player the coin was launched for, and prints a numbered receipt.
Anyone can launch a coin through LoLPaid and name a League player by Riot ID. The coin is an ordinary pump.fun coin: same curve, same trading, same graduation. What is different is where the creator fees end up: a balance in the player's name, withdrawable in SOL once they prove the account.
pump.fun's fee sharing can pay a wallet, but it has no vault for League players. So every coin names one shareholder, the LoLPaid treasury, and LoLPaid keeps a public ledger of which player each lamport belongs to. The player does not need to know about the coin. If they never show up, the balance simply waits.
Launching
Four steps, two signatures. Nothing is charged until you sign.
Type the Riot ID, Name#TAG, or paste an op.gg or u.gg link. The Riot API resolves it to the account's permanent id (PUUID) before anything is built, so a Riot ID that does not exist, or has never played League, cannot be launched for. The balance is keyed by that id: a rename later moves nothing. Check the tag before you launch.
Name, ticker, image, and an optional website (defaults to the player's page here). The image is squared and resized in your browser and pinned through pump.fun's IPFS endpoint. The coin's description on pump.fun names the player's Riot ID, so the promise is pinned on IPFS with the coin.
Up to 10 SOL, in the same transaction as the create, so you are the first holder.
Your wallet signs two transactions together: create_v2 with you as creator (plus the buy), and a fee sharing transaction that calls pump.fun's fee program (createFeeSharingConfig and updateFeeShares) to hand 100% of creator rewards to the LoLPaid treasury. They cannot travel in one transaction: together they exceed Solana's 1,232 byte limit.
The server checks your bytes before relaying them. Both transactions are built here and remembered. What comes back from the wallet is accepted only if its message is byte for byte the one that was built. A wallet may add signatures and nothing else. The coin is listed once the create has confirmed; if the fee sharing step fails, the coin page says so in red and the fees stay with the launcher until a config exists.
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 LoLPaid launch creates the coin's fee sharing config and sets a single shareholder at 100%: the LoLPaid treasury. 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. Which player the fees are for is written in the coin's metadata and in the ledger here.
- Fee program
- pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ
- Pump program
- 6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
- Treasury
- A7gZeMUjxr4BHcFJdqMW9YvaimmxUULvjX2HiUBQkzZf
- Set by
- createFeeSharingConfig · updateFeeShares (10,000 bps)
- Config address
- PDA seeded "sharing-config" and the mint, under the fee program
- Player
- Named by Riot ID in the coin's pump.fun description, pinned on IPFS at launch
- Verified how
- The coin page reads the bonding curve and the fee sharing config from chain and checks the treasury is the only shareholder at 100%. Fees are only pushed for coins that pass.
- Can it change?
- No. pump.fun's fee program lets the split be set once; updateFeeShares revokes the admin as it runs. The coin page reads the config on every visit and shows the current split.
- After graduation
- The same config keeps receiving creator fees from the pump.fun AMM pool.
Getting paid
Fees settle in SOL. The player withdraws SOL.
Every trade pays the creator fee into the coin's vault, a pump.fun program account nobody holds a key to.
Once the vault clears pump.fun's minimum (about 0.001 SOL), LoLPaid's crank sends a distribute transaction that moves the SOL into the treasury. The ledger reads the treasury's own balance change and credits exactly what arrived to the player, with a receipt carrying the transaction and the SOL/USD rate at that moment.
On the claim page. LoLPaid asks for one of the 29 classic profile icons every account owns; the player sets it in the League client; LoLPaid reads the account's icon through Riot's public API. No password, no login, nothing written to the account. Once it matches, the account is signed in here for 30 days.
Paste or connect any Solana wallet and take the whole balance in one go. The smallest withdrawal is 0.005 SOL, and LoLPaid pays the network fee, so the full amount arrives. Every withdrawal gets a claim receipt.
Pushes are not on a timer. The crank looks every couple of minutes and pushes whatever has cleared the minimum. Every coin page shows what is waiting in its vault, every profile shows what is claimable, and every push prints a receipt with the transaction, so nothing depends on a promise about timing.
- Fees generated
- What is waiting in the coin's vault now plus every push credited from it, priced in USD
- Routed
- Every push credited to the player, at the SOL price when the receipt was written
- Waiting
- The rest, sitting in the coin's vault until the next push
- Claimable
- Everything credited to the player, less everything withdrawn or being withdrawn
- Claimed
- Every withdrawal sent to the player's wallet
- Receipts
- Every push and every withdrawal gets its own numbered receipt on the coin, the profile and Payments
Who holds the SOL
Between a push and a withdrawal, the LoLPaid treasury does.
LoLPaid is custodial. pump.fun has no vault a League player can open, so credited fees sit in the treasury, a plain Solana wallet whose key the LoLPaid server holds, until the player withdraws them. You are trusting LoLPaid to keep that SOL and pay it out.
What keeps that honest is that everything is public. The treasury address is printed above, and every push into it and every withdrawal out of it is a numbered receipt with its transaction. Add up the claimable balances and compare them with the treasury on Solscan whenever you like.
- Held by
- The LoLPaid treasury wallet
- Held for
- The player the coin was launched for, by Riot account
- Balance
- Worked out from the receipts every time, never typed in
- Double spends
- A withdrawal locks its amount in the ledger before anything is sent, so two clicks cannot pay twice
- Unclaimed
- Waits in the treasury until the player shows up. There is no expiry.
Fee math
The same arithmetic the ledger uses, with $25 of creator fees as the example.
- Creator fees generated
- $25.00
- Pushed to the treasury
- $25.00 in as many pushes as trades cleared the minimum
- Player is credited
- $25.00 100%, withdrawable in SOL
- LoLPaid keeps
- $0.00 and pays the network fee
- Carries over
- whatever is under the minimum, until the next push
- Creator fee rate
- pump.fun's tiered schedule, set by the coin's market cap; the coin's curve carries it
- Player share
- 100%, fixed by the sharing config and credited by the ledger
- LoLPaid's cut
- None
- Minimum push
- pump.fun's minimum distributable fee, about 0.001 SOL; smaller amounts wait
- Withdrawal
- The whole balance, from 0.005 SOL, to any Solana wallet
- Riot Games
- Not involved in the payout at all; its public API only vouches for which icon an account wears
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 treasury and credited to the player, the USD at that moment, and the transaction.
- Claim receipt
- One per withdrawal: the SOL sent from the treasury to the wallet the player chose, and the transaction.
- Milestone receipt
- One every $20 of creator fees a player's coins have generated, so the lifetime figure is documented on the way.
- Numbering
- In order, starting at LP-000001
- Status
- sent with a transaction · queued waiting to be sent · held when 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
LoLPaid keeps nothing from creator fees.
- pump.fun creator fee
- 100% credited to the named player, in SOL
- LoLPaid's cut of creator fees
- None
- Network fees and first buy
- Paid by the launcher, at pump.fun and Solana rates
- Network fee per push
- Paid by LoLPaid's crank wallet
- Network fee per withdrawal
- Paid by LoLPaid's crank wallet, so the player gets the full amount
Verify it yourself
Do not take the coin page's word for it. The routing is public on chain.
Find the bonding curve account. Its creator field is the sharing config PDA, not a wallet.
It is owned by pump.fun's fee program. The shareholder list is one entry at 10,000 bps: the LoLPaid treasury, A7gZeMUjxr4BHcFJdqMW9YvaimmxUULvjX2HiUBQkzZf.
The coin's description on pump.fun, pinned on IPFS at launch, names the player by Riot ID. The same Riot ID is on the player's page here, with a link to their stats on op.gg.
Every push receipt links its transaction: the treasury balance rises by the amount on the receipt. Every claim receipt links the transfer from the treasury to the player's wallet.
The crank wallet is public on Solscan. It pays network fees for pushes and withdrawals and never holds creator fees.
FAQ
Can I launch for any League player?
Any Riot ID that exists and has played League of Legends. The balance is keyed by the account's permanent id, so a rename later changes nothing.
Does the player have to know about the coin?
No. The fees are credited to their account whether or not they have heard of pump.fun. The balance waits until they show up.
Can the player claim on pump.fun?
No. On pump.fun the creator rewards go to the LoLPaid treasury. The player withdraws here, on the claim page, after proving the Riot ID.
Why a profile icon and not a Riot login?
Riot Sign On is only granted to approved applications. The icon check works today, with Riot's public API, and proves the same thing: whoever controls the account can change its icon. Nothing about the account is written or stored beyond the id, the Riot ID and the icon.
Is my Riot account safe?
LoLPaid never asks for a password or a login. It reads the public profile icon through Riot's API, the same data op.gg shows.
Is this RP?
No. Payouts are SOL on Solana, sent to a Solana wallet. They are not RP or Blue Essence and cannot be spent in the League store.
Can the launcher take the fees back?
No. pump.fun's fee program locks the split when updateFeeShares runs, and the coin page reads the config on every visit. If a coin's config ever stops naming the treasury at 100%, the route is marked unverified and nothing is pushed from it.
Why two signatures?
Because the create and the fee sharing do not fit in one Solana transaction. The first buy rides with the create.
Does LoLPaid hold any money?
Yes. Credited fees wait in the treasury until the player withdraws them. See Who holds the SOL above.
Is this made by Riot Games?
LoLPaid is an independent project, not affiliated with or endorsed by Riot Games, Inc. League of Legends and Riot Games are trademarks of Riot Games, Inc.