Skip to content

Bounties & requests: the rules ​

Sponsored bounties and requests are the same thing on chain: a pot. A pot escrows SOL in its own account in the Corium program, with a condition, a deadline and a split fixed when it opens. It pays out only if its condition is met on chain in time, and every other path ends in a refund.

The friendly versions: Bounties → · Requests →

The two kinds ​

BountyRequest
ConditionIts target coin graduates by the deadlineSome coin entered into it graduates by the deadline; the earliest wins
CoinsCorium coins and pump.fun coinsCorium coins only
Paid toThe winning coin’s finishersThe winning coin’s creator (up to 80%) and its finishers
Corium feeNone on Corium coins; 5% on pump.fun coins, only if it pays outNone
The sponsor also getsNothing; it’s a pure rewardThe winner’s stake, and half of Corium’s fees on the winner

Current parameters ​

Set in the program’s pot rules (PotConfig) and copied into each pot when it opens, so a later change never alters an open pot.

Amount0.05 to 15 SOL per pot
Deadline1 hour to 14 days after opening (corium.so offers 1, 3, 7 and 14 days)
Grace2 minutes after a win (for an earlier graduate to replace the winner) or after the deadline
Finisher hold1 hour after graduation
Claim window30 days
Creator’s share (requests)0% to 80%
Entries (requests)While the coin’s curve holds at most 10 SOL
pump.fun bounty fee5% (500 bps)

Lifecycle ​

open ──fund──▶ open
  │
  ├─ a qualifying coin graduates by the deadline ──▶ mark_winner
  │     └─ after the grace ──▶ settle: fee and creator share paid,
  │                                     the rest frozen for the finishers
  │           ├─ finishers claim after the hold, for 30 days ──▶ start_return (the rest)
  │           └─ no finishers ──▶ start_return
  └─ deadline + grace, no winner ──▶ start_return (everything, no fee)

returning ──refund (each funder, pro rata)──▶ empty

Every step except opening, funding, entering and claiming is permissionless: anyone can call it, and Corium’s crank does within seconds. Nobody decides who wins; graduation is read from the launchpad’s own account (a Corium coin’s finish_curve_timestamp, a pump.fun curve’s complete flag).

Finishers: the stretch ledger ​

A pot’s finishers are recorded on chain, as they buy, by the stretch ledger:

  1. A finishing buy is one transaction: stretch_begin, then the buy itself (a Meteora or pump.fun swap), then stretch_end.
  2. stretch_begin reads the curve’s reserves and the buyer’s token balance; stretch_end reads them again. The program never calls the swap; it measures what it did.
  3. The SOL that landed past 90% of the curve becomes the buyer’s credit on that coin, and the tokens bought there are locked in the coin’s stretch vault.
  4. When the curve completes, its credit total is frozen (stretch_finish; the buy that completes the curve records the time, so graduation times are exact even on pump.fun).

Holding means leaving the tokens locked. stretch_unlock returns them at any time:

When you unlockEffect
Before graduationYour credit leaves the total. No penalty.
During the hold (1 hour after graduation)You forfeit your share of every pot on that coin; it goes back to the funders.
After the holdYour tokens come back; your credit still claims.

After the hold, claim_finisher pays each finisher credit ÷ total credit of each pot on the coin, one claim per wallet per pot.

Buys that skip the bracket (directly on pump.fun, or a plain swap) are not recorded and don’t count. corium.so brackets every buy on a coin that has a pot; so do finish links, Blinks and the Telegram bot.

The supernova bounty is separate

A Corium coin’s own supernova bounty is funded by fees, counts every buy, has a 10-minute hold check and is paid against a published merkle root. Pots never touch it: each pot’s SOL sits in the pot’s own token account, never in the fee vault.

Settling ​

settle, after the winner’s graduation plus the grace:

  1. Fee: fee_bps of the pot to the treasury (5% on pump.fun bounties, otherwise 0).
  2. Creator (requests): creator_bps of the rest to the winning coin’s creator.
  3. Finishers: everything left, frozen as the finisher total, claimable once the hold ends and until the claim window closes.

If the winning coin has no finishers, the finisher total goes straight back to the funders.

Refunds ​

Anything that isn’t paid goes back to the funders, never to Corium:

  • no winner by the deadline: the whole pot, with no fee;
  • a winner with no finishers: the finisher share;
  • finisher shares left unclaimed after the 30-day window.

Each funder reclaims with refund, pro rata to what they put in (their Contribution); the last one gets the rounding dust.

Requests in detail ​

Entering ​

enter is signed by the coin’s creator, for a Corium coin that hasn’t graduated and whose curve holds at most 10 SOL. It escrows a stake of the coin, at least the request’s min_stake, in the entry’s own token account. A coin can enter one request, ever (the Entry account is keyed by the coin’s pool).

corium.so sets min_stake from the opener’s choice of Small, Fair or Large: the launch buy whose tokens are worth ¼, ½ or ¾ of the winning creator’s prize at the graduation price. Entering from the create page stakes that part of your launch buy in a second signature.

Rejecting ​

While an entry’s curve is still under the entry limit and the request is open, the opener can reject_entry it as off-topic. Its stake can be released straight back to its creator, and the coin can’t enter any request again.

Stakes ​

EntryIts stake
The winnerclaim_stake pays it to the funders, pro rata (with one sponsor, all of it to them)
Losing, rejected, or no winnerrelease_stake returns it to its creator

The sponsor’s fee share ​

When a request is won, Corium pays its sponsor 50% of Corium’s fees on the winning coin: its curve fees from when the request opened until it graduates, and Corium’s share of its locked pool’s fees for 30 days after. This is a promise from Corium, paid in SOL from the treasury, not something the program enforces.

One sponsor ​

corium.so lets only a request’s opener add to its prize, so the sponsor’s deal is never diluted. The program itself accepts fund from anyone; a request funded by several wallets splits the winner’s stake between them pro rata.

Accounts and instructions ​

AccountSeedsHolds
PotConfig["pot-rules"]The current pot rules
Pot["pot", opener, nonce]Terms, money, status, winner
Pot vaultATA(pot, mint)The pot’s SOL (as wrapped SOL)
Contribution["contrib", pot, funder]What each funder put in, and whether they were refunded
Entry["entry", pool]The request a coin entered, its stake, rejected or not
PotClaim["pot-claim", pot, wallet]Exists once a finisher has claimed
Stretch["stretch", pool]A coin’s stretch ledger: total credit, finish time, the vault of locked tokens
Credit["credit", pool, wallet]One finisher’s credit and locked tokens on that coin
InstructionSignerDoes
open_potSponsorOpens a bounty or request with its terms and first funds
fundAnyoneAdds to an open pot
enterCoin creatorEnters a coin into a request, escrowing its stake
reject_entryRequest openerRejects an early, off-topic entry
mark_winnerAnyoneRecords a graduation by the deadline (an earlier one replaces a later one)
settleAnyonePays the fee and creator share, freezes the finisher total
stretch_begin, stretch_endBuyerBracket a buy and record its stretch credit
stretch_finishAnyoneFreezes a coin’s ledger at completion
stretch_unlockFinisherReturns locked tokens (see holding)
claim_finisherFinisherClaims a share of a pot after the hold
claim_stake, release_stakeAnyoneMove a request’s stakes to the funders or back to creators
start_return, refundAnyone, funderOpen refunds when due, and take yours
close_creditFinisherCloses an empty credit account for its rent

All live in the same verified Corium program: Program reference →

What a pot costs to open ​

About 0.007 SOL of Solana rent for its accounts, which isn’t returned. There’s no creation fee.

If these docs and the chain disagree, the chain wins.