[04] // DOCS

HOW IT WORKS.

gitmerged puts a price on any public GitHub repo and pays the person who wrote it. Five rules, all on chain.

[01]What gitmerged is

Paste a repo link and, in one transaction, a PumpFun coin is created for it and you make the opening buy. One repo, one market, forever, keyed to GitHub's numeric repo id.

The difference from every other launcher: the person who wrote the code gets paid. Half of every creator fee the market earns goes into an escrow for the repo's owner from the very first trade, and the owner can claim it whenever they show up.

[02]The five on-chain rules

  1. RULE 01

    One repo, one market.

    A market is keyed by GitHub's numeric repo id, not its name. Renames and transfers keep the id, so they keep the market. Forks have their own ids and their own markets.

  2. RULE 02

    Coin and market in one transaction.

    list_repo creates the PumpFun coin through a CPI with the market's vault as its creator, records the market, and the lister's opening buy follows in the same transaction. Nothing can trade in between.

  3. RULE 03

    The maintainer's half is escrowed from the first trade.

    Creator fees land in the vault. Every checkpoint books them: owner_bps (50%) to the owner's escrow, the rest to the platform. The owner does not have to sign up to start earning.

  4. RULE 04

    Nobody can withdraw the vault except the two payees.

    The vault pays exactly two places: the verified owner's payout wallet and the platform treasury. There is no admin withdrawal and no sweep of unclaimed escrow. Ever.

  5. RULE 05

    Owners are verified by hand, then wait 48 h in public.

    The admin proposes an owner after reviewing GitHub sign-in, a wallet signature and a public proof file. The proposal is on chain for 48 h before it can take effect, and anyone can object.

checkpoint(market, vault), run first by every instruction that touches the vault
fresh = vault.lamports - R - owner_owed - platform_owed   // saturating at 0
if fresh > 0:
  platform_cut  = floor(fresh * (BPS - owner_bps) / BPS)
  owner_cut     = fresh - platform_cut     // the owner gets the rounding dust
  owner_owed    += owner_cut
  platform_owed += platform_cut

// invariant after every instruction
vault.lamports - R >= owner_owed + platform_owed

[03]The owner flow

Start at /claim and find your repo. Five steps, in order:

  1. 01 GITHUB. Sign in (scopes read:user read:org). User repos: your account id must equal the repo owner's id. Org repos: you must be an active org owner; you are paid on the org's behalf.
  2. 02 WALLET. Sign one plain-text message with the payout wallet. No wallet? Log in with GitHub and an embedded one is made for you.
  3. 03 PROOF. Commit .gitmerged/claim.json to the default branch (one click opens GitHub prefilled), or for user repos post a gist named gitmerged-claim.json.
  4. 04 REVIEW. A human checks the evidence and the admin signs propose_owner by hand.
  5. 05 CONFIRM. After 48 h in public, one transaction collects, confirms and pays you. Anyone can send it.
.gitmerged/claim.json
{
  "repo_id": 812345678,
  "wallet": "<your payout wallet>",
  "nonce": "<from the claim page>"
}

[04]Program ids and the vault

Each repo has its own vault, a program-derived address from the repo id alone. You can compute it before anything is listed.

addresses
program   DF4ooG9VHPaA3jeCMnNPmuWe8kRV82bZxLtQVVK6AEo3  (build id, not deployed yet)
config    seeds ["config"]
market    seeds ["market", repo_id as u64 little-endian]
vault     seeds ["vault", repo_id as u64 little-endian]

pumpfun   6EF8rrecthR5Dkzon8Nwu78hRvfCKubJ14M5uBEwF6P
pumpswap  pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEA
pump fees pfeeUxB6jkeY1Hxd7CsFCAjcbHA9rWtchMGdZ6VojVZ

DERIVE THE VAULT FOR A REPO ID

BUILD ID · NOT DEPLOYED YET

seeds ["vault", u64le(70107786) = 8a c2 2d 04 00 00 00 00]
vault HhP37YmZFCfp5fbN9ssfuPpo1BfxiHftzACkwvacqCTq bump 251
market C9LmnhPqShVwh78cqneaHPapXguHmo62JMLAXsQwypDy
config BfiMmuMxpWyrW6EAnCDwnuGT7mkUkUFhrSYGJmejV94C
program DF4ooG9VHPaA3jeCMnNPmuWe8kRV82bZxLtQVVK6AEo3

A real coin for this repo has exactly this vault as its PumpFun creator. A coin whose creator is anything else is not one of ours.

[05]Fees

On the curve, PumpFun charges 1.25%: 0.95% protocol and 0.30% creator. The creator is the vault, so that 0.30% is split 50/50 between the owner's escrow and the platform. After graduation the creator fee is tiered by market cap. Tips go 100% to the owner, never split. Full table and live totals on /fees.

[06]Risks

  • VOLATILITY. Coins are highly volatile and can go to zero. Nothing here is a promise of anything.
  • NOT AFFILIATED. A repo's owners have not endorsed its market unless it shows VERIFIED, which means only that they claim their fee share.
  • PUMPFUN DEPENDENCY. If PumpFun changes its interface, new listings pause until the program follows. Fees and claims keep working.
  • ESCROW IS FOREVER. Unclaimed escrow of a deleted or abandoned repo stays locked in its vault. That is the promise, and its cost.
  • ADMIN KEY. The admin can propose owners, but every proposal is public for 48 h and can be cancelled. The admin can never withdraw a vault. The key moves to a multisig before owner escrow passes 25 SOL.
  • UPGRADES. The program stays upgradeable to follow PumpFun changes or fix bugs, announced 24 h ahead.

[07]FAQ

Does the repo owner have to do anything?

No. Their share accrues from the first trade whether or not they ever show up. Claiming is optional, and once verified it is permanent.

Is the owner affiliated with the market?

No. Anyone can list any public repo. A market shows VERIFIED only when the owner claims their fee share, which is not an endorsement.

What does listing cost?

Rent and network fees only, around 0.02 SOL plus your opening buy. There is no listing fee.

What does the lister get?

Their opening buy, at the best price on the curve, in the same transaction as the coin. No fee share and no special rights after listing.

What happens when a repo changes hands?

GitHub keeps the id, so the market stays. The previously verified wallet keeps receiving until the new owner verifies; everything accrued up to that moment is paid to the outgoing owner.

What if the repo is deleted?

The market keeps existing. A verified owner keeps claiming. An unverified escrow stays in the vault forever.

Can the owner send their share elsewhere?

Yes. set_payout lets the verified owner point payouts at a project treasury, a co-maintainer split or a charity, without asking anyone.

How do I spot a fake coin?

Every real coin's PumpFun creator is its market's vault, derived from the repo id with the widget above. Anything else is not ours.

Not affiliated with GitHub. Fees you receive may be taxable income.