How it works
Bloodline Pad
Launch any coin. When it bonds, its heirs are born: part of its creator fees buys each heir in the same instruction that creates it, and the parent's holders get the heir's tokens by airdrop.
Chapter IOverview
Bloodline Pad is a launchpad on pump.fun. Anyone launches a coin with their own name, ticker and picture. The coin's creator on pump.fun is not a person: it is the coin's nursery, an address of the Bloodline Pad program. Every creator fee the coin earns lands there.
Half of those fees are the seed. When the coin has bonded (graduated on pump.fun) and its seed is full, anyone can call the birth: the program creates the heir on pump.fun and buys it with the seed in the same instruction. Nobody can buy an heir before its own seed does. The tokens bought go to the heirloom and wait for the parent's holders, who claim them with a merkle proof.
An heir is a coin like any other. It trades on its own curve, earns its own fees, bonds, and has heirs of its own, up to seven generations. The root coin and all its descendants are one bloodline, and the main page draws it as a family tree.
Chapter IIThe life of a coin
| Stage of a coin | What it means | What can happen |
|---|---|---|
| On its curve | Trading on pump.fun's bonding curve. Fees collect in its nursery. | Anyone buys and sells. Anyone can book fees. No heir yet. |
| Bonded | The curve is complete; the coin trades on PumpSwap. | When the seed reaches the minimum, anyone can call the birth. |
| Resting | It had an heir less than the cooldown ago. | The next birth waits for the cooldown. Fees keep filling the seed. |
| Done | All heirs born, or the last generation. | Its seed share is released to the founder and the treasury. |
| Stage of an airdrop | What it means | What can happen |
|---|---|---|
| Waiting | The heir is born; its tokens sit in the heirloom. | The keeper posts the root, before the post deadline (born + 30 days). |
| Open | The root is on chain; the file is published at /drops/<heir mint>.json. | Anyone sends a claim for any leaf; tokens go only to the wallet in the leaf. |
| Closed | The window ended. | Anyone sweeps: every token left in the heirloom is burned. |
Chapter IIILaunching a coin
The form asks for a name, a ticker, a picture and your first buy. One transaction, signed by you (the founder) and by a fresh mint key the page creates:
- The program checks the name (1 to 32 bytes, no control characters, no spaces at the ends) and the ticker (1 to 10 bytes, no spaces or control characters; lowercase and symbols are allowed).
- It tops the nursery up to its rent floor from the founder.
- The platform launch fee,
floor(first buy x launch_fee_bps / 10000), goes from the founder straight to the treasury. It is paid on top of the buy; the buy itself reaches pump.fun whole. No buy, no fee. - pump.fun
create_v2: the founder pays the rents, the creator is the nursery. - If the founder buys: the founder's token account is created and pump.fun
buy_exact_sol_inruns with the founder as the buyer. The tokens are the founder's. - The bloodline and the coin are written with a copy of today's parameters. Later config changes never touch them.
The picture you upload goes to IPFS through pump.fun's uploader, with the name and ticker, and becomes the coin's metadata.
Chapter IVThe nursery and fees
collect moves pump.fun's creator vault into the nursery. After the coin bonds, PumpSwap first sends its creator fees back to pump.fun with its own permissionless transfer_creator_fees_to_pump. sync then books every new lamport: 50% to the seed pool (which also takes the rounding dust), 30% to the founder and 20% to the treasury. Anyone can send all three.
The nursery always holds exactly its rent floor plus seed pool plus founder and treasury shares waiting. claim_founder_fees pays only the founder of the bloodline; collect_treasury pays only the treasury in the config. Anyone may push either.
Chapter VThe birth transaction
bear can be sent by anyone. The keeper sends it with the heir's picture; anyone else passes an empty uri and the heir takes the parent's picture as it is.
- Checks: the parent's pump.fun curve is complete, it has fewer than 3 heirs, it is below the last generation, and the cooldown since its last birth has passed.
- It books whatever arrived since the last sync. The whole seed pool is the budget; it must be at least the minimum.
- The heir's name and ticker are derived on chain from the parent's (see Names and pictures).
- From the parent's nursery: rent floors of the heir's nursery and heirloom, pump.fun
create_v2(creator: the heir's nursery), the heirloom's token account. - The rest of the seed goes to the heirloom, which buys the heir with one pump.fun
buy_exact_sol_in, capped at what the heir's curve can take. Lamports it does not spend go back to the parent's seed. Rents may not exceed the rent reserve.
Chapter VIThe inheritance
The keeper takes an hourly snapshot of every bonded coin's holders. At a birth, a wallet's weight is the minimum balance it held of the parent across the last six snapshots before the birth, so buying just before a birth earns nothing. Bonding curves, PumpSwap pools and this program's addresses are left out. Each share is floor(heir tokens x weight / sum of weights).
The keeper publishes the snapshots and the split at /drops/<heir mint>.json, then posts the root with post_drop (only the bloodline's drop authority, fixed when the root coin was launched; once, before born + 30 days, total no larger than the heirloom holds).
Leaves and proofs
leaf = sha256(0x00 || index u32 LE || claimant 32 bytes || amount u64 LE), node = sha256(0x01 || min(a, b) || max(a, b)). The claim bitmap has one bit per leaf, so no share can be claimed twice.
Claiming
- The page reads the file, checks that its root equals the root on chain, and finds your leaf.
claim_drop(index, amount, proof)creates your heir token account if needed (you pay its rent) and sends your share from the heirloom.- Anyone may send a claim for any leaf. The tokens can only go to the wallet named in the leaf.
After the window, sweep_drop burns what is left. An airdrop that was never posted can be swept after born + 30 days.
Chapter VIINames and pictures
An heir's name and ticker are derived on chain from its parent's. Nobody picks them. The first heir is <Parent> Jr, the second Son of <Parent>, the third Lil <Parent>. The heir of an heir is named after that heir, so the names chain down the generations.
| Coin | Ticker | Parent | Rule |
|---|---|---|---|
| Pepe | PEPE | - | launched, generation 1 |
| Pepe Jr | PEPEJR | Pepe | heir 1: name + " Jr", ticker + JR |
| Son of Pepe | SONPEPE | Pepe | heir 2: "Son of " + name, SON + ticker |
| Lil Pepe | LILPEPE | Pepe | heir 3: "Lil " + name, LIL + ticker |
| Pepe Jr Jr | PEPEJRJR | Pepe Jr | heir 1 of Pepe Jr, generation 3 |
| Son of Pepe Jr | SONPEPEJR | Pepe Jr | heir 2 of Pepe Jr, generation 3 |
Limits
- pump.fun takes a name of at most 32 bytes and a ticker of at most 10.
- An heir's ticker is built from the A-Z and 0-9 part of the parent's ticker, uppercased. The marker always stays; the parent part is cut to fit:
HARDHATJRhas the first heirHARDHATJJR. - A name that would pass 32 bytes becomes the root coin's name plus the generation in roman numerals, the root name cut to fit:
Pepe VI.
Pictures
An heir's picture is its parent's own picture with a small badge, JR, SON or LIL by birth order, and its generation. The keeper composes it, uploads it to IPFS with the heir's name and ticker, and passes it to bear. Only the keeper can pass a picture. If anyone else calls the birth, the heir gets the parent's picture without a badge.
Chapter VIIIParameters
Copied into each bloodline when its root coin is launched. The main page shows the values the program holds now.
| Parameter | Mainnet | What it does |
|---|---|---|
| launch_fee_bps | 250 bps (2.5%) | Platform fee on the first buy, paid on top of it to the treasury (hard cap 500 bps, 5%). |
| seed_min | 0.5 SOL | Smallest seed pool that can pay for an heir. |
| rent_reserve | 0.03 SOL | Most a birth may spend on rents. |
| nursery / founder / treasury | 5000 / 3000 / 2000 bps | How booked fees split. |
| max_heirs | 3 | Heirs a coin can have (hard cap 9). |
| max_generation | 7 | Generations in a bloodline (hard cap 9). |
| birth_cooldown | 6 hours | Between two births from one coin (not before the first). |
| drop_window | 30 days | Time to post an airdrop after a birth, then to claim it after the post. |
Chapter IXProgram reference
Program . IDL at /idl/bloodline.json.
Account and instruction names are the program's own. A House account is one bloodline: the root coin and all its descendants.
Accounts
| Account | Seeds | Holds |
|---|---|---|
| Config | ["config"] | admin, treasury, drop authority, paused, next bloodline id, parameters |
| House | ["house", id u64 LE] | founder, the root coin's name, ticker, picture and mint, coins, deepest generation, its parameters, drop authority |
| Coin | ["coin", mint] | name, ticker and picture, bloodline, parent, generation, birth order, heirs born, seed pool, founder and treasury shares, lifetime fees, the airdrop |
| Nursery | ["nursery", mint] | system address; the coin's creator on pump.fun; holds its fees |
| Heirloom | ["heirloom", heir mint] | system address; the heir's first buyer; owns the heir tokens until they are claimed or burned |
| ClaimMap | ["claims", heir mint] | one bit per leaf of the airdrop |
Instructions
| Instruction | Who can call | Does |
|---|---|---|
| found | the founder | launches a coin: a new bloodline and its generation 1 coin on pump.fun, the launch fee, optional first buy |
| collect | anyone | pump.fun creator vault to the nursery |
| unwrap_fees | anyone | closes a nursery-owned WSOL account into the nursery |
| sync | anyone | books new nursery lamports into seed, founder and treasury |
| bear | anyone | creates the heir and buys it with the seed; the heir's picture only from the keeper |
| post_drop | the bloodline's drop authority | posts the root of the heir's airdrop, once |
| claim_drop | anyone, for any leaf | sends a leaf's tokens to the leaf's wallet |
| sweep_drop | anyone, after the window | burns what is left in the heirloom |
| claim_founder_fees | anyone | pays the founder's share to the founder of the bloodline (waits if it is below an empty wallet's rent floor) |
| collect_treasury | anyone | pays the treasury's share to the config treasury |
| propose_drop_authority | admin | starts a 72-hour timelock for a new drop authority |
| accept_drop_authority | the proposed key, after 72 hours | becomes the drop authority of bloodlines launched from then on |
| init_config, update_config, set_treasury, set_paused, set_admin | admin | see Admin powers |
Errors
| Code | Name | Message |
|---|---|---|
| 7200 | BadProof | proof does not match the drop root |
| 7201 | AlreadyClaimed | this leaf was already claimed |
| 7202 | IndexOutOfRange | leaf index out of range |
Chapter XVerify on chain
- The creator. Open any coin on pump.fun: its creator is
["nursery", mint]of this program, not a wallet. - The launch fee. In the
foundtransaction the founder pays the treasuryfloor(first buy x launch_fee_bps / 10000); theFoundedevent carries it aslaunch_fee. - The birth. Open the
beartransaction:create_v2andbuy_exact_sol_infor the heir run in the same instruction, and the buyer is["heirloom", heir mint]. - The seed. The
Bornevent carries seed, rents, spent and tokens. Seed equals spent plus rents plus what returned to the parent. - The nursery. Its balance equals rent floor + seed pool + founder share + treasury share in the Coin account, right after a sync.
- The airdrop. Rebuild the root from the published file with the leaf and node rules above and compare it with
drop.rootin the heir's Coin account. - The burn. After a sweep, the heir's supply went down by exactly
drop.burned.
Chapter XIAdmin powers
| The admin can | The admin cannot |
|---|---|
| Pause new launches | Stop births, fees, airdrops or claims (pause blocks launching only) |
| Change parameters, the launch fee included (at most 5%), for bloodlines launched later | Change the parameters of a bloodline that exists |
| Change the treasury | Move a nursery's SOL or an heirloom's tokens anywhere but where the program sends them |
| Propose a new drop authority, which takes over after 72 hours and only for bloodlines launched later | Change the drop authority of a bloodline that exists |
| Hand over the admin role | Mint, freeze or take anyone's coins |
| Upgrade the program (it is upgradeable) | - |
Chapter XIIRisks
- The snapshot is trusted. The drop authority computes the split off chain. It publishes the snapshots so anyone can recompute. A bad root can misallocate heir tokens, never exceed what was posted. A new drop authority needs a 72-hour timelock and applies only to bloodlines launched after it.
- No keeper, no airdrop. If no root is posted within 30 days of a birth, the sweep burns every token of that heir. Nobody gets them, the operators included.
- pump.fun keeps admin powers (
admin_cto,set_creator, PumpSwapset_coin_creator): it can reassign a coin's creator by hand. - Upgradeable and unaudited. The upgrade authority is the project wallet.
- Fees of a coin that never bonds stay in its seed until it does.
- Names repeat. Anyone can launch any name, so two bloodlines can both have a
Pepe Jr. Inside one bloodline, names repeat through the<Root> <generation>fallback and tickers through cutting. Mints always differ; check the mint. - Terminals cache metadata. An heir's picture can take a while to show.
Chapter XIIIQuestions
Can I launch any coin?
Yes. Any name and picture, any ticker within the limits above. It becomes generation 1 of its own bloodline.
Do I have to claim?
Yes, within the window. The keeper usually pushes claims for everyone; if it does not, the page has the button. Unclaimed tokens are burned, not kept.
Why did I get nothing though I held?
The weight is your smallest balance over the six hours before the birth. If you bought within them, or sold to zero once, that minimum is what counts.
Who pays for a birth?
The parent's seed pays the heir's rents and buy. The caller pays only the heir's Coin account rent and the network fee.
Can the founder dump the heir?
No. The founder holds no heir tokens unless they held the parent. Heir tokens leave the heirloom only to leaf wallets or to a burn.
What is $BLOODLINE?
The platform's own token. Its address appears on the main page at launch and nowhere before.