We love our manlets. They love ansem. So we're helping โ every sol femlet earns in creator fees buys femlet back, and every manlet holder gets some, no claiming required.
Manlet buys back $manlet and gifts it to ansem holders. We're doing the same thing, one layer down โ Every femlet buyback becomes a gift for the manlets who started it.
No cycles yet โ the first claim โ buyback โ drop will appear here automatically the moment it happens. Nothing to refresh, nothing announced.
Manlet built the script first. Claim creator fees, buy back $manlet on-chain, drop the whole bag on $ansem holders โ no claim site, no team bag, just the script running.
Femlet takes the same idea one layer down. Manlet holders are the ones who showed up and made that mechanism real, so femlet's treasury runs the identical loop โ claim, buy, drop โ except the beneficiary is $manlet itself. Every femlet buyback becomes a gift for the holders who back the coin that started this.
Femlet is an independent, community-run tribute. It isn't operated by, or affiliated with, the manlet or ansem teams.
The femlet treasury pulls its creator fees on-chain the moment they're claimable, via pumpportal. No manual withdrawal, nothing custodial.
On-chain ยท non-custodialEvery sol collected becomes a market buy of femlet, signed and sent straight from the treasury wallet. Every transaction is public on solscan.
VerifiableA fresh snapshot of manlet holders, dust filtered out, weighted by square root so one big bag doesn't swallow the drop. Femlet just shows up.
โ-weightedFully automated, self-funded. No fixed schedule and nothing announced โ the script fires once the treasury can cover both the buyback and the rent for any new manlet wallets that need an ata opened. No team hand on the button.
// snapshot every $MANLET holder const programId = await detectTokenProgram(mint); const accounts = await rpc.getProgramAccounts(programId, { filters: [{ memcmp: { offset: 0, bytes: MANLET_MINT } }], dataSlice: { offset: 32, length: 40 }, // owner + amount }); // eligible: hold >= dust threshold, keep everyone else const MIN = 100n * 10n ** DECIMALS; const eligible = holders.filter(h => h.amount >= MIN); // โ-weight: balance compresses, whales get less per-token const weights = eligible.map(h => Math.sqrt(Number(h.amount))); const total = weights.reduce((a, b) => a + b, 0); const shares = weights.map(w => BigInt(Math.floor((w / total) * boughtRaw)));