Presale
Populx runs an off-chain, OTC-style presale. There is no on-chain presale contract; participants send ETH (or USDT / USDC) directly to the official Populx treasury wallet, and the team credits their positions on-chain after TGE via the staking contract.
How it works (end-to-end)
- You connect your wallet on agora.populx.app and pick the payment lane you want to use. Five lanes are available: ETH / USDT / USDC on Ethereum mainnet, ETH / USDC on Base. USDT on Base is intentionally unavailable because Tether does not deploy a native USDT on Base (only third-party bridges exist, which we do not accept under the USDT label). Whatever lane you choose, the protocol itself launches on Ethereum mainnet only.
- You choose Become a Founder or Become a Citizen. The dapp calls
POST /presaleOtc/intenton the API to register your intention (wallet, role, network, currency, amount). - The dapp then asks your wallet to send the funds to the official Populx treasury wallet. For ETH it is a plain transfer; for USDT/USDC it is a standard ERC-20 transfer.
- Once the transaction is mined, the dapp calls
POST /presaleOtc/confirmTxwith the transaction hash. The API verifies on-chain that the value reached the treasury and marks the intent asverified. - After TGE, the team aggregates the verified intents and credits each wallet on-chain in one transaction via
stPopulx.distributePresale(wallet, amountAsset, amountLP)— or in batch viastPopulx.distributePresaleBatch([...]). The vault funds the PPLX side; the LP side comes from the treasury-seeded LP.
Founder vs Citizen
You receive a locked LP position in the staking contract. Your contribution helps seed the initial Uniswap V2 PPLX/ETH pool that opens trading at TGE. The LP is staked on your behalf — you do not need to manually zap or claim — and is locked for the timeLock period (currently 12 months).
Yield advantage. Because your LP is locked, the daily rewards cron weights your position with a +50% locked bonus (a 1.5× multiplier applied off-chain when lpLocked is true). On top of that you also keep your share of the Uniswap V2 0.30% trading fees that accrue inside the pool — that part is purely market-driven and on top of the staking APY.
After the lock you can unStake the LP normally.
You receive a non-locked stPPLX position in the staking contract. You can unStake at any time, with the standard anti-dump friction: 5% taxUnstake + 7-day vestingTime. While staked, your stPPLX earns reflections, epoch bonuses and the standard staking yield (no locked bonus by default).
Opt-in lock. You can choose to lock your stPPLX from the staking page (stake(amount, asset=true, locked=true)) to unlock the same +50% locked bonus applied to Founders. Lock duration is also timeLock (12 months); you give up flexibility, you gain APY.
You can also compound, claim rewards, or convert to a Founder-style locked LP position later via the Zap.
APY matrix
Both APY tiers are configurable via the daily reward pools (asset side and LP side, set off-chain by the team) and cannot be changed retroactively for past distributions — only future runs of the cron use the new values. The locked bonus, by contrast, is hardcoded at 1.5× in the cron.
- Citizen, non-locked: base APY on the asset side.
- Citizen, opt-in locked: base asset APY × 1.5.
- Founder, locked: base LP APY × 1.5 + Uniswap fees.
Live values for the four APYs are exposed by the API at POST /getAPY as apy_asset, apy_asset_locked, apy_lp, apy_lp_locked, and shown on the staking dashboard.
Realised vs headline APY
The headline APY is normalized against a fixed baseline of 90 M PPLX (the entire vault), not the current staked supply. This is intentional: the baseline does not move every time someone stakes or unstakes, so the displayed figure stays stable. The cron, however, distributes the full daily pool prorata against the actual on-chain weighted stake. As long as the real weighted stake is below 90 M (essentially always at launch), your realised APY is higher than the headline. Founders and early Citizens therefore get an outsized share of the early reward pools — see the full mechanics on the Staking page.
Where the rewards come from (and what happens long-term)
Daily staking rewards are paid out of VaultPopulx, which was funded with 90 M PPLX at deploy. With an aggressive APY calibration the vault is a finite resource — once empty, every claim mints fresh PPLX via the main token's swapChildPopulxToPopulx fallback. This is intentional: the protocol is meant to switch into the Drought era at that point, where 60% of every transfer tax is burned, so trading volume offsets the new mint. See the Token page for the full inflation / deflation math.
Per-wallet limits
- Min deposit: 0.1 ETH equivalent.
- Max cumulative cap per wallet: 2.5 ETH equivalent, summed across all your deposits and across both networks (Ethereum + Base) at the configured ETH/USD rate.
- When you submit a deposit, the dapp shows the remaining capacity for your wallet. Once you hit the cap, further intents are rejected.
Why off-chain?
- Multi-chain & multi-currency. A single contract on one chain cannot accept ETH on Ethereum, ETH on Base, USDT and USDC natively. The OTC flow lets us accept the five available payment lanes (ETH/USDT/USDC on Ethereum + ETH/USDC on Base) without bridging.
- No upgradable presale contract. The previous design required deploying additional contracts and trusting them with everyone's deposits. The OTC flow uses only the standard treasury wallet plus the existing staking contract — fewer attack surfaces, no new admin keys.
- Distribution after TGE. Tokens are credited only after the LP is seeded and trading is live, so participants can immediately stake / claim / compound — no separate “claim” UI needed.
Safety & recovery
- The team can never spend tokens you have not already sent — your wallet signs each transfer to the treasury directly.
Populx,stPopulx,rPopulxandzapPopulxall exposeonlyOwnerrecoverERC20/recoverETHfunctions in case a wrong token gets stuck on a contract — these never touch user stakes.distributePresaleanddistributePresaleBatchareonlyOwner: only the team key can credit Founder / Citizen positions, and the credits come out of the team-funded vault/LP.