In this live stream, hosts Victor and Kieren announce the winners of the Stratum Mercata V2 trading, bridging, and testing challenge. They thank the over 30 participants, noting the number nearly doubled from the previous contest. This competition was more complex, requiring users to bridge assets and navigate “special events” like sudden price drops and airdrops designed to simulate real-world market volatility.
Contest Winners & Strategies
- Trading Prize ($500 USDC + Carta points): The winner was a user named “Aspa.” Kieren explained that most profits were made by capitalizing on temporary price differences created by the special events. Aspa’s winning strategy involved diversification, leveraging, and aggressively using the platform’s borrowing and lending features to maximize gains during these moments.
- Worst Exploit Prize ($1500 USDC): This was awarded to a user named “Dada Juice” for identifying a critical Cross-Site Request Forgery (CSRF) vulnerability, a regression that had been previously fixed.
- Best Improvement Prize ($500 USDC): “Dada Juice” also won this prize for suggesting the addition of a confirmation pop-up before executing transactions, a key user experience improvement.
Future Plans
Kieren announced that the platform is undergoing a security audit and plans to launch a “beta live” version soon. This will involve real money but will still be considered experimental, allowing the team to test real-world user behavior and system dynamics. He also mentioned that there will be no stream the following week as the team will be at the Token 2049 conference in Singapore.
Introduction & Contest Winners Announcement
[6:04] Victor: So, um, thank you everyone for joining. Um, if there are any AV audio issues, if uh, people were on last week, we were still trying to figure out our whole audio visual setup. So we are continuing that journey. So if there’s any problems, please let us know. Post on our Telegram or on any comment that’s convenient. So today is a really exciting episode. We are announcing the winners of our Mercata V2 trading, bridging and testing challenge. Um, and yeah, it’s been a really exciting time. I am filling in for Bob Summerwell, our normal host who is on a long um, delayed digital detox as well as honeymoon. So, he a well-deserved break to you, Bob. Hope you’re not watching, but you catch up later. And with me, I have Kieran James Lubin, our CEO and head of, and um, whale on Stratum Mercata testnet. How’s everything going with you today, Karen?
[7:08] Kieren: You know, good. Uh, I feel like shark is better than whale for this one.
[7:15] Victor: Can sharks eat whales? I I don’t know, you know, like a blue whale is pretty big.
[7:20] Kieren: Little ones. There there’s most whales are big, but there are some smaller, you know, um, there are some smaller whales, but I think on average whales are going to be bigger than sharks.
[7:29] Victor: Isn’t there a whale shark? Maybe you could be a little bit of both, you know, you can find that one.
[7:33] Kieren: A little bit of both.
[7:35] Victor: So, um, let me, let me share my screen because we’re going to jump right into announcing the winners today. So, as everyone knows from the contest who has participated. First of all, we want to say thank you to everyone participating. We got, uh, well over 30 participants this time, nearly doubling the the amount of participants we had back in January where we had like roughly about 20. Um, so we had, and this was much… July. Thank you. Uh, back in July. Time is going so fast. Um, and this challenge was particularly hard because we wanted to kind of test the application and simulate real world events. So anyone that was following in the contest channel could see that there were special events that I triggered on the platform where there were sudden price jumps, um, there were airdrops, there were all kinds of different events that kind of affected the flow of the contest and made different opportunities both on the downside and upside. And Karen, can you confirm with everyone, I never shared when those events were happening ahead of time? And you’ve learned…
[8:49] Kieren: It’s true, yeah. I I even um, you know, I think Victor may have specifically punished me even though I was ineligible for the prize. Like uh you know, my gym hours are kind of um pretty predictable. And I I sensed that Victor put some of them when he knew I would like, you know, be on the treadmill or lifting some weights or something and unable to uh reap the the profits that I normally uh do.
[9:19] Victor: Well, I cannot confirm to deny that I uh, specifically looked at your calendar, but I can confirm I do have access to your calendar. So it may or may not have happened. Um, anyways, there were, you know, what was different from the July contest is the July contest was really simply about trading. We gave everyone one of each assets and they traded. Um, and also we basically had a bug prize basically based on volume of bugs. So this time we wanted to make things a little bit more focused. We gave uh, people assets on the Sepolia, Ethereum Sepolia testnet that they had to bridge into the application. Like I said, we had these random events that happened throughout the contest. And then instead of giving like generic bug prizes, we gave two sort of bug prizes. One for the worst exploit, which was something that caused um, loss of funds, and then a best suggested improvement prize, which is uh a specific improvement that would make it easier to use the application. And we internally kind of rated all the submissions that we got and then we came up with the winners. So with that, I’m going to share a screen capture of the leaderboard as of yesterday 5:00 p.m. when the contest ended. Um Karen, you are at the top, but as it says, you’re a prize ineligible. Um, can you read out the name of who got the prize?
[10:52] Kieren: Yeah, I don’t know quite how to pronounce this, but it’s Aspa, like…
[10:59] Victor: I’m going to go with Aspa. Yeah.
[11:02] Kieren: They gave you a good run for your money though, I will say.
[11:06] Kieren: Yeah, I I guess like the the balance says that both of us caught most of the profit-making opportunities um that were available in the system. So…
Analyzing the Winning Strategy
[11:18] Victor: Yeah, so people want really wanted to know, where did you get so much profit from? Because I think when you bridged in all your assets, you would have around, you know, 3,500 in that neighborhood, like no, like around 3,100, um if you just bridged in the system. How did you wind up getting to like 5,400?
[11:41] Kieren: Yeah, so starting balance, yeah, I’m going to say 3,300, 3,200 thereabouts. Um, so you you go from zero to about 3,300 when you complete the bridging. There were two bridging activities. One gave you, um, I guess it was like half an ETH and the other gave some amount of uh, USDST, uh, which you also had some just from registering on the network. So, you know, part of the um, the trick in all of this, you know, in this state of affairs is that we generally encouraged and it’s uh, it’s a little bit tricky right now. Like if you wanted to use the same address on uh, well, I was going to say mainnet, but Sepolia really, and our network, technically we’re capable of it, but we’re not really allowing it in the app. So there were two addresses you had to input and I think people got confused. So, um, so the first step is bridging in everything. And then I did find as with the last contest that there, so generally speaking, it’s there are kind of two prices on our system. There are uh, Oracle, uh sort of like, you know, governance controlled if you will, um, spot prices and that’s what drives liquidations and the valuation of all the assets in there. And sort of what that, you know, maybe the one way to think of it is like if this asset existed anywhere in the world, what would be worth. Like people know what gold is worth, right?
[13:14] Victor: So if you withdrew the asset, you could sell it for roughly around that.
[13:18] Kieren: Probably the spot price, right? Whereas the swap pools for instance are intrinsic to the system and um theoretically should converge to the Oracle price in when you’re really running the thing like because you could bridge in and out. And so uh there would be an arb like like trading across two exchanges too. Um there would be an arb if the spot price diverges from the uh, sorry, if the pool price diverges from the spot price that you could take advantage of. And there was actually, there was a little bit of arb in the system. So, so, um, even before any of the special events, sometimes like the ETH price would be too high because people are excited about rotating into ETH or wrapped Bitcoin got high because people rotated into that for instance, and there wasn’t that much way to bring the price down. There wasn’t too much sell pressure on it, for instance. So it kind of stayed high, I think. But mostly our our prices uh had the pool price match the spot price. Um, except when Victor, so Victor manipulated both. Um, as part of the contest, of course, at at different times. So, um, moving the spot price up lets people sell, moving the spot price down, sorry, moving the swap, the pool price up, means if you’re holding that thing already, you can sell and book a profit. If you move the pool price down, and we just did this with like admin mints, you know, on the testnet, uh, in effect. Um, if you move the pool price down, this gives a buying opportunity. And I actually did, so there were a couple times when the pool prices were low and I would borrow using our CDP mechanism and buy as much as I could of the um uh, the asset that was underpriced. And I would, you know, and so there was a little bit of arb there too because the borrowing, so and I would loop it, right? So the borrowing power you would get would be proportional to the spot price. And so you could just kind of keep buying um that same asset so long as the pool price was below the spot price and it was an instant profit. So I think that was most of the balance or different situations where that was. There were also like if you applied quickly, you would, you know, get let’s say 50 USDST. There was a bonus for bridging out um, just so that we would test bridging out which I got. Um, and there were liquidations. I was very briefly going to be liquidatable because Victor created a very big um uh price crash, but I got to it in time before anyone could could liquidate me. And it was it was a position that was kind of healthy. It was at like 1.8 health factor, but I think Victor dropped the price like 50% or something.
[16:09] Victor: Yeah, I took some big swings because um, you know, I wanted to exert my god-like or fed chair-like power as much as I could while, Thankfully, I didn’t go completely power mad, but um, there were a lot of risks in the system and it was interesting how the system stood up to those risks that eventually, you know, prices started to kind of uh converge back into the right price.
[16:34] Kieren: Indeed, indeed. Um, but yeah, it was it was good. It was so actually in the previous contest also, the ETH price was moving a lot, which created like, so people were excited about it and they like bid the spot price way over the pool, sorry, the pool price way over the spot price and I was able to sell into that a lot in the other contest. And it just wasn’t as much natural volatility this time. So, you know, most of the profit opportunities were the special events and um, again, the goal was really to test all like nearly all the functionality that was in the app.
[17:10] Victor: And and I think one thing that led to part of the stability is in the last contest, people asked for that spot price to be put beside the pool price. Um, and you know, I think that helped people kind of make better decisions.
[17:23] Kieren: That’s right. Yeah, it lets you know um, when to enter versus not. There’s there was less like, you know, I think a lot of DeFi encourages like uh really rapid buying behavior, you know, it’s especially like the launch pads, you know, like like pump.fun or whatever, you like it’s it’s just about who gets in there first. You know, our system is mostly not like that. So, you know, we we want that spot price there just so people know, you know, if there’s a big divergence, there’s profit to be made and there usually shouldn’t be a big divergence and you get good execution and so on.
[17:56] Victor: Yeah, so congratulations um to Aspa, I guess that’s how we’ll say it, you know. Um, excuse us if we’re saying this wrong, who is going to win $500 USDC plus Carta points. And we have um a little bit of information from Aspa how they did it. Um maybe you can react to it, Karen. So, their overall strategy was to diversify, leverage, and wait for the right moment to be aggressive. Sounds similar to what you were doing, Karen. And then there, so what they said is, make sure to take advantage of all the functionality Stratum Mercata has to offer from bridging to swapping to borrowing and lending to liquidity provisions and liquidations. So, did you do any liquidations, Karen, or were you just like…
[18:44] Kieren: You know, I get confused by our liquidation feature because it said in the UI like zero profit. And I realized later if I typed a number for the amount I liquidated in, um, I guess it would have and maybe we have a max button, I can’t remember if we do. Um then then it would have uh, presented a profit opportunity. So I didn’t liquidate and I didn’t provide any uh, LP tokens to the pools. I think like in the short run, um, probably providing liquidity, uh, you know, just in the time scale of the contest, the returns will be pretty small. Even if it was like 40% APR, like over a week, that’s less than 1%. And so things will be dominated by sort of like whichever asset goes up the most. So I think in most cases what you want to do probably is just take the riskiest asset and hope in like a one week uh contest. In a sense that is what I stayed mostly in ETH except where there was a instant profit opportunity. But if you’re going to use a bunch of leverage, then maybe you should diversify. So we actually have two borrowing paths in the app. So we have a CDP mint, that’s how USDST gets out there. It’s technically borrowed when you put collateral in. And we have like a lending pool that’s more like the secondary market, um for uh USDST. So the lending pool allows you to sort of spread the risk across a bunch of collateral. So if you had some collateral that’s like way underwater, if it were by itself, that’s fine potentially in the lending pool, whereas the CDP is a little more conservative and so, you know, theoretically you the if you’re going to have a diversified portfolio, you might be and want to borrow, you might be better off using the lending pool than the CDP mechanism. It sounds like that’s what Aspa did.
[20:48] Victor: Yeah, and I’m going to add something to kind of related to what you just said. So, they said they were conservative with their borrowing, but they stumbled upon an Ethereum price dip event. Since they were keeping their loans healthy, they were able to borrow more at that point and use it to conduct liquidations.
[21:08] Kieren: Interesting. Um, yeah, so I just looped at those profit-taking times, but yes, uh, borrowing is a good way to do liquidations. We’ve kept flash loans out of our system just because they’re kind of complicated expert feature, but it’s it’s a little bit the same, right? Like you need, sometimes you just need, you may be in a healthy situation, but you need some liquidity to uh, liquidate and realize those instant profits and so, yeah, it’s a good way to do it.
[21:35] Victor: And the the last comment I’m I’m going to say from from Aspa is, um, perhaps my most unique decision was to spend time in the higher interest, lower collateral lending pool instead of the low fee pool to increase leverage and have more access to capital at a given health factor while decreasing exposure to single asset price tips.
[21:57] Kieren: Yeah, I I guess that’s what I was saying too. So that is a a reason to have. We had some debate internally on like, okay, so we’ve got a CDP and a lending pool. They’re kind of both borrowing. Do we really need them both? The answer is yes, based on or like we at least need the CDP, but the lending pool is like a great convenience. Easier to get in and out. Uh, you can just mint and then resupply to the lending pool. We also have the direct mint path, which was part of the contest. So you could take USDC and USDT and immediately mint USDST. Uh, we don’t guarantee redemption uh because there’s also the collateralized path. It helps maintain the peg. Um, but I think it’s good to have both. You know, I think um for convenience’s sake, the lending pool is more convenient, you know, um and you can kind of move the collateral in and out, um, etc. and you know, provides yield back to people who mint the USDST uh one way or another.
Technical Prize Winners and Final Thoughts
[22:55] Victor: Yeah, I mean it’s a it’s a pretty good strategy to kind of look for those profit opportunities. You know, I didn’t participate this time because I was doing those special events. But um, you know, we had employees participating in addition to committee event, uh, committee people. And um, I don’t think that many people actually pursued that strategy about looking for high interest in the pools. So that was a good one. And well deserved, Aspa, congratulations. Um, let’s talk about the next two prizes. So the next two prizes were sort of technical bug finding prizes. Worst exploit, which had the biggest prize, um it’s $1,500 USDC and Carta points. And um, and what we are awarding this prize to Data Juice for this one. Um, no CSRF mechanism…
[23:47] Kieren: Wait wait wait, let let me question that. I was pronouncing it Data Juice in my head. You think it’s data data like…
[23:55] Victor: Oh, I think it’s no, you’re right. It’s it’s d d dada, like uh, you know, like um…
[24:02] Kieren: But…
[24:02] Victor: Did I say data juice? Maybe…
[24:04] Kieren: You said yeah because I mean it it is I don’t know how it’s pronounced. We’ll have to…
[24:09] Victor: Yes. Uh I think it’s D A D A, yes. Uh it is d a uh it’s probably Dada Juice. Um I think you’re correct there. Um by the way, this was reported in the first contest. We had actually fixed it and then there was a regression. But because it came back, we decided that, you know, um that even though it was reported and we fixed it, it deserves a prize because it is theoretically possible to cause loss of funds doing this because you could kind of do like a, um an injection or a man-in-the-middle to steal someone else’s funds as they’re doing a transaction.
[24:47] Kieren: Yeah, yeah. I think it’s like if you’re logged in already and you visit some other site that assumes that every person visiting that site is logged in the Mercata, it could try to steal funds, get you to click something and and uh get in there. So it’s yeah, it’s a good one uh to uh and we’re we’re appreciative of, you know, um finding any any possible way where there might be loss of funds and…
[25:11] Victor: Yeah, and and you know, calling us to account like, you know, sometimes we make mistakes as we kind of build very, very quickly. I’ll also mention some people asked in the repo in the open source repo where this was posted, why there were still kind of issues from the first contest. It’s because we actually continue to do our development in a closed source repo. Um but we did migrate all those bugs over there. So none of that information was lost, but it did appear that, you know, not much had changed even though if you actually used the application, a ton had changed since, you know, I think we I think we closed more than 50 issues if I recall since uh since July.
[25:51] Kieren: Yeah, yeah, that’s right. And uh well we’ll open the other one up soon enough. Uh, there are some, you know, relatively minor blockers to doing so, uh, but we’re knocking them down.
[26:02] Victor: Yeah. And so, uh, a little uh thing that uh, now see if I can pronounce the name. Uh, the the improvement prize came here. Uh, you know, suggestion add a confirmation model before action sent to the liquidity pool. Currently there’s no confirmation. You just press the button and it goes. And we did get some feedback from some other people that this was a bit confusing. So, um, also the winner of this prize is Dada Juice. um, for another 500. So congratulations Dada Juice for all your contributions. Um this was a particularly good suggestion that we will implement before making it public.
[26:45] Kieren: That’s right.
[26:47] Victor: So that’s all the announcements for today. Um Karen, anything you like to add about this contest or um what what’s coming down the pipeline?
[26:56] Kieren: Oh yeah, it’s it’s a fun one. Um got to test more of the app. Uh interested if anyone has suggestions on like contest setup in the future, um we’re all ears. You know, I I think the goal of these things is both to like make sure the product’s good, but also to entertain to some degree. So, um we’re entering into a security audit that’s actually started in parallel with the contest. So, um as we continue to beat on the the the platform and the app, um we’ll start to head to sort of live soonish, um and it’ll still be like beta live. Like, you know, don’t put too many assets in the thing. We’re testing all the flows, but some things you have a hard time testing without real money. You know, like transaction sizes are more realistic with real money. You want to look at like pool utilizations and make sure you can actually like tune the yield to something’s that’s attractive, like the amount of liquidity is commensuratte with the trading activity and so on or or how much is borrowed, etc. You want the, like the the lending pool utilization like, you know, 80 to 90%, let’s say pretty high so that the capital’s being used and returning, but not super high so you can’t withdraw. Um and and so on. So, you know, it’ll be realler next time. Maybe next time we’ll just be just real money. We’ll probably, you know, keep doing uh, uh, keep doing contests. Although once it’s live, it’s like all a contest, right? But um, you know, just to thanks everybody out there who’s helping us on this journey. Stay tuned. Um, and yeah, uh hopefully, I’m itching to just make it real, you know. We just got to do uh all of the, you know, and we’re trying to be really serious both about kind of low-level security that could lead to loss of funds, but also things that are unintuitive, you know, and we’re trying to, I think most DeFi has uh pretty sharp edges. You know, it’s uh mostly expert products, not easy to use. We’re trying to make it simple, um fairly easy to use to some extent consumer protecting, but still fun for the degens out there.
[29:21] Victor: Yeah, and I will say we got some amazing feedback this time both, you know, on the repo and privately. Um, you know, thanks to everyone that participated and provided us that information. Uh, just for everyone to know, um, we’re going to be a token, Kieran and I will both be at Token 2049 in Singapore next week. If you’re around, please ping us on Telegram. We’d love to get together with you, but we won’t be having a spaces next week. Uh so there will be a week delay from our next spaces. Though we have a lot of to talk about including a short preview, um, uh, you know, Vitalik’s announcement that low-risk DeFi is the future of Ethereum and we believe the future of blockchain projects in general. So we’ll talk a little bit more about that and maybe a recap of Token 2049 at our next spaces. Thanks for everyone that’s joining. Take care.
[30:13] Kieren: The truth is out there.
[30:14] Victor: Thanks.