mynt.lol

How mynt.lol works

Launch a token and it arrives with an NFT collection attached. The fees that token earns from real trading flow into a vault behind the collection, and any holder can burn their NFT for an exact share of that vault, in ETH, whenever they want. This page explains every part of that sentence — where the fees come from, how the vault holds them, and why no one can touch them but you.

01 · START

Overview

mynt.lol turns a token launch into something that pays its holders. You launch your token through mynt.lol on pons.family (Robinhood Chain). In the same breath, mynt.lol mints an NFT collection and wires your token's trading fees to a vault behind it. Every buy and sell of your token drips ETH into that vault. Each NFT is a claim ticket on it.

The value of a ticket is not a promise or a peg. It is the vault balance split evenly across the NFTs — a number anyone can read on-chain and check with a calculator. The more your token trades, the more each NFT is worth. When a holder wants out, they burn their NFT and the contract pays them their share in ETH, on the spot. No form, no approval, no custodian.

THE INPUT

Trading fees

pons creator fees on every buy and sell, in ETH

THE STORE

A collection vault

the token's fee recipient, set at launch

THE EXIT

Burn to redeem

vault balance / NFTs, paid in ETH, instantly

02 · START

The core mechanic

pons.family is a launchpad. Every token launched on it has one address it pays its creator fees to — the creatorFeeRecipient, chosen at launch. Most launches point it at the founder's own wallet. mynt.lol points it at the collection's vault contract instead.

Trader
pons bonding curve
Fee escrow
Collection vault
NFT holder

Left of the highlights is ordinary trading. The highlighted stages are the ones nobody can redirect. Right of them is arithmetic anyone can check.

From that one wiring, everything follows. Trades on the pons curve charge a fee; pons credits your vault's balance inside a shared escrowcontract, in native ETH. Only the vault can pull that ETH out — the escrow pays whoever is the recipient, and the recipient is the vault. So the money has nowhere to go except the floor, which is why anyone is allowed to trigger a claim: they can move it toward the holders, never away.

WHY THIS IS THE WHOLE DESIGN

The floor is real because the ETH is really in the escrow. The floor rises because trading really accrues fees. Claiming is safe to leave open to anyone because the ETH can only ever reach the vault. Redemption needs no server because burning an NFT is the whole instruction.

03 · START

Lifecycle

  1. You fill in a theme, a name, and a supply, then click Launch — one transaction.
  2. mynt.lol launches your token on pons, deploys the vault and the collection, and sets the vault as the token's fee recipient — all atomically.
  3. Trading begins. Every buy and sell credits your vault's ETH balance in the pons escrow.
  4. A keeper (or anyone) calls claimPonsFees() to pull that ETH into the vault. mynt.lol keeps 10%; 90% backs the floor.
  5. Holders burn your token to mint NFTs from the collection.
  6. Each NFT's value is the vault balance divided by the number of NFTs.
  7. Any holder burns their NFT to receive that share in ETH, atomically.

04 · MECHANICS

The vault

RNFTVaultV3 is a Solidity contract deployed once per collection. It holds native ETHand is the token's creatorFeeRecipient on pons. Fees for it build up inside the pons escrow until someone claims them; the vault then holds that ETH and tracks how much of it backs the floor with internal accounting, not its raw balance.

claimPonsFees()pulls the vault's accrued fees out of the escrow and immediately runs a sweep. The sweep looks at how much ETH arrived since last time, takes the mynt.lol protocol cut off the top, and credits the rest to the redeemable balance. That is the only door ETH walks through on its way to the floor.

function _sweep() internal {
    uint256 accounted = internalEthBalance + accruedProtocolFees;
    uint256 bal = address(this).balance;
    if (bal <= accounted) return;

    uint256 incoming = bal - accounted;
    uint256 cut      = incoming * protocolFeeBps / 10000; // mynt.lol's 10%
    accruedProtocolFees += cut;
    internalEthBalance   += incoming - cut;               // backs the floor
}

The creator cannot withdraw the redeemable ETH. Neither can mynt.lol — only its accrued protocol cut. The floor balance is reachable by exactly one action: an NFT holder burning their NFT.

05 · MECHANICS

Backed floor math

The backed floor price is simply:

backedFloor = internalEthBalance / totalSupply

internalEthBalance is the ETH credited by claims minus the ETH paid out by redemptions. totalSupply is the number of NFTs in circulation (minted minus burned). Both are on-chain values anyone can read.

