Docs

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.

Launching isn't open yet
These docs describe how Donate works once launching opens. Until then nothing is being claimed or donated, and no treasury address has been published. Anything claiming otherwise is not us.
Contents
  1. 1Overview
  2. 2Supported venues
  3. 3Directing fees
  4. 4Naming the campaign
  5. 5The 80/20 split
  6. 6How claims work
  7. 7Selling the SOL
  8. 8Donating on GoFundMe
  9. 9Donation milestones
  10. 10The public proof
  11. 11If you run the campaign
  12. 12Campaigns that can't be paid
  13. 13$DONATE and the buyback
  14. 14Stopping donations
  15. 15If a token is not registering
  16. 16What you are trusting
  17. 17Glossary
80%20%automaticpump.fun1% creator feeFees claimedSOL soldfor dollarsDonated onGoFundMeShows up in thecampaign total$DONATE bought backand burnt

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.

  1. 1
    A coin directs its fees
    The deployer points 100% of creator fees at the Donate treasury, permanently. See section 3.
  2. 2
    The description names a campaign
    One line in the coin's description says which GoFundMe campaign the fees belong to. See section 4.
  3. 3
    The coin registers itself
    Donate sees the fee direction on chain and lists the coin. There is no approval step.
  4. 4
    Fees are claimed
    Accrued creator fees are claimed on a schedule, and each claim is recorded against its transaction signature.
  5. 5
    The campaign gets a donation
    The 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 Donate

Use 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.

  1. 1
    A coin names your campaign
    Somebody launches a coin and points its creator fees at your fundraiser.
  2. 2
    Fees accrue and are claimed
    Trading generates creator fees. We claim them on chain on a schedule.
  3. 3
    80% is donated to you
    Sold for dollars and donated on your GoFundMe page each time the balance crosses a milestone.
  4. 4
    The proof is public
    Your 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

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.