This post was written from my personal perspective as a crypto founder. Nothing should be construed as financial advice. This post and our products are not intended for U.S. audiences. この投稿の日本語版については、ここをクリックしてください。
Dear Frens, there’s no easy way to say this, so please excuse me: we fucked up. We know many of you looked forward to our TGE with great anticipation over these past few months, and we let you down. Certain aspects of our token generation experience (like Frensurance) were intentionally designed, but the bugs and confusion were not—for that we’re truly sorry.
We know a lot of you are confused or upset about what happened, so we wanted to publish an update highlighting some key topics:
What went wrong?
Why Frensurance?
Tokenomics & listing plans
Future roadmap
Unfortunately, we didn’t encounter just one, but a number of unexpected technical issues during TGE. These included:
Allocation
Claiming
Staking
Many users reported not receiving a token allocation despite expecting one. Here are the potential reasons why that may be the case:
User was flagged for cheating or botting
User did not earn any $NUTS, $DIRT and/or $DUNG
User logged in to OnlyFrens wallet with a different Telegram account versus the account that was used to play Farm Frens
User was an Everseed NFT holder that linked an unrecognized (by Privy) SOL wallet to the OnlyFrens wallet. (We will be making another airdrop distribution soon for these users)
After reading the above details, if you still believe you received an incorrect allocation, please fill out this Google Form.
Before TGE, our team had thought it would be a good idea to subsidize gas fees for everyone’s airdrop claim. To do so, our server would then need to perform the transactions on behalf of users. Though we ran successful tests on our local nodes, we didn’t account for the fact that mainnet would be significantly slower than our tests. On mainnet, we could only perform one transaction per block, and Base blocks take several seconds each to validate. Since our internal simulations were so fast, we had not implemented a queueing solution ahead of time.
To our dismay, after we went live we realized users were getting claim errors, so we had to throttle: some users got lucky, but others would fail. We hurriedly deployed a queuing solution in real-time, and had to ship several improvements in succession in order to stop it from failing, which would restart the server.
Separately, we faced another technical issue with airdrop claims. As our front-end was making frequent calls out to our third-party RPC node provider, Alchemy, for data, we got throttled. This resulted in users not seeing their $FREN token balance update in our wallet after claiming their airdrop. As increasingly more users refreshed our app to check their balance, it unfortunately made the throttling worse.
Both of these throughput issues put us in a difficult position with respect to cross-posting our TGE announcement. We first made the announcement on 𝕏, and wanted to then quickly do so on Telegram and Discord, too. However, the more noise we made, the worse the queuing and throttling would be. So that’s why we decided to roll out our announcements after establishing baseline stability.
For the above bugs, we believe we have deployed fixes, but if you are still encountering issues, please fill out this Google Form.
Some users also reported being unable to stake their full amount of $FREN token despite having enough ETH to pay for gas. We discovered that we had a front-end rounding bug for the amount of $FREN displayed. For example, suppose a user received 100.005 $FREN tokens, but our UI showed he had 100.01 $FREN. Then, as the user would try to stake 100.01, the error would show that he did not have enough token. This bug should be fixed.
Separately, we realized that many of our Frens were unfamiliar with ETH/EVM terminology, like “gwei.” Gwei is a small unit of ETH, equal to 0.000000001 or 10^(-9) ETH. It was our oversight that some users were confused why the gas fee to stake seemed so high, when in reality it should be far less than $1 equivalent.
Lastly, many Frens have asked us to provide more details on staking rewards. We’re working on improving the current visualization in the OnlyFrens wallet, but for now here’s a quick example:
90 days staked ➡️ 1x rewards
180 days staked ➡️ >2x rewards
360 days staked ➡️ >4x rewards
1080 days staked ➡️ >12x rewards
We deeply apologize for all the technical issues users faced when claiming. Though several community members made comments suggesting that this was all intentional, I can assure you that it was not. If you are still encountering any technical issues related to the above or anything at all, please fill out this Google Form.
While the technical bugs listed in the above section were NOT intentional, our Frensurance mechanic was by design. I know many Frens are in disbelief that we would invent such a system like this, but please permit me to explain why by first sharing some user and sales data for our top-ranked Farm Frens game on Telegram:
From this chart, you can see that the vast majority of Farm Frens’ revenue comes from a small minority of Telegram users in Japan and other east and southeast Asian countries. Outside of these territories, users are more likely to play without spending. For the vast majority of free-to-play airdrop farmers (human or bot), their immediate reaction upon receiving any airdrop is to sell, which creates downward pressure on token price upon TGE. In order to break this learned habit, we needed a trustless on-chain solution to bind our community towards a common shared goal via our customized smart contract (aka Frensurance).
The problem with crypto’s recent meta is that it is too irrationally volatile. Token holders are so quick to pump and dump, and move on to the next shitcoin. The unscathed darling of this entire cycle is BTC, which has garnered a cult of buy-and-hold maxis envied by all other altcoins thanks to its codified economic primitives. With Frencoin and its custom smart contract, we wanted to blaze a new path to help crypto rise above its individualist nihilism.
Despite our best intentions with Frensurance, we failed to deliver the experience in a way that landed well with our community. I personally made a judgment in error when deciding to announce the mechanic as a surprise with TGE as opposed to before. Given many of our Frens do not speak English as a first language, most would have likely benefited from more time to think and prepare without the stress of simultaneously worrying about token price.
Additionally, the fact that we had so many other emergent technical issues that arose at the same time exacerbated confusion and frustration even more. Though we had originally planned to publish the below Frensurance thread immediately after TGE, the aforementioned queuing and throttling technical issues that resulted from claiming put us in a difficult spot with respect to decision making for public communications timing.
For these reasons, on behalf of our team, I deeply apologize for the suboptimal experience we delivered to our Frens. What expectations we had before TGE for what would unfold did not match the reality of what actually happened at TGE.
Many Frens were also upset that we chose not to list $FREN first on centralized exchanges, and instead opted for direct listing via Uniswap. We did this purposefully so that we could give our Frens the opportunity to accumulate more allocation at a lower market cap should they want to. Remember the below graphs from an earlier blog post? We wanted $FREN’s chart to look more like $ETH as opposed to $STRK. What this also means is that no insiders could extract value from (aka dump tokens on) our Frens.
Is the price or market cap of $FREN too low? Well guess what, Fren? Good news! You can do something about it—consider it an opportunity. Airdrop farmers seem to think that crypto is a passive sport where, if you farm points to then dump airdropped tokens, you can bypass the speculative trading in the middle… But Frens, that’s where all the fun is (so long as you can get a good entry price)! 😉
Similar to early-stage venture capital investing or rooting for your favorite Terrace House「テラスハウス」 member, there is an intangible yet profound satisfaction in being early to something that later becomes very special. However, in order to make a more informed decision, you probably need more detail on our tokenomics:
Some additional notes on the above:
Total supply: 88,888,888 $FREN
“Investors” and “Team” will be fully locked for 1+ year
“Ecosystem Expansion” is reserved for future CEX listings and related support
Any unclaimed “Fren Community” tokens (deadline TBA) will be repurposed for “Future Community” airdrop rewards
In the near future, we will start to move and lock up the relevant outlined allocations above into different wallets and contracts, respectively.
Q1 2025
Resolve remaining issues from TGE ASAP
OnlyFrens wallet improvements, especially recovery & accessibility
First Frensurance payouts to $FREN stakers (and ongoing every 30 days)
Q2 2025
- Relaunch Farm Frens Season 2 (with major improvements) on LINE messenger app
As we finish wrapping up the remaining work from TGE, going forward our team’s most important priority is to improve our Farm Frens game as much as we can before quickly relaunching Season 2 on LINE, the dominant super-app for Japan et. al., in the next few months.
Earlier in February I traveled to Seoul, Tokyo, and Osaka to meet up with many of our Korean and Japanese community members. I was completely blown away by the warm reception we received, and my personal favorite moment from these events was watching how our Frens exchanged invite codes with one another, and laughed as they showed off their farms and collections.
I know we disappointed many Frens with our TGE yesterday because their expectations did not match reality. However, looking at the reality of where our $FREN token is currently trading at today… I can’t help but smile thinking about future expectations of what our token could do—all the beautiful new frenships our silly little game could help create and strengthen, one Fren at a time on LINE and on chain.