AntiFun
v1.5
antifun is a place to launch and trade tokens on Arc. You can browse launches, open any token to see its details, and trade straight from your wallet.
antifun never holds your funds. Every launch and trade is a transaction your wallet asks you to approve.
Key facts
- Names and symbols can be copied. Always check the token address.
- Prices come from each token's bonding curve, and later its live trading pool.
- Launches can be volatile, illiquid, or lose all value.
Protocol
Overview
antifun deploys on Arc, a Layer-1 blockchain where the native gas and settlement asset is USDC. Every fee and threshold on antifun is denominated in USDC, not a volatile token, so figures quoted here do not drift as external prices move.
Every token launched through antifun has a contract address ending in aaaa, mined automatically at deployment. This is a permanent, on-chain mark, no separate claim or verification is needed to confirm a token launched here.
How launches work
Creating a launch mints the token's full supply and opens its bonding curve in a single transaction. There is no separate liquidity step at creation, and no admin action required at any point in a token's lifecycle.
01 — Create
The token is minted with a fixed supply of 1,000,000,000. 793,000,000 of that supply is placed on the bonding curve. The remaining 207,000,000 is reserved and held until graduation.
02 — Trade
Buys and sells execute directly against the bonding curve contract. There is no order book and no counterparty, each trade is priced against the curve's current state.
03 — Graduate
Once the curve accumulates 20,000 real USDC, the token graduates automatically. Liquidity moves into a Uniswap pool on Arc, and trading continues there.
Trading and pricing
Before graduation. Price is computed from the bonding curve's reserves at the moment of each trade. Buying moves price up, selling moves it down. There is no external price feed, the curve is the market.
After graduation. Price is set by the Uniswap pool's own reserves, using standard automated market maker pricing. The bonding curve has no further role once a token graduates.
| Term | Meaning |
|---|---|
| Price | The current value of one token, read from the curve or pool. |
| Market cap | Price multiplied by circulating supply. |
| Progress | Real USDC in the curve, divided by the 20,000 USDC graduation threshold. |
Launch protection
Every token deployed through antifun carries the following, regardless of creator configuration:
- No mint authority and no freeze authority, for the life of the token.
- A trade interval of four blocks per wallet, calibrated against Arc's measured block production speed.
- Whale resistance built into the curve's own pricing math. Splitting a purchase across multiple wallets does not reduce its total price impact.
Creators can additionally configure, within fixed ranges, at the moment of deployment:
| Parameter | Range | Default |
|---|---|---|
| Fair-Pledge Pre-Market Window | 0 to 15 minutes | 5 minutes |
| Wallet trade cooldown | 4 to 16 blocks | 7 blocks |
| Creator vesting | 0 to 90 days | 14 days |
| Post-graduation sell tax, decaying to the 0.15 percent base fee | 0 to 3 percent, over 0 to 60 minutes | 3 percent, over 10 minutes |
| Max sell per transaction (Whale Shield) | 1 to 10 percent of remaining sellable supply | Off |
Creator vesting locks the creator's own token holdings for the configured period. It restricts nothing else.
Whale Shield applies both before and after graduation when enabled, and is measured against current available supply at the moment of each sell, not a fixed figure. It does not restrict selling distributed across multiple wallets; curve-native whale resistance, described above, applies in that case.
Fair-Pledge Pre-Market Window
When enabled, buy orders placed during the window are pooled rather than executed individually. The window's price is fixed at the bonding curve's starting price. At window close, every pooled order settles in a single batch. If total demand fits within what's available at that price, every order fills in full. If demand exceeds availability, every order fills at the same proportional rate, calculated as available supply divided by total demand, regardless of when during the window each order was placed.
A creator may optionally fund additional supply ahead of the window to increase how much demand can be filled at the window price. Any of that supply left unused at window close remains the creator's own holding.
Settlement is permissionless. Any wallet may trigger it once the window has closed.
Graduation
A launch graduates once its bonding curve holds 20,000 real USDC. At that moment, a 3 percent migration fee is taken, and the remainder, along with the reserved 207,000,000 token allocation, is deposited into a new Uniswap pool on Arc. That pool's liquidity position is locked permanently. It cannot be withdrawn by the creator, by antifun, or by any other party, for the life of the token.
Graduation confirms the threshold was reached. It is not a quality signal and does not guarantee future liquidity, price, or an exit.
Fees and rewards
| Fee | Rate |
|---|---|
| Token creation | Free, network gas only |
| Trading, before graduation | 1 percent |
| Trading, after graduation | 0.15 percent |
| Migration, at graduation | 3 percent of real USDC raised |
Trading fees, both before and after graduation, are split 70 percent to the creator and 30 percent to the protocol. This split applies from a token's first trade, not only after graduation.
Creator mode or cashback mode. At deployment, a creator chooses one of two permanent options for their 70 percent share:
- Creator mode. Fees route to the creator's designated wallet or wallets.
- Cashback mode. Fees route instead to a trader reward pool, distributed by trading volume. A wallet's accrued reward is paid out automatically the next time that wallet trades the token, in the same transaction. A manual claim is also available at any time.
This choice is locked on-chain at deployment and cannot be changed afterward. The protocol's 30 percent share is unaffected by which mode is chosen.
Multi-Creator Splitter. Creators may split their share across up to fifty wallets by percentage, set once at deployment. Each wallet withdraws its own accrued share independently, on its own schedule.
Fees accrue continuously as a token trades. Claiming is on-demand, creators and, in cashback mode, traders may claim their accrued share at any time.
Burn Bounties
A creator may attach bounties to a token only at the moment of deployment; none can be added afterward. Up to two pre-graduation bounties are allowed per token. Post-graduation bounties have no separate count limit, they're bounded only by the combined burn cap below. Each bounty sets a token amount to be burned and a USDC prize, independently of each other, and is designated as applying either before or after graduation.
Claiming. Any single wallet, other than the token's creator or fee recipients, may acquire the designated token amount on the open market and burn it through the bounty contract. On a successful burn, the USDC prize transfers to that wallet immediately and the bounty is marked complete.
If unclaimed. Each bounty has a deadline of 6 hours to 30 days, set by the creator. A post-graduation bounty's deadline does not begin until the token graduates. If a bounty goes unclaimed by its deadline, its USDC prize automatically buys the token on the open market and burns what it acquires.
| Bounty type | Prize range | Deadline |
|---|---|---|
| Pre-graduation | 30 to 3,000 USDC | 6 hours to 30 days |
| Post-graduation | 10 to 2,000,000 USDC | 6 hours to 30 days, starting at graduation |
A token's total pre-graduation bounty burn target cannot exceed 40 percent of the tokens available on its bonding curve. A token's total post-graduation bounty burn target cannot exceed 30 percent of circulating supply as of its graduation.
Every token's graduation status includes a public flag indicating whether an unclaimed pre-graduation bounty contributed buyback volume toward that token's graduation.
Discovery
Token rankings weigh unique funded wallets over raw trading volume, and filter trading patterns consistent with wash trading before scoring. Any promoted placement is shown in a section separate from organic rankings.
Risk disclosures
Tokens launched through antifun are user-created and experimental. Review the token address, creator, and liquidity before trading.
- Prices can move quickly and liquidity can be thin, particularly before graduation.
- Similar names and images can represent unrelated tokens.
- Smart contracts, wallets, RPCs, and indexers can fail.
- Displayed values are estimates, not execution guarantees.
antifun is an interface to onchain contracts, not investment advice or a representation of any token's quality or value.
Integration
Network
| Field | Value |
|---|---|
| Network | Arc Testnet |
| Chain ID | 5042002 |
| Native asset | USDC (18 decimals) |
| Public RPC | https://rpc.testnet.arc.io |
| Explorer | https://testnet.arcscan.app |
| Pre-graduation trade fee | 100 BPS (1 percent) |
| Post-graduation base pool fee | 15 BPS (0.15 percent) |
| Graduation threshold | 20,000 USDC |
| Supply per token | 1,000,000,000 |
Contracts
| Contract | Address | Purpose |
|---|---|---|
Token Factory (AntifunFactory) | 0x7e8F8994ba577E838f594eF49c7Ba0807979D378 | Core launchpad factory & token deployment |
Graduation Hook (GraduationHook) | 0x47862a8B481Dd342EF8c04fDd35FeeA9D1Ee40C0 | Uniswap v4 Dynamic Fee, Whale Shield & Cashback hook |
LP Locker (LPLocker) | 0x45D7e08218Fe0290E35890f5cc33EeA8a6577Ac3 | Permanent liquidity lock & fee distributor |
Cashback Pool (CashbackPool) | 0x21A08F6ae22601Ae93af8BF8a2FE7bcA7B90c633 | Proportional volume-weighted instant cashback pool |
Burn Bounty (BurnBounty) | 0x786EDC275E3E53D49FF59088a1dEB7061B7E4c7b | Pre & post-graduation escrowed burn bounty engine |
Treasury (AntifunTreasury) | 0x2b2aD2b55c90747a775f10093C60d171a98C48Aa | Protocol fee vault (Gnosis Safe owned) |
Timelock (TimelockController) | 0x0165F534491a5A96d3BfD88D36191cB6839997cB | 48-hour timelock controller for revenue redirection |
| Uniswap v4 PoolManager | 0x81c246452e345A72582Be354573037bf8D1c5394 | Core Uniswap v4 PoolManager |
Onchain events
Canonical event signatures and topic hashes for indexers:
- Token Launch Event:
TokenCreated(address indexed token, address indexed curve, address indexed creator, string name, string symbol, uint256 cooldownBlocks, uint256 fixedPriceWindowSeconds, uint256 creatorVestingDays, bool cashbackMode, uint256 decayTaxBps, uint256 decayDuration) - Trade Event (Buy):
Buy(address indexed buyer, uint256 usdcIn, uint256 tokensOut, uint256 realUsdcReserves, uint256 realTokenReserves) - Trade Event (Sell):
Sell(address indexed seller, uint256 tokensIn, uint256 usdcOut, uint256 realUsdcReserves, uint256 realTokenReserves) - Graduation Event:
Graduated(uint256 usdcForPool, uint256 tokensForPool, uint256 skim) - Burn Bounty Created:
BountyCreated(address indexed token, uint256 bountyId, uint8 bountyType, uint256 prizeUsdc, uint256 burnTarget, uint256 duration) - Burn Bounty Claimed:
BountyClaimed(uint256 indexed bountyId, address indexed claimer) - Cashback Flushed:
CashbackFlushed(address indexed token, address indexed trader, uint256 amount) - Multi-Creator Splitter Withdrawal:
Withdrawn(address indexed recipient, uint256 amount)
Reading token state
Read-function references for direct smart contract integration:
- Token State & Curve Reserves: Query
realUsdcReserves()andrealTokenReserves()directly on theBondingCurvecontract. - Trade Quotes: Call
quoteBuy(uint256 usdcIn)andquoteSell(uint256 tokenAmount)on theBondingCurvecontract to query live fill estimates on-chain. - Graduation Status: Query
graduated()on theBondingCurvecontract. - Direct Trading Execution: Call
buy()(payable, passing native USDC asmsg.value) orsell(uint256 tokenAmount)directly on theBondingCurvecontract. - Fair-Pledge Window: Call
pledge()(payable) during the pre-market window, andclaimPledge()after window settlement.
Pricing and graduation
// Graduation status reading logic:
function graduationStatus(address token) returns (uint256 realUsdcReserves, uint256 threshold, bool graduated) {
realUsdcReserves = BondingCurve(curve).realUsdcReserves();
threshold = 20_000 * 1e18; // 20,000 USDC
graduated = BondingCurve(curve).graduated();
progressPct = (realUsdcReserves * 100) / threshold;
}
Changelog
- v1.5 — Added Instant Cashback, Burn Bounties, Multi-Creator Splitter, Whale Shield, and the Fair-Pledge Pre-Market Window.
- v1.4 — Creator fee share increased to 70 percent, effective from a token's first trade.
Versioning
Deployed contracts are immutable. New versions ship as new contract addresses, listed under Contracts.
Terms and attribution
Onchain data is public and free to read. You are responsible for how you use it. antifun is provided as is, without warranties. Third-party indexers and interfaces may reference antifun contracts and data freely under the MIT License.