Docs
HEIR is a token launchpad on Solana where every coin expires. When a coin's timer runs out, its liquidity is converted into HEIR and pushed to everyone holding the coin. Everything below is enforced by one on-chain program.
Overview
- Every coin launches with a fixed supply into its own Meteora DAMM v2 pool. No presale and no team allocation. The creator can buy at launch like anyone else.
- Every coin has a timer. New highs in the pool's liquidity push it back.
- When the timer reaches zero, the coin is settled: the SOL in its pool is swapped into HEIR, and HEIR is airdropped pro-rata to the coin's holders.
- The expiry itself takes nothing extra: what was in the pool is what holders receive, in HEIR, minus swap fees and price impact.
The program
| Program | 5j8vAXboNhjyyuZab2A9k1g24feNndf29ytPXxKLsbvQ · Solscan |
| Framework | Anchor 1.0. It calls the real Meteora DAMM v2 program for every pool. |
| Status | Deployed on mainnet. Upgradeable until it has been audited (see Who can change what). |
Every coin's on-chain metadata carries launchpad and createdOn fields, so explorers show where it came from. Mint and freeze authority are removed at launch, and the metadata is immutable.
Coin lifecycle
| State | What happens | Who can trigger it |
|---|---|---|
| Live | Trading in the pool. New highs extend the timer. | Anyone trades; anyone can poke the timer |
| Swapping | The timer hit zero: liquidity pulled, unsold supply burned, SOL swapped into HEIR in chunks | Anyone |
| Snapshot | Holders are recorded at the settle slot and a merkle root is posted | The snapshot authority |
| Airdropping | After a public delay, HEIR is pushed to each holder's wallet | Anyone |
| Ended | Every holder is paid; leftovers are swept after a deadline | Anyone |
A public crank runs every step automatically, but none of the steps except posting the root depend on it: anyone can send the same instructions.
The timer
The creator sets four numbers at launch. They can never change afterwards.
| Setting | Meaning | Default |
|---|---|---|
| Lifetime | How long the coin lives without any new highs | 24 hours |
| Extension | Seconds added per step of new liquidity high | 60 s per 1 SOL |
| Max ahead | The timer can never be more than this far in the future | 24 hours |
| Hard end | The coin ends at this point no matter what | 7 days |
Time is only added when the SOL in the pool passes its previous high-water mark. Selling and buying the same amount back moves nothing, so wash trading can't extend a coin.
Trading
Each coin lives in a normal Meteora DAMM v2 pool, a concentrated constant-product curve from the start market cap (default 30 SOL) up. The pool's LP position belongs to the coin's own program account, not to the creator or to HEIR, so nobody can pull the liquidity early.
Because these are standard DAMM v2 pools, any terminal or aggregator that supports them can trade the coin: Axiom, Jupiter and others route straight to the pool. The HEIR site is only one way in.
Fees
| Part | Share |
|---|---|
| Pool trading fee | 1% by default; the creator can pick 0.25% to 5% |
| Meteora | Takes its protocol share of the pool fee |
| Creator | Up to 50% of the remaining LP fees (30% by default) |
| Operations | 20% of the remaining LP fees |
| HEIR buyback & burn | The rest: it buys HEIR and burns it |
The split is frozen per coin at launch. Changing the platform settings later only affects new launches. Launching costs about 0.04 SOL in account rent plus any dev buy.
Conversion
When a coin ends, the program withdraws its liquidity, burns the coin supply nobody bought, and swaps the SOL into HEIR through the HEIR/SOL pool. To stop a thin or manipulated pool from draining a coin, every swap is limited:
- One chunk is at most 10% of the SOL in the HEIR pool.
- Every chunk must fill within 3% of the spot price or it is rejected.
If Meteora ever disables the route pool, the coin falls back: holders are paid in SOL instead of HEIR, by the same snapshot rules.
Snapshot & airdrop
- Holders are snapshotted at the settle slot. Only wallets count: tokens held by programs (pools, vaults) are not paid.
- A holder whose share would be worth less than the rent of a token account is skipped. Their share goes to the other holders.
- The snapshot is published as JSON at
/snapshots/<coin>.json, and its merkle root is posted on chain. - After a public delay of 10 minutes, anyone can push each holder's HEIR straight into their wallet. Nobody has to claim, and nobody can be paid twice.
Verify a payout
Anyone can rebuild the root from the published snapshot and compare it with the root stored on chain. Leaves are the eligible holders in snapshot order:
leaf = sha256( 0x00 ‖ index u32 LE ‖ owner 32 bytes ‖ heir_amount u64 LE ‖ sol_amount u64 LE ) node = sha256( 0x01 ‖ min(a, b) ‖ max(a, b) ) // pairs sorted bytewise odd = carried up unchanged amount_i = total × balance_i ÷ sum(eligible balances) // rounded down
If the root you compute matches the coin's distribution account, every payout in the snapshot is exactly what the program will allow. Any other amount is rejected on chain.
The HEIR token
- Token-2022 with a fixed supply of 1,000,000,000. Mint authority and metadata authority are removed at creation.
- It starts in a single-sided HEIR/SOL DAMM v2 pool with no liquidity put in by the team, priced from a 30 SOL market cap like every other launch.
- That pool's LP position is permanently locked. Nobody can remove the liquidity.
- Every expiring coin buys HEIR through this pool, and fees buy and burn HEIR.
Who can change what
| Who | Can | Cannot |
|---|---|---|
| Platform admin | Change settings for future launches: fee bounds, the ops share, conversion limits, pausing new launches | Touch any existing coin's pool, fees, timer or airdrop |
| Snapshot authority | Post the snapshot root for an ended coin | Post an amount larger than the coin's converted HEIR, or skip the public delay |
| Upgrade authority | Upgrade the program (until it is made immutable after an audit) | — |
| Anyone | Trade, poke timers, end expired coins, run conversion chunks, push airdrops | — |
Only the program's upgrade authority could create the platform config, so nobody could take over the platform between deployment and setup.
Risks
- Snapshot root. It is posted by one key. The public delay and the published snapshot let anyone check it before a single payout happens.
- Upgradeable program. Until it is made immutable, the upgrade authority could change the code.
- Meteora dependency. Pools run on Meteora DAMM v2. If Meteora disables a pool, conversion falls back to paying in SOL.
- Memecoins are risky. A coin's price can go to near zero before it expires. HEIR changes what happens at the end, not what happens in between.