README.mdHow GitPaid works

How GitPaid works

Overview

GitPaid is a bridge between pump.fun creator fees and GitHub developers. A deployer launches a token and directs 100% of its creator fees to our treasury. The token's description names a GitHub user. As the token trades, fees accrue, we collect them on-chain, and 80% is credited to that developer, who signs in with GitHub and claims in SOL. The other 20% buys our token and burns it.

Nobody has to sign up to be named, and there is no approval queue. Registration is automatic once the on-chain setup is right.

Directing fees

Two rules, both absolute:

  • It must be the whole fee. The treasury is the only shareholder in the token's fee sharing config, at 100%.
  • It must be permanent. pump.fun locks a fee sharing config the moment its shareholders are set, so this happens automatically.

The launch page does both for you. If you launch elsewhere, set the fee sharing config yourself to this treasury address:

GFWmHHmd7EAxqwmxhpvcieEFqm9qDh53oSUYfziwdLCf

Directing a token's creator fees to the treasury means you accept the terms.

Naming the developer

The token description must contain this line, exactly:

+ Fees to github.com/username via GitPaid

The wording brackets the username so only one reading is possible. If the line is missing we fall back to the first github.com link in the description, which is less reliable. Only personal accounts can be paid, not organizations or repositories.

We store the developer by their permanent GitHub account id, not their username, so a rename cannot redirect anyone's money.

The 80/20 split

Every collection is split the same way at the moment it is recorded: 80% to the developer, 20% to the protocol. There are no tiers and no discretion. Network fees for collecting and paying out come out of the protocol's 20%, never the developer's share. We add no other fees.

The one exception is our own token: all of its creator fees go to buyback and burn.

How fees are collected

Fees accrue in the token's creator vault on pump.fun as it trades. On a schedule we call pump.fun's distribute instruction, which moves the vault to the treasury. Each collection is recorded by its transaction signature, so it can never be counted twice. Anyone can trigger a distribution on-chain; we record it the same way no matter who did.

Every stage is public on the capital flow page.

Getting your fees

If you have a public GitHub Sponsors profile that accepts one-time sponsorships, you do not have to do anything. Once your balance is worth at least $5 we sponsor you through GitHub Sponsors with a private one-time payment for the whole-dollar value of your balance. It arrives through the account already connected to your Sponsors profile, on GitHub's usual schedule. The fractional remainder stays in your balance for next time.

Otherwise, or if you prefer SOL:

  1. Sign in with GitHub. We read your public profile only.
  2. Save the Solana wallet you want to be paid to.
  3. Claim. Your whole balance is sent in one transfer.

Saving a wallet switches you to wallet claims; you can pick either rail explicitly from your dashboard. You can claim any time your balance is at least 0.002 SOL. There are no milestones and balances never expire. Being paid does not make you a customer of GitPaid or a promoter of the token that named you. We do not issue tax documents; how you treat a payout is up to you.

Buyback and burn

The protocol's share, after network fees, buys our token on the open market at the prevailing price and burns it in the same transaction. Both halves are on-chain. Holding the token gates nothing: it does not change the split, who can launch, or who gets paid.

Stopping payments

Most developers were not asked before a token named them. If you want out, use the opt-out page. Within 7 days your profile comes off the site, your account goes on a do-not-pay list, and we stop collecting fees for tokens that name you.

If a token is not registering

In order of how often each happens:

  1. The treasury gets a partial share. It must be 100%.
  2. The fee sharing config was never set, or is still editable.
  3. Fees point at an address that is not our treasury.
  4. The description names no GitHub user.
  5. It is simply too recent. The indexer runs every minute.
Check a token