The Clankline is a weekly leaderboard for Clanker traders and investors. It ranks everyone by their Profit and Loss performance of their Clanker Portfolio. A new round starts every Wednesday and runs for 7 days. The leaderboard shows who traded and held the best clanker tokens for the week.
Over the last one year, 0xpuneet and I built a series of small apps. Some born out of curiosity. Others just for fun.
The inspiration of The Clankline came from a small mini app we built that showed your biggest win and loss on Base. It struck a chord. Hundreds shared it. And then, like most mini apps, it faded.
It was ephemeral.
It took us a while to process what had happened. Puneet explained it well on why it took off.
The initial lift came from kind shoutouts by Ted, Saumya, and the FBI (Farcaster Builders International) crew.
But another reason was it showed people something remarkable. If you zoom out, there are folks who had had insane wins. For some it was $degen, others $clanker.
Its flaw was that it stopped at one snapshot. You saw it once, shared it, and there was nothing more to do afterwards. We had something that showed signs of resonance. We just needed to make it more useful and interesting.
Trading is a social and competitive activity.
A leaderboard centred around Clanker felt like a logical next bet. A Weekly Leaderboard gave it structure and opened avenues to introduce both utility and interesting mechanics.
There were three principles that went into designing the scoring system. Fair, Simple, and Playful.
We wanted a scoring system that rewarded skill and not just scale. It should tie in organically to contribution to the Clanker ecosystem. Finally, numbers shouldn't be the only thing that kept people coming back. Small touches that made every round lighter and fun.
The rules for scoring grew out of these principles. We normalize scores so that a $100 portfolio and a $100,000 portfolio can be compared on skill, not just size. Realized gains carry more weight than unrealized ones, since closing a trade takes more discipline than watching paper profits. And to keep the game alive beyond the trades themselves, we added bonus points for daily check-ins and streaks. Small rewards for showing up and staying consistent.
The result was a more diverse leaderboard. One where you had folks ranging from known names to smaller accounts, and sometimes even bots.
There were three steps to computing points. First, track each user’s portfolio — the tokens they held and traded during the week. Second, identify which of those tokens were Clanker tokens. Third, calculate the PnL % and turn it into points, adding bonuses for daily check-ins and streaks.
We seeded the leaderboard with Farcaster accounts we knew were strong Clanker traders and investors. Also, whenever someone opened the mini app, if they weren’t already on the leaderboard, we added them to the leaderboard and their wallet went onto our watchlist.
We monitored each wallet for the Clanker tokens they held and the trades they made. A trade could be selling some or all of a token, buying into a new one, or adding more to an existing position.
We used Moralis for tracking user's portfolio and Zerion for tracking the user's transactions and filtering out trades.
Nearly 400K tokens had been deployed through Clanker. To make it more efficient, we created a list of top Clanker tokens based on market cap and volume traded. We also built a system where we would add to this list new Clanker tokens that crossed a certain threshold. We used the Clanker World APIs for this.
This surprisingly was more difficult than we had anticipated. While Zerion had a PnL API but it supported the overall wallet and not a subset of tokens which was our requirement. We did found another set of APIs built by an indie developer which was really really good. However it wasn't actively maintained. Eventually, we decided to build the our own solution for this.
There are two approaches in calculating the Profit and Loss. FIFO (First In, First Out) and Average Cost Basis.
Assumes the first tokens you bought are the first ones you sell.
Example:
Buy 100 $CLANK at $1 → cost $100
Later buy 100 $CLANK at $2 → cost $200
Sell 100 $CLANK at $3 → you “sold” the first batch at $1, so profit = $200
Takes the average price of all tokens you hold to calculate cost per unit.
Example:
Buy 100 $CLANK at $1 ($100) and 100 $CLANK at $2 ($200)
Average cost per token = ($100 + $200) / 200 = $1.50
Sell 100 $CLANK at $3 → profit = $150
We decided to use the Average Cost Basis approach. Calculating token cost became the key step. At the start of each round on Wednesday, we assigned the current market price as the cost of any tokens already in a user’s wallet. From there, the cost basis would update whenever they made new purchases during the week. For new tokens, the cost was simply what they spent to acquire them. Inbound and outbound transfers made things a little tricky, so we chose to ignore those and only calculate based on the tokens or portion of the tokens that stayed in the wallet.
Points and ranks were computed every 6 hours. And whenever a user opened the mini app, their score and rank refreshed in real time.
We used coingecko api's for the price feed of the tokens.
Every Round has a name. The last one was Echo Rally and the currently running one is Infinite Ascent.
At the end of every round, we give a shoutout from the official @theclankline handle top the top 10 folks on the leaderboard. We also airdrop a commemorating NFT them. This has become a weekly ritual and one of my favorite times of the week.
It is interesting seeing who ranked where and why - something we're planning to surface for others to see too.
Our own journey on Farcaster began with Clanker Live, which we launched within two weeks of Clanker itself. It showed a live feed of new Clanker tokens as they were deployed.
Since then, Clanker has continued to evolve and with its constellation of builder, creator, and artist tokens, it has a strong and active community around it. This convinced us to centre the leaderboard around Clanker.
We are especially excited about the recent V4 release reflects that direction: sniper auctions to keep launches fair, token vaulting to encourage long-term vision, and LP fees routed directly to creators. As a builder-first launchpad native to Base and Farcaster, Clanker is designed to align incentives.
We think this is going to lay foundation for lot of interesting token mechanics we will see in future.
Our focus in the first wave of development was to build leaderboard for the Clanker community and the scoring system. We are now working on building tools that will help people to get on the top of the leaderboard.
Clankscan is the first feature launched on these lines. A fast read of what’s trending and why. Tags like: 🧨 Strong Buy Spike Heavy Selling 🏔 Near Highs to give people a quick view of what's happening and which tokens they need to pay attention to.
We are shipping smart notifications this week. It will show you key price trends for the top Clankers.
Farcaster is a rare place where social and technical signals can blend to help people find alpha. New app coins being launched, how those apps rank on the mini-app leaderboard, who is buying what, why someone is leading, and the smartest trades being made. Each of them is a valuable signal. Put together, they form a map for discovery.
The goal is to make The Clankline the best place to discover and trade Clanker tokens.
It has been an interesting journey building Clankline.
What we built is simple. What comes next is making it matter.
We're all standing on the shoulder of giants. We absolutely love farcaster and it has been rewarding building here. Humbled by the love and support we got from everyone on the launch day. Dish and the entire Clanker have been super helpful throughout our journey building The Clankline. Grateful to Neynar, Zerion, Moralis, Coingecko for the infrastructure that made building The Clankline a little easier. Also, a huge thanks to Nastya who shared her learnings from building reachbot - a mini app that shows you trades made by the best traders on base.
Rch
<100 subscribers
Support dialog