The app also shows a liveFloor that adds the fees still sitting un-claimed in the escrow (net of the mynt.lol cut), so the number you see moves with every trade, not only after a keeper claims. Division rounds down: each redeemer gets a hair less than exact, the dust stays behind, and the last holder out sweeps up everything remaining.

06 · MECHANICS

The invariant

Redeeming never lowers the floor for anyone else. If the vault holds V and there are c NFTs, each worth V/c:

Before: floor = V / c

One holder redeems: receives V/c, vault now holds V − V/c = V(c−1)/c

After: floor = [V(c−1)/c] / (c−1) = V/c

The floor comes out unchanged. In practice it ticks up a few wei from rounding, but it can never fall because of a redemption. The pro-rata formula guarantees it.

07 · MECHANICS

Premium & discount

NFTs can trade on secondary markets above or below the backed floor. The floor is the guaranteed part; the market decides the rest.

  • Premium:market price above floor. Normal for a collection people want to hold — the extra is art, community, or a bet on future fees beyond the guaranteed redemption.
  • Discount: market price below floor. That is free money: buy the NFT cheap, burn it, receive more ETH than you paid. Arbitrageurs close the gap, so the floor acts as a hard price support.

08 · MECHANICS

Fees

  • pons creator fee: a cut of every trade on your token, paid to the vault in native ETH and held in the pons escrow. HarvestFi, for reference, launched at a 2% curve fee plus a 2% creator tax.
  • mynt.lol protocol fee: 10% of each amount claimed into the vault, taken on sweep. Capped at 20% and fixed per vault at deployment.
  • What holders get: the other 90% of every claim backs the floor. Of 1 ETH in creator fees, 0.90 ETH becomes redeemable value for NFT holders and 0.10 ETH goes to mynt.lol.

09 · FLOWS

Launching

Launching is one click and one signature. There is no copy-paste step, no “now go set your fee wallet” — the factory does the whole wiring inside a single transaction.

  1. On the Launch page, describe your collection: theme, name, symbol, supply, mint price.
  2. Click Launch and confirm one transaction (it pays the small pons launch fee).
  3. The RNFTLaunchFactory launches your token on pons, then deploys the RNFTVaultV3 and RNFTCollectionV3.
  4. In the same transaction it hands the token's creatorFeeRecipient to the vault.
  5. Trading fees now flow to your vault from the first block. Nothing else to do.

10 · FLOWS

Minting

Minting an NFT burns a fixed amount of your token — the tokens go to the dead address (0x…dEaD) and are gone forever. No ETH enters the vault from minting. The vault is funded only by trading fees.

Burning tokens to mint is deliberate: it takes supply off the market, which tends to lift the token's price and its trading volume — and volume is what feeds the floor.

MINT DILUTION

Each new mint raises totalSupply without adding ETH, so the floor per NFT dips as the collection fills. Once it is minted out, dilution stops for good and the floor can only climb as fees accumulate.

11 · FLOWS

Claiming fees

Fees land in the pons escrow automatically on every trade, but they only count toward the floor once they are pulled into the vault. claimPonsFees()does that pull, and it is permissionless — anyone can call it.

function claimPonsFees() external returns (uint256 claimed) {
    claimed = escrow.claim();  // escrow pays the vault (the recipient)
    _sweep();                  // credit the floor, minus mynt.lol's 10%
}

It is safe to open to everyone because the escrow only ever pays the recipient, and the recipient is the vault. A keeper bot calls it on a schedule once the claimable amount clears a small gas threshold, so the floor stays current. If the keeper ever stops, the fees sit safely in the escrow and any holder can claim them.

12 · FLOWS

Redeeming

Burning an NFT pays out internalEthBalance / totalSupply in native ETH to the holder, in one atomic transaction:

  1. Your share is calculated from the current vault balance and supply (rounds down).
  2. The NFT is burned (totalSupply drops by one).
  3. The vault sends you your ETH.

No server signs it. No custodian approves it. The contract enforces it, and you sign the transaction yourself. That is the difference between a redeemable floor and a promise of one.

13 · REFERENCE

Worked example

# Setup

max_supply = 10

rnft_cut = 10%

# Alice and Bob mint

Alice burns the token -> NFT #1

Bob burns the token -> NFT #2

supply = 2, vault = 0 ETH, floor = 0

# Trading generates 10 ETH of creator fees (in the escrow)

keeper claims: mynt.lol takes 1 ETH (10%), floor gets 9 ETH

floor = 9 / 2 = 4.5 ETH per NFT

# Alice redeems

Alice burns NFT #1, receives 4.5 ETH

