Skip to main content
BASED, WAGMI, and GIGACHAD (TIER_90 / TIER_95 / TIER_98) have vesting enabled. SMOL (TIER_80) does not. when vesting is on, your tokens unlock over 24 hours starting from the launch block.

the schedule

  • 50% at TGE. as soon as the launch transitions to LAUNCHED, half of your allocation is claimable.
  • 50% linear over 24 hours. the remaining half unlocks proportionally over the next 86400 seconds (24 hours) after launch.

the math

at any moment, your claimable amount is:
claim() reads this, transfers the delta, and updates alreadyClaimed.

what this looks like in practice

say your allocation is 1,000,000 tokens and the launch happens at timestamp T:
  • T + 0 seconds: 500,000 claimable (TGE half)
  • T + 1 hour: 500,000 TGE + (500,000 * 1 / 24) = ~520,833 claimable
  • T + 6 hours: 500,000 + 125,000 = 625,000 claimable
  • T + 12 hours: 500,000 + 250,000 = 750,000 claimable
  • T + 24 hours: 1,000,000 claimable (fully vested)
  • T + 25 hours: 1,000,000 claimable (capped, no extra unlock)
you can call claim() any number of times. each call only transfers the delta between vested and claimed. no penalty for claiming early or often, except gas.

why vesting exists

the presaler allocation is large (a flat 200M tokens, 20% of total supply). releasing all of that at once produces immediate sell pressure that crashes the freshly-deployed PCS pair. spreading it over 24 hours dampens this and gives the token a chance at organic price discovery. it does not prevent dumping. it just spreads the dump curve over a day. read risks for what this means for you.

SMOL has no vesting

SMOL (TIER_80) is curve-only. there is no PCS pair at launch. all of your tokens unlock at LAUNCHED and claim() returns the full allocation in one call. this is partly because SMOL has no follow-up buy and trades on FLAP’s curve until it organically graduates. the social contract is different: SMOL is a curve play, not a v2 launch. the absolute presaler allocation is the same 200M tokens as any other tier.

claim mechanics

  • claim() is permissionless. anyone can call it on their own behalf, but the tokens go to msg.sender so you cannot claim for someone else.
  • there is no claim deadline. tokens sit in the vault indefinitely. you can claim a year later if you want.
  • claim reverts with NothingToClaim if your vested amount equals your already-claimed amount (e.g. you just claimed in the same block, or your allocation is zero because you did not deposit).

what if i deposited then withdrew

your Depositor.deposited is reset to zero on withdraw(). your allocation is therefore zero. you have nothing to claim and nothing to refund.