During Phase 1, the only way to receive tokens is to callDocumentation Index
Fetch the complete documentation index at: https://actfun.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
mine on the token’s TokenLauncher contract. Each call requires a short string the “funny post” and an ARC payment equal to the token’s feePerMine. If all conditions are met, the contract mints mineAmount tokens directly to your wallet. The accumulated ARC fees stay locked in the contract until graduation, when they seed the AMM liquidity pool.
Function signature
Requirements
All of the following must be true for amine call to succeed:
| Check | Revert message |
|---|---|
| Token has not graduated | "Token has graduated - swap instead!" |
msg.value >= feePerMine | "TokenLauncher: ARC fee required" |
totalMined + mineAmount <= mineableSupply | "TokenLauncher: mining complete" |
| Cooldown elapsed since your last mine | "TokenLauncher: cooldown not over" |
Your 24h mined amount + mineAmount <= dailyMax | "TokenLauncher: daily limit reached" |
A string written to the chain as part of the
ActedFun event. No length limit is enforced by the contract, but keep it short to minimise gas costs. Must be provided; there is no default.Mineable supply
The launcher reserves 95% ofmaxSupply for mining (rounded down to the nearest whole multiple of mineAmount). The remaining 5% is reserved as lpReserve for AMM seeding on graduation. You can read these values directly:
Cooldown and daily cap
Each wallet has two independent rate limits:- Cooldown you must wait at least
cooldownSecondsafter your previousminecall before mining again. - Daily cap you may mine at most
dailyMaxtokens within any rolling 24-hour window. The window resets when the current timestamp exceedsdailyWindowStart[user] + 24 hours.
getTimeUntilNextMine(address) and getRemainingDailyAllowance(address) to check both limits before submitting a transaction.
Auto-graduation
After themine call updates totalMined, the contract checks whether totalMined >= mineableSupply. If so, it immediately calls _graduate() in the same transaction:
- Mints
lpReservetokens to the launcher contract itself. - Sets
tokenReserve = lpReserve. - Sets
arcReserve = address(this).balance(all accumulated mine fees minus any previously claimed refunds). - Sets
graduated = true. - Emits
TokenGraduated.
mine reverts and the AMM functions become active.
ActedFun event
amount is always equal to the token’s mineAmount. You can use this event to build an activity feed without storing any off-chain state.
TokenGraduated event
tokenReserve and arcReserve are the initial AMM reserves.