vault = 4.5 ETH, supply = 1

floor = 4.5 / 1 = 4.5 ETH (unchanged!)

# 3 more ETH of fees arrive and are claimed

mynt.lol takes 0.3 ETH, floor gets 2.7 ETH

vault = 7.2 ETH, supply = 1, floor = 7.2 ETH

# Bob redeems

Bob burns NFT #2, receives 7.2 ETH

vault = 0, supply = 0

# Accounting check

Total fees: 13 ETH → mynt.lol 1.3 + Alice 4.5 + Bob 7.2 = 13.0 ✓

14 · REFERENCE

Architecture

RNFTLaunchFactory
RNFTVaultV3
RNFTCollectionV3

The factory launches the token on pons and deploys the vault + collection in one transaction. The vault holds ETH and is the fee recipient. The collection is an ERC-721 with mint (burn token) and redeem (burn NFT, receive ETH).

RNFTLaunchFactoryOne-click launch: pons launchToken, deploy vault + collection, set fee recipient
RNFTVaultV3Fee recipient, native-ETH accounting, claimPonsFees, payRedemption
RNFTCollectionV3ERC-721 Enumerable, mint (burn token), redeem (burn NFT, pay ETH)
pons v2Bonding curve + V2FeeEscrow (holds each recipient's ETH) + Uniswap v4 after graduation
KeeperOff-chain bot that calls claimPonsFees per vault above a gas threshold

15 · REFERENCE

Trust model

What is trustless, and where trust still lives:

Fully on-chain (trustless)

  • Fee accrual (enforced by pons on every trade)
  • Claiming (permissionless; the escrow only pays the vault)
  • Redemption (atomic burn + pay, no server signature)
  • Floor calculation (read-only view anyone can verify)
  • Protocol fee cap (max 20%, fixed at deployment)

Requires trust

  • pons governance can redirect any token's fee recipient on a 3-day timelock — a power mynt.lol does not control
  • Keeper liveness (fees are safe in the escrow meanwhile, and anyone can claim)
  • Art generation and IPFS pinning (off-chain)
  • Frontend availability (you can always call the contracts directly)

THE ONE POWER TO KNOW ABOUT

pons's admin can, on a 3-day timelock, point a token's fee recipient somewhere else. That is a property of the launchpad, not of mynt.lol, and it is the same for every project built on pons. We surface it here rather than bury it.

16 · REFERENCE

Glossary

Backed floor
The guaranteed ETH value of an NFT: vault balance divided by circulating supply.
creatorFeeRecipient
The pons address a token pays its creator fees to. For an mynt.lol collection, this is the vault.
Fee escrow
The pons V2FeeEscrow contract that holds each recipient's claimable ETH until it is pulled out.
Claim
Pulling the vault's accrued fees out of the escrow and into the vault, where they back the floor. Permissionless.
Bonding curve
How a token trades on pons before graduation: buyers and sellers trade against a curve, which charges the fee.
Redeem
Burning an NFT to receive its pro-rata share of the vault's ETH.
Dead address
0x000...dEaD. Tokens sent here are destroyed forever. Used for mint burns.
Internal balance
The vault's ETH that backs redemptions. Raised by claims, lowered by redemptions.
Protocol fee
mynt.lol's 10% cut of each claim, taken on sweep. Separate from the redeemable pool.

17 · REFERENCE

FAQ

Can the creator steal the vault's ETH?

No. The redeemable ETH is only reachable by an NFT holder burning their NFT. The creator can withdraw nothing from it; mynt.lol can withdraw only its own accrued 10% cut.

What happens if nobody claims the fees?

They sit safely in the pons escrow, credited to the vault. They just don't count toward the floor until claimed. A keeper claims on a schedule, and anyone can claim at any time.

Can I redeem if the floor is 0?

Yes. The transaction succeeds and pays 0 ETH. Your NFT is still burned.

What if someone sends ETH straight to the vault?

The next sweep credits it to the floor for all holders. The sender loses it, holders gain. A donation, not an exploit.

Could pons redirect my fees?

pons governance can change any token's fee recipient on a 3-day timelock. It is a launchpad-level power, the same for every pons project, and outside mynt.lol's control. See the trust model above.

Is the code audited?

The V3 contracts pass a full test suite including fuzz and reentrancy tests, plus an end-to-end fork test against the live pons contracts. No formal third-party audit yet.

What chain is this on?

Robinhood Chain, an Arbitrum Orbit L2 (chain ID 4663). Gas is very low. pons v2 lives on mainnet 4663.