How Donate works
Donate turns a memecoin into a fundraiser. A coin points its creator fees at us, we claim them on chain, sell 80% for dollars and donate it to a GoFundMe campaign. The campaign's organizer never has to sign up, connect a wallet, or know the coin exists.
Contents
- 1Overview
- 2Supported venues
- 3Directing fees
- 4Naming the campaign
- 5The 80/20 split
- 6How claims work
- 7Selling the SOL
- 8Donating on GoFundMe
- 9Donation milestones
- 10The public proof
- 11If you run the campaign
- 12Campaigns that can't be paid
- 13$DONATE and the buyback
- 14Stopping donations
- 15If a token is not registering
- 16What you are trusting
- 17Glossary
1Overview
Donate turns a coin's trading fees into a donation on a real fundraiser. A deployer launches a coin on pump.fun and points its creator fees at the Donate treasury. The coin's description names a GoFundMe campaign, and that campaign is who the fees are for.
Everything between the two is mechanical. Fees accrue as the coin trades, Donate claims them on chain, 80% is sold for dollars and donated on the campaign's GoFundMe page, and 20% buys $DONATE and burns it. Every step is recorded against the claim that produced it, and every donation is published with its proof.
The organizer isn't asked to do anything. There is no account to make and no wallet to connect, so a donation can arrive from a coin they have never heard of. It reaches them the way every other donation does: through GoFundMe.
- 1A coin directs its feesThe deployer points 100% of creator fees at the Donate treasury, permanently. See section 3.
- 2The description names a campaignOne line in the coin's description says which GoFundMe campaign the fees belong to. See section 4.
- 3The coin registers itselfDonate sees the fee direction on chain and lists the coin. There is no approval step.
- 4Fees are claimedAccrued creator fees are claimed on a schedule, and each claim is recorded against its transaction signature.
- 5The campaign gets a donationThe campaign share is sold for dollars and donated on GoFundMe, and the proof is published.
2Supported venues
A coin can direct fees to Donate from a supported launchpad. The venue only changes how fees are directed and how that direction is made permanent. The split, the donation and the public record are the same everywhere.
- pump.fun
- Solana. The first and, for now, only venue. Fees are directed after creation, from fee sharing. $DONATE is issued here.
- Anything else
- Not supported. If that changes it will be listed here first.
3Directing fees
The goal is simple: Donate is the coin's fee recipient, for the whole fee, and that can never be changed.
It has to be the whole fee. With a partial share, the donation we publish would be a fraction of what the coin earned, and nobody looking at the campaign could tell which fraction.
It has to be permanent. A fee direction that can still be edited is a promise that can still be withdrawn — usually right after the coin has used the campaign's name to attract buyers.
On pump.fun
Fees are directed after the coin is created, not during. pump.fun's create form has no fee-recipient field. Fee sharing is a separate screen on the coin where a creator can split fees across up to ten wallets. Add the two Donate wallets there: 80% and 20%, adding up to 100%.
pump.fun lets a sharing config be set once; after that it is locked. That lock is what makes the direction permanent, so check the address and the 100% before you confirm — it can't be fixed afterwards.
- When
- After the coin exists, from its fee sharing screen
- Share
- 100% to Donate: 80% to the donation wallet and 20% to the buyback wallet, split on chain
- What we watch
- The coin's fee sharing config on chain
- Made permanent by
- pump.fun locking the config once it is set
- Treasury address
- Published on the Launch page when launching opens. Never trust one from anywhere else.
When launching opens, the Launch page does both steps for you in one wallet prompt. There is no approval step and no queue: a coin that meets both rules registers on its own.
Directing a coin's creator fees to the Donate treasury means the deployer accepts the Terms.
4Naming the campaign
The campaign that gets the donations is read from the coin's description. Put this line in it, with the campaign's link:
Fees to gofundme.com/f/your-campaign via DonateUse the format exactly, anywhere in the description, and write whatever else you like around it. A description can easily mention several links; “Fees to” and “via Donate” bracket the one that counts, so only one reading is possible.
If the line is missing we fall back to the first gofundme.com/f/ link in the description, and then to the coin's website field. Both work, and neither is as reliable as the line.
- What counts
- A public campaign at gofundme.com/f/<slug>
- What doesn't
- Short links, search pages, team or charity profile pages, other fundraising sites
- Can it be changed later
- No. The first valid campaign a coin registers with is the one it keeps
- Several coins, one campaign
- Fine. Their donations add up on the campaign's page here
The organizer doesn't need to agree or know in advance. You can check any campaign before you launch on the Causes page — what you see there is exactly what Donate reads.
5The 80/20 split
Every claim divides the same way. There is no discretion in it, nothing to negotiate, and no tier that changes it.
- To the campaign
- 80%, sold for dollars and donated on GoFundMe
- Protocol cut
- 20%, spent buying $DONATE and burning it
- To the deployer
- Nothing
- Applied
- Per claim, at claim time
- Fees we add
- None. The 20% is the whole of it
- The one exception
- $DONATE itself doesn't split. All of its own creator fees go to the buyback
Costs that come out of the campaign share along the way — the exchange's fee for selling SOL, and any payment processing on the donation — are shown on each proof, so the number that reaches GoFundMe can be checked against the claim it came from.
6How claims work
Creator fees don't arrive continuously. They accrue as a coin trades and sit there until they are claimed, which Donate does on a schedule rather than on every trade. Claiming per trade would spend more in transaction fees than it collected on a quiet coin.
Each claim is written to the ledger keyed on its own transaction signature. A claim can't be recorded twice, and every dollar donated can be traced back to the on-chain event that produced it. The campaign share and the protocol cut are both computed at that moment, from that claim, and never recalculated.
A claim can fail: chains halt, RPC providers go down, transactions revert. A failed claim creates no obligation and is retried. The fees stay accrued in the meantime and are not lost.
7Selling the SOL
GoFundMe takes dollars, not crypto. So the campaign share is sold for dollars through an exchange. This is the first step that happens off chain, and the first place you are relying on Donate rather than on a contract.
- What is sold
- The campaign share of each claim, in SOL
- Price
- Whatever the market pays when it is sold. Donate doesn't hold SOL to speculate on it
- Recorded
- SOL sold, dollars received, and the exchange fee, per batch
- Timing
- A float of dollars is kept on hand, so a donation doesn't wait for an off-ramp to settle
8Donating on GoFundMe
The dollars are donated on the campaign's own GoFundMe page, the same way anybody donates. That matters for three reasons: the money shows up in the campaign's total, it reaches the organizer through the payout they already set up, and it is covered by GoFundMe's own rules for that campaign.
- Donor name
- Donate, with the coin's ticker — so the organizer and other donors can see where it came from
- GoFundMe tip
- Set to zero. The optional tip to GoFundMe isn't taken from the campaign's money
- Visible
- Publicly, never anonymously
- Message
- A short note linking to the campaign's page on Donate
GoFundMe has no API for donating on someone's behalf, so donations are made by Donate directly. That is a manual or semi-automated step, and it is the reason section 10 exists.
9Donation milestones
Donations land at milestones rather than in a trickle, because a $0.40 donation costs more to process than it is worth and clutters the campaign. A campaign's share builds until it crosses a milestone, and each crossing donates the full balance.
- Milestones
- $5, $10, $20, $50, $100, $250, $500, $1,000, then every $1,000
- Below a milestone
- The balance keeps building. Nothing expires while the campaign is open
- Several coins, one campaign
- They build one balance together and cross milestones together
10The public proof
Every donation is published on the campaign's page here, with the amount, the date, the claims it came from, and a link to the donation on GoFundMe. Most organizers were never asked before a coin named their campaign, so the proof is what they — and anyone holding the coin — can check it against.
If a donation is listed here and you can't find it on the campaign, that is a problem worth raising loudly. The record is designed so that it can be.
11If you run the campaign
If a coin has named your campaign, there is nothing to claim and no form to fill in. Donations arrive on your GoFundMe page like any other, from a donor called Donate.
- 1A coin names your campaignSomebody launches a coin and points its creator fees at your fundraiser.
- 2Fees accrue and are claimedTrading generates creator fees. We claim them on chain on a schedule.
- 380% is donated to youSold for dollars and donated on your GoFundMe page each time the balance crosses a milestone.
- 4The proof is publicYour campaign's page here lists every donation, so you and your supporters can see where it came from.
You are not required to do, acknowledge or agree to anything. Receiving a donation does not make you a customer of Donate or a promoter of the coin that named you, and the coin's holders have no claim on you. How donations are treated for tax is between you and GoFundMe's rules where you live; nothing here is tax advice.
12Campaigns that can't be paid
Any public campaign can be named, and campaigns end. If a donation can't be made — the campaign has closed, stopped accepting donations, been removed, or the organizer has opted out — the campaign share is held instead of donated.
- Held for
- 30 days, in case the campaign reopens
- If it reopens in time
- The held balance is donated as normal
- If it doesn't
- The balance passes to the protocol treasury and funds the $DONATE buyback, the same way the protocol cut does
- Why it's published
- So what happens to unpayable money is a rule, not a decision made case by case
13$DONATE and the buyback
The protocol cut is spent buying $DONATE on the open market and burning it. The protocol buys from the same market as everyone else, at whatever the price is when it buys, and the tokens are sent to a burn address. Both halves are on chain and can be checked by anyone.
$DONATE gates nothing. Holding it doesn't change the split, doesn't change who can launch, and doesn't change which campaigns get paid. It is not a share of anything, it promises no return, and a buyback is not a floor under its price.
14Stopping donations
An organizer can ask Donate to stop. Use the opt-out page from a channel that shows you control the campaign. We honour it within 7 days: the campaign comes off the site, it goes on a do-not-donate list, and we stop claiming the creator fees of coins that name it, leaving those fees unclaimed on chain.
A donation already made is an ordinary GoFundMe donation and is handled under GoFundMe's refund rules. Any balance accrued but not yet donated is treated as in section 12.
15If a token is not registering
Registration is automatic, so a coin that hasn't appeared has failed one of a short list of conditions. In rough order of how often each is the cause:
- Not the whole fee
- The sharing config gives Donate a partial share. It has to be 100%.
- Wrong treasury address
- Fees are directed at an address that isn't the Donate treasury. Check it against the Launch page.
- No campaign in the description
- Nothing in the description is a gofundme.com/f/ link, and the website field isn't one either.
- Campaign can't be read
- The link is private, removed, or not a campaign page. Try it on the Causes page.
- Campaign opted out
- The organizer has asked not to receive donations through Donate.
- Too recent
- The indexer reads the chain on a schedule. A coin created moments ago hasn't been seen yet.
16What you are trusting
It is worth being exact about which parts are enforced by code and which parts are enforced by Donate behaving.
- On chain, checkable by anyone
- That a coin's fees point at the treasury, at 100%, locked. Every claim. Every $DONATE buy and burn.
- Off chain, done by Donate
- Selling the SOL, and making the donation on GoFundMe.
- How you check the off-chain part
- The published proof for each donation, against the campaign's own donor list.
Trading a coin is not a charitable donation by you and isn't tax-deductible. Coins are volatile and can go to zero while the campaign still gets paid. Donate is not affiliated with, endorsed by, or a partner of GoFundMe or pump.fun. The disclosures set this out in full.
17Glossary
- Creator fees
- The fees pump.fun pays to a coin's creator in respect of trading in that coin.
- Fee sharing
- pump.fun's screen for splitting a coin's creator fees across wallets. It is where a coin directs its fees to Donate.
- Treasury
- The Donate wallet a coin's creator fees are directed to.
- Claim
- An on-chain transaction in which Donate collects the creator fees a registered coin has accrued.
- Campaign share
- 80% of a claim. Sold for dollars and donated to the coin's campaign on GoFundMe.
- Protocol cut
- 20% of a claim. Spent buying $DONATE and burning it.
- Off-ramp
- Converting SOL into dollars through an exchange, so it can be donated by card or bank.
- Float
- Dollars Donate keeps on hand so a donation doesn't have to wait for an off-ramp to settle.
- Milestone
- A balance threshold. A campaign's share is donated each time it crosses one.
- Proof
- The public record of one donation: amount, date, campaign, the claims it came from, and a link to it on GoFundMe.
- Held balance
- A campaign share that can't currently be donated, for example because the campaign is closed.
- Slug
- The part of a campaign link after /f/. It is how Donate identifies a campaign.