PerpFun
Connect wallet

Buying & selling

A coin here is an ordinary ERC-20 in an ordinary Uniswap V3 pool. Anything that can swap can trade it.


One hop, any router

Before the bond the pair is COIN / USDG. After it, COIN / TRACKER. Either way it is a single pool at the 1% fee tier, reachable through the canonical SwapRouter02 with exactInputSingle — no custom contract, no allow-list, no proprietary path.

A Telegram bot that has never heard of PerpFun trades it correctly on its first attempt. That is a design constraint we accepted real costs to keep, and it is why we are on Uniswap V3 rather than a venue with nicer economics that bots cannot read.

No transfer tax

The token takes nothing on transfer. Zero on buys, zero on sells, in every block including the first.

This matters more than it sounds. A transfer tax makes swaps through the standard router revert, gets the coin flagged red by every scanner, and quietly converts every holder into someone paying to leave. We charge at the pool, where it is visible in the quote, and nowhere else.

What a round trip costs

Buy and immediately sell, and you pay the pool's fee twice plus whatever your own size did to the price. Nothing else. Approximately:

round-trip cost  ≈  2f + 2t/R

with f the 1% fee, t your ticket and R the depth on the side you traded. The second term is not a charge — it is the price impact you caused, and it comes back to the next trader. There is no third term. No hidden spread, no tax, no gap between the quoted price and the filled one.


Fees

Every swap pays 1%, split 70/30 — 0.7% to the coin's creator, 0.3% to the protocol. The creator's share accrues per coin and is claimable at any time; see Claiming your fees.

The fee accrues inside the locked position and is booked to the creator by collectFees, which anyone may call. The destinations are fixed in the contract: whoever pays the gas to sweep, the money goes to the same two places.

Slippage and depth

Before the bond, all the depth is on one side: the pool holds coin and the dollars buyers have paid in. Early buys move the price a lot, because there is very little behind it — that is what a fresh launch is, and the front shows the accumulated backing so you can see exactly how much.

After the bond, the coin is paired to a tracker whose own market is kept deep around its NAV, so quoted depth improves markedly at the moment of migration.