Skip to content
by Unity Nodes
NEAR Protocol

DevHub Live episode 41 - Connecting Web3 projects with the right users w GrowthMate

about 1:12:33 long

Nothing is loaded from YouTube until you press play, and then without tracking cookies.

About this video

NEAR is the Blockchain for AI Website: near.org NEAR AI: near.ai Intents: near.org/intents Chain Abstraction: proximity.dev Sharding: nearone.org

For the devs GitHub: github.com/near Dev Docs: docs.near.org Devhub: devhub.near.page @NEARDevHub

Connect with socials Twitter:   / nearprotocol   Blog: near.org/blog Medium:   / nearprotocol   #NEAR #nearprotocol #NEARAI

Transcript

10,955 words

Captions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.

  1. 0:08

    We moo moo moo. Tell me what you want. Tell me what you want. Tell me what you want. Hey, welcome back to another edition of DevHub Live. I am your host, Joe. We are packed with another great episode today.

  2. 1:12

    Uh, a little bit of housekeeping before we get started. Uh, again, if you haven't subscribed to our newsletter down below, uh, please sign up for that. Lots of great stuff going on including our our new challenges that are coming out regularly. Uh we are really pushing to engage developers through these challenges. Uh actually we have Vlad coming on at the end of the show to talk about the upcoming challenge as well as

  3. 1:38

    this previous one uh which we got a lot of great feedback on. So if you want to be you know first to know about that stuff obviously follow along here. We also uh the hackathon that was just for uh one trillion agents just wrapped up. Uh all the winners were announced on our Twitter. You can definitely go and check that out. There's plenty more hackathons going on. Um check out the one trillion agent uh website and you

  4. 2:04

    can see more of what's coming up there as well. And today um so today's guest is growth mate and I'm excited to talk to them because this is an area that uh when we talk about the transition from web two to web 3 and what it means for data privacy and things like that uh you know how you reach communities how you advertise how you go out there is an important piece of that and it's not necessarily going away it's still part of business and so growth m trying to tackle that challenge.

  5. 2:36

    and uh using some things here on near in order to able to do that and I'm really excited to talk to them and so we have Mohhamad from growth mate here thanks for jumping joining us today hi how's it going great great great so let's start at the really high level um what is growth mate yeah so in short uh we build recommener systems for web three users um and so based on person's transaction history and onchain interests uh we can connect

  6. 3:10

    them to a pool of opportunities that our system knows about. So when you say recommendation is it would you call it the same as advertising or is it something that is a little bit more than that? Yeah. So the core of it is about recommendations but then you can have multiple applications for that. Um and so in our case we actually do one of them it's advertising. Um and so the pool of options would be ads or

  7. 3:39

    campaigns from multiple advertisers. Um but we also have another product um and it's uh what we call wallet feeds and it's like the pool of uh candidates. It's things that we collect ourselves and money does not play any role in that.

  8. 3:56

    So you guys are working with onchain data. What kind of prompted this approach to it? I mean and and I'll preface this as uh you know I both for my own businesses as well as some of the other stuff work I've done. Advertising and recommendation is a big piece of I think anyone who's trying to run a business. Where does that piece of taking what somebody's doing on chain start to translate how you then like match these communities up?

  9. 4:31

    Yeah. So what prompted this is um in web 2 you have companies collecting all kinds of data like uh they try to know personal information the person's like gender age uh geography and they use those uh pieces of data to try to understand the person's interest. Uh so it's kind of an in indirect way versus in web 3 you literally have the person's like transaction history which is like a purchase history and so instead of doing

  10. 5:04

    like uh you know uh some kind of indirect way it's you have there what you need and you don't need uh to try to get more personal data that's not relevant to like the purchase decision decision itself. Yeah. Interesting. Interesting. So one of the things that I think is important for this discussion before we dive more into the actual product and what you've built here is that there is that part

  11. 5:32

    of if you are tracking and if you are looking at someone's transaction history some of the things they're interacting with how how anonymous is this stuff and I think and I'm not saying this is something like that you guys are doing I think but people have a misconception of blockchain and like what that really means. I think for some reason people are think it's uh more anonymous than it

  12. 5:56

    really is. Um because it literally everything is transparent. Um so how do you kind of phrase that and h how do you think about that as you're building growth mate as a whole? Yeah. So um as some of the listeners might notice like when you try to open for example bank account then you go there you provide your personal information your ID um all that versus when you try to open to have like a wallet um basically all that all that you are doing is you are generating a random number locally on your machine and then you're just

  13. 6:33

    using that random number to authenticate yourself uh to say like hey I have control over this over this wallet I can make this transaction, right? Mhm. Uh so now every time you try to connect or and use like some web 3 D app, you're you connect your wallet and at that moment the app itself knows your address, right? And so yeah, they they can tell like they can look up your transaction history from the blockchain. Mh. Um but then on the other hand, you don't they don't have access to the personal

  14. 7:05

    information because you know you don't provide that in the first place. Right. Right. Right. That's random number. And is it for you guys and in your business and and we're going to show a demo in a minute, but I want to just kind of get into your business a little bit. Is the business here while you're providing these insights? Is it to be able to simply go back and present marketing opportunities or are you actually trying to be able to reach out

  15. 7:36

    and engage that user base like directly through something? Yeah. Um so again for ads you have for ads itself you have multiple applications. So for one you create a new product you want to get some awareness to your project right and so in that case that's one application for ads but yeah I would say like a more prominent application would be retargeting right so um yeah that's the case where users are using like they

  16. 8:08

    already used your product or used u a similar product and so you would want to reach out to those users because you already know that uh they are interested in what you are doing and you have higher chance to convert them, right?

  17. 8:21

    Yeah. Yeah, I know. It makes a ton of sense. Um, go ahead. Go ahead. Sorry, I just wanted to add that. Uh, so that's on the add product side. Um, on the other side, uh, which is our wallet feeds. Um, we collect ourselves, um, like all possible actions that you can do on web 3. Uh for that we built our own like u um event processing pipeline that collects things from Twitter um like announcements. Um, and by the way,

  18. 8:50

    here's a small shout out. Uh, please if you are building on near and you make uh an announcement about your project, please like tag either uh nearweek, they have a nearweek bot or uh newer uh created fun um and because those those are two of the sources that we look at uh for example and we also look at APIs like defy lama um we scrape some websites. So um yeah and the goal from that is literally just to find the most interesting things to each user because

  19. 9:24

    in web 3 in general attention span is uh there's so many projects uh fighting over it and there is so much going on that as a user even me myself like I always miss things that I would be interested in. Yeah. Absolutely. Yeah. No, great great point there. I mean I I think that is one of those things too that I really feel like is so underrated that like just again like looping into the ecosystem making sure that people are even aware of what's happening because we are so disconnected here

  20. 9:58

    everyone being online there's so much information all the time so curating some of that obviously uh is a piece of that uh I have a ton of questions I definitely want to go into some other areas but I'd love to Maybe we take a few minutes and actually walk through the growth mate product and give people a sense of what that is and then that'll maybe help frame some more of my questions here.

  21. 10:22

    Okay. Um should I share my screen here? That'd be great. Let's see. Um I guess now you should be able to see one of them. Hold up. Yep. Perfect. Okay. Um so here I started with the uh wallet feed product. And so in this case uh like our latest iteration is just a chat assistant um that under the hood it has access to multiple sources of of um information and so yeah you can see here I'm logged in with my wallet script.

  22. 11:18

    Um and so it knows for example my net worth. Um it knows my uh portfolio my holdings. Um this is also like another um like one of the u parameters that play a role in the recommendation. For example, hey you hold these assets by the way you can do these cool things with those assets that you hold already. Um and it has access to my transaction history. Um and we do this by the way also multi- chain. So we have

  23. 11:46

    near ethereum, polygon, bay, many EVM. Um and so based on that uh based on my holdings I was like hey suggest me some cool things to do. Um and this is here I would like to highlight something uh in contrast to most ecosystem pages.

  24. 12:06

    So most chains they have an ecosystem page where you can look up at all the projects that are deployed there. Um and in our case like usually if I just give you a logo and by the way we are going to uh I just noticed um RIA finance right there is the new rebrand we should update that um so most of them they just show you like RIA finance or refinance they show you logo and they tell you it's a DEX but they don't tell you the opportunity is inside the project so

  25. 12:35

    it's like okay it's cool it's a DEX what can I do there in the end and so we go one level deeper and we um like surface all the opportunities from within the projects. Um so it's the highlight here is about more about what can you do and not just about telling you hey this project exists. Um and so yeah in this case uh it detected that I transact a lot with stable coins. Um, and I also I also have some uh transactions with Shih Tzu. And so it recommended to me these

  26. 13:06

    uh farming um opportunities on on Ref with stable coins, Shiu. Um yeah, stable coins also is sorry I I want to is the goal here for something like this is to be a standalone product or like with the recommendation for this to actually move inside again like you said like a wallet or you know maybe Rio finance actually has this on their site things like that.

  27. 13:33

    Yeah, it's uh the second. So stand having standalone uh thing is great because it allows us to iterate and uh test with users in the beginning. Uh but eventually we want it on ecosystem pages in wallets. Wallets already have like discovery tab usually or some explore tab and so I think this would be like a really great fit. Um yeah, nice nice and then you can yeah you can prompt it more. You can tell like show me stuff

  28. 14:06

    from other ecosystems. Um and we also noticed that uh many times the users in the beginning they would stop the conversation early mainly because they wouldn't know what to do with the tool. Uh so this was like a really helpful addition and maybe like a good tip for anyone who's building agents in general.

  29. 14:25

    uh follow-up rounds. They're great, right? Yeah, makes a ton of sense. So, for for you guys and for this like so like those recommendations, where are those coming from? Are you sourcing those or is that something where you know like is it paytoplay like where does that all fit into?

  30. 14:44

    Yeah. No, no, as I said uh so first we source them ourselves. Uh so this is where our event pipeline comes in where we collect things from Twitter, Telegram, RSS feeds, websites, APIs. Um it's not paytoplay because again for this product uh if it if it's going to be integrated into wallets, ecosystem pages and like other third parties then you're providing the value to those and so the value there would be you should give really the best recommendations to their users.

  31. 15:19

    Where does that put you guys as the facilitator of that? I mean, is is that is part of your business model then to say like we're providing this best possible tool and so the service like Rehea would pay you guys or where does that all fit in for that?

  32. 15:38

    Yeah, eventually the integrator uh should pay. So for now because this is like a new product uh we would like to demonstrate value first. Uh but eventually it's it's on the integrators because they should be also the ones who benefit from the value. Sure. And of course eventually they can make agreements. So you see here um another thing is we always link uh the user and we try to make it like specific to the page itself. Um so if I'm farming I will land directly like in the pools page. Um let's see if this works.

  33. 16:16

    Okay, I guess because they this is the rare stuff that I should integrate. Um but eventually always try to send them to the exact place and so um one possible thing is to add some uh like UTM parameters there and you can have some agreements between like the integrator and the target itself. Um, yeah.

  34. 16:39

    For you guys, I mean, obviously agents are the hot topic right now. For you guys integrating this piece of it, is it something that feels like this is the better uh approach to the interaction with the end user or is this kind of like one piece of the toolkit? You mean like, you know, is it is there a point where like it almost feels like you're presenting like ads like the way Google

  35. 17:04

    does and like results of just let me just show you stuff based off of that we know who you are versus you having a conversation. Um yeah, so when we started building this first we started as just the advertising product. Um and so it was mainly about ads. Uh but then again we uh realized for one if you're going to a publisher u or someone to integrate your ads platform then the main value proposition there would be hey you will be paid to to display ads right on your

  36. 17:40

    site. Um and there we quickly figured out that for certain verticals um in web 3 they are not interested in like the revenue that they would generate from ads. um for one because the the number of users it wouldn't be that much. They are mainly making money for example on swap fees, transaction fees, right? And so they would be interested in a different value proposition. Um and so they are mainly interested in growing their user base u in retaining their

  37. 18:11

    users. And so when we looked at um what we have built already uh we figured like hey actually again we are like in the core just a recommendation system. Mhm. The pool of candidate changes. So you switch for one product the pool of candidate is advertising campaigns that are paid for. For the other product the pool of candidates is um like uh these opportunities that we collect. um then you can basically have like two products

  38. 18:41

    but you know they are built on the same system more or less. So it wasn't like a big um effort to spin up a second product. Um interesting. Uh so is this built on something within the ecosystem uh or is this fully from like your guys own the agent part of it? Just the agent part of it. Oh, the agent. Um, yeah. So, we started with bitter. Um, by the way, yeah, like thanks a lot to their team.

  39. 19:16

    They have been great with support uh and questions. Um, I liked a lot their like um embedded um agent kit. Mhm. Um but then we are also going very like very soon uh we will have a uh another version for near AI. Um and what attracted us mostly there is that um the data and the recommendations can be accessed from other agents. Um yeah so we don't need to do the integrations ourself. Right.

  40. 19:50

    Interesting. It's mainly like the way I think about it is mainly up to our agent to convince other agents uh that he's the confident one to take over this desk. Right. Right. So, uh, while we're on the topic of agents, and I want to kind of stay with this a little bit here of, as you're designing this to provide these recommendations, like how are you guys able to test what's coming out? Like, how do you

  41. 20:20

    and and I want to phrase this as like obviously you can like ask questions, right? You can do normal tests as like a user, but you want it to actually funnel people into different paths based off of like what their background is, what they're interested in. What is that validation that you guys are doing for that piece?

  42. 20:43

    Yeah. So, for one, it's just very simple uh web analytics. So all you want is like you have we you know we created this new thing it's uh hosted on a website somewhere no one knows about it right uh so the very the easiest thing is you should first drive traffic into it uh for that we use ads surprise surprise right um and uh you just bring traffic into it and then with web analytics uh you can figure out um so that's one one of the ways that we figured out that hey the conversation

  43. 21:18

    was stopping very quickly for example, as I mentioned, and then we're like, "Oh, let's add these followup prompts." And then you would see the conversation going longer. Um, yeah. And what would be um another thing? I don't know. I think that's it.

  44. 21:37

    So, and again, this is uh this has got to be a challenge, and I'm using the web two as an example because I think it's the most clear thing that people definitely understand. So I'm not trying to just do an apples to apples comparison here but in web 2 in order to get some of these type of results like they are collecting massive amounts of data. You guys are leveraging as much public data as possible in order

  45. 22:04

    to do this. Is there a point where you need to have some of your own data that's being collected in order to improve the product and to get to that point? And what does that look like for you guys in order to if is that what you're doing? What does that look like?

  46. 22:21

    Yeah. Um maybe uh small story time here from like when we started this. So we started again with the promise like hey we don't need to collect any um side data right uh we have literally purchase history that's all you need. Um and when we tried launching the advertising product uh first advertiser uh they were like hey we have a community of um we have a product from like a non-English-speaking country. Um and

  47. 22:55

    they were like we only want to run ads to people who would understand that language. Sure. Which like makes sense. Yeah. Um how do you get that from blockchain data? Right. it's not there like you don't see the person's main language uh from blockchain history. Um and so that's where we know hey we had to expand uh the scope a little bit. Um and so you have like one side you have blockchain data but then on the other

  48. 23:27

    side you also get um like server side uh data. So any data again this is maybe like some um you know like in in blockchain for example when you make a transaction to a smart contract then the transaction will appear. Mhm. Uh in web two there is also similar things. There are some data that must be revealed like if your machine is communicating with another machine then IP address will be revealed right. Of

  49. 23:52

    course you can like try to hide that through like VPN or tour or some other means but well in the end like you will get the IP address of the machine communicating with you and so with the IP address there are also some headers that are sent with every request. M so that's like what we call server side data. So we try to also like hold ourselves so far it's been enough. Um yeah and we don't want to get into like client side which is getting data from

  50. 24:21

    the user's machine. Right. Right. No I think that that's an interesting approach. I mean there, you know, just from a philosophical standpoint, I I like the way you phrased it like there are different probably dividing lines of like when is it too much, right? like when is what is that line of like what's the bare minimum that we need to iterate our product x amount better and so I like the approach of that there and for

  51. 24:52

    people who are coming onto the platform as they start to then use this product and and as you guys are starting to serve up more recommendations is that a piece though for you guys are you collecting that information of like um I I was doing farming. It recommended this and I clicked through and now I I am like that was a good choice for me. So you guys can then better serve that. How it is that all work together?

  52. 25:22

    Yeah. Yeah. So um we we get like uh first when we serve uh the recommendation anything that we serve it's uh we log it in our data in our own database. So that's like what we did and then uh the feedback on what we did comes in from first did the user see that. So that's like a view like when you see on Twitter or YouTube that's like views it's the equivalent of that impressions. Um and then whether the user clicked on it or not. Mhm. Uh so

  53. 25:55

    and then of course uh right now this part like the last part would is not automated but uh seeing if those clicks resulted in onchain actions right um I know some projects they are working on this uh so this feed it's called attribution and so there are many web 3 projects that are specializing in this uh for now we do it in the form of like uh our own internal uh case studies you know I I mean you you the the

  54. 26:25

    obvious answer was was right there of like like you just said of you all you need is the onchain data in that regards because if they then do a transaction you now know okay you were here you did this kind of transaction so you can start putting you know A and B together here and that okay that's what led to it without having to again and I think and I'm bringing this all up because I I'm a big believer in user own data and privacy and things like that.

  55. 26:58

    And this is a really interesting approach that you guys are being obviously conscious about that. But this is where like the power of blockchain actually fits in this example of you don't have to have all these loaded referral links. you don't have to have all of this other tracking information because you're simply saying look the end goal is to make a transaction. And so as long as I'm here and I know that like this was recommended to you and you then transacted like that's that's a win.

  56. 27:30

    That that is success. Now it's now a data point that's still publicly available for you guys to process. Am I on the right track of how you guys are thinking about that? Yeah. Yeah. Exactly. And then even sometimes it's helpful uh like in in minority of cases where you make a recommendation of something that we actually believe it's not the right thing. Um and so that's uh where you can test your algorithm

  57. 27:56

    because you can tell like hey what if the user actually takes that then our algorithm was not right about it. Right. Right. So that's also like some good source of valuable data. Absolutely. Absolutely. For the for you guys and I guess I'd like to talk a little bit about actually because you guys are live. You are an actual product. You went from again you even said like you kind of slightly pivoted a little bit. What's that process been

  58. 28:29

    like to have this actually ship it and then decide uh we need to adjust the plan a little bit just from a business standpoint? Well, I mean you have conversations with projects. Um some projects they take your first product um some projects don't and then you try to find the uh commonalities between um the projects that did and the projects that didn't and that's how you can like

  59. 29:02

    segment and from there you can know okay this is like at some point you already know before talking to the team like hey this project is in this vertical probably we should pitch them this product with this value proposition because this and this Right. And for the other teams, it was uh mainly like trying to get feedback from the the teams that didn't want the first product. Mhm. And that was also like a little bit tricky because many projects they just like no thank you. But then

  60. 29:34

    like okay, you know that they're not interested but you don't know what would be a good alternative for them. And so we we had to take just do more conversations to be honest. what what are you finding and you know and I guess probably this fits into maybe a further discussion of your roadmap but like what are some things that you're finding as you have these conversations like I I have to imagine especially those companies that are trying to be cryptonative first they are

  61. 30:03

    trying to uphold some of that ethos that the idea of having to do recommendations and advertising type of algorithms must be I don't want to say a tough conversation but just something that maybe like their instant reaction is like no and then you have to kind of go a step further of like well let me actually educate you on how we are still preserving some of this stuff. Is that is that part of the job of what you guys are trying to do here? That is indeed part of the job.

  62. 30:38

    Yeah. Um but again for example like one of the most important verticals to us wallets um they already have like a wallet it's like the gateway um to web3 um and at some point many wallets are working uh towards a future where they want to be the only uh place so the user doesn't have to keep switching and going to different UIs different front ends to interact um with the like you know different projects. They just need u

  63. 31:10

    it's more than just a key management solution. It's just one super app if you want to borrow to swap to stay you do everything from within that app. And so they are already interested uh very much in retaining those users and uh knowing what would be interested to them um and what the things that their users are like um really want to do. Um now the problem there is many wallets they want to build that um

  64. 31:41

    internally. Okay. Okay. Well like we have developers we can do it ourselves. Um and the big point um at least in my opinion against that is um like the more data you have uh the better algorithms that you can train and better algorithms mean better recommendations. And then again it's like a feedback loop. with more recommendations, you get more data. Um, and that continues. And so if you have

  65. 32:09

    like tens of wallets and everyone is just working on its own thing internally, for one, they would be repeating the same uh process. But then also like they um the acceleration or the improvement of the recommendations would not um happen as fast as if they just uh give this to a third party and then they can just aggregate all the data. And so that's yeah, is that is that like the main value prop for you guys right now? Is

  66. 32:42

    that like you're going to be able to improve your recommendations and your algorithms faster by being an aggregator versus someone doing it in house? Of course. I mean um like a wallet they have so many things to do. I mean for one they have to make sure that they are managing the their users keys securely.

  67. 33:07

    Um you have all these new uh like chain abstraction, account abstraction, smart account, these whole like signing uh standards that they have to keep up to date with. They have to integrate with other projects under the hood. They have so many things to do. um like if we are not doing recommendations at least it's like our one thing and if we are not doing it better than them then what are we doing here you know?

  68. 33:33

    Yeah. No for sure. I I mean I I think just from like a a builders and developers standpoint there's a great lesson in there of like understanding like what you're good at and understanding like what your strengths are as a product as well. And like you said, I mean, there are so many other things that go into running a wallet, for example, that for them to then add on something like this in house is detrimental probably in multiple ways.

  69. 34:00

    It's taking away time. It's taking away it's maybe, you know, financially burdensome as well for them. Uh it's not their core case. They're not going to have as much information as you have. And probably when all said and done, you know, if they had just integrated a product like yours, not only are you they probably saving time, but they're getting a much better end user experience for them.

  70. 34:27

    Yeah, exactly. Yeah. So, kind of I want to go back a little bit here and talk about the advertising piece. Is that something that you guys are still pursuing or is that kind of going to the wayside a little bit? No, it's we are pushing two products in parallel. Yeah. What what is that what does that really look like for web 3? And I I and I guess maybe like just for even for my own education a little bit of like how do you start to separate what does web 3 advertising

  71. 35:01

    look like versus what everyone knows of of like web two? That's that's a great question. Um for one I don't think that um we should try to separate uh that much um because again advertising in web too it's very mature industry um like they have uh um in the workflow like from the time that you visit website to the time that you get an ad there is so many uh third parties involved uh so many you have like you know your demand side uh

  72. 35:49

    platform, your supply side, you have like the exchanges. Um there is like many pieces in there and I don't think we should just reinvent the wheel just because we are web 3. Mhm. Um I think uh the main benefit here in web 3 is it's all about using onchain data. Um there is like a really good place where we can fit into the existing web 2 infrastructure. Um I think like for example pre-bid enrichment solutions they would be like really great. So that

  73. 36:21

    in that case maybe like a small uh background. Um so in in many systems where you go to website uh the website like gets some parts of your data maybe if there's like some cookie associated um with you they put that with the context and then many advertisers um they can bid it's like an auction and then the winner of that um is going to get to display their ad.

  74. 36:49

    Um and those bits they are done like in they're informed bits right they're bidding based on the data that they know about that user or about the context where the user is um and I think if like web 3 if we can demonstrate value in the data that we provide um and if the data that we provide does contain more signal than the other like personal data let's say Um then hopefully eventually um you know more advertisers would rely on these signals

  75. 37:26

    instead of uh the other more uh privacy like less private um signals that they are getting. Um sure and so I don't think of it as like replacing web two. I think of it as um like integrating in one specific uh place and doing that. so well that you demonstrate value that they get to adopt your part. Yeah, I mean it sounds like it's another data point that fits into the larger message here and hopefully you can start to replace like you said some of those privacy concerning data

  76. 38:04

    points for you guys. I mean just from the business aspect I don't know the advertising business super well. I know enough just from like buying, you know, different ads like on Google ads or whatever, but um for like that supply and demand piece of it, is that something that you guys are trying to also solve for of like how to price all of that? because and the from my understanding and please correct me if I'm a way off but from my understanding

  77. 38:36

    is that the the more someone will pay for an ad is the more targeted it can be right so if I if I know that like I am reaching a very specific targeted audience that ad is worth more so I'm willing to maybe pay more as the advertiser and I can charge more as the supplier as well so for you guys where you are limited in data and but you do have some interesting data with onchain stuff. Does that like how does how's

  78. 39:09

    how's pricing start to kind of fit into that and like what are you guys thinking around part of that? Um so first um when you go to advertisers and you tell them like hey uh this is an ad solution um we found that many many of them they have like some kind of anchor on web two prices.

  79. 39:31

    Mhm. And so they they think like oh this is what I was this is what I would pay if I'm targeting on X or Reddit. Uh and so they would think of similar prices. Um I think that's like purely psychological. Um on the other hand we don't have it's like we right now our system works with an auction mechanism. So we use perturbed second price auction. Um and so again we don't need really to push on

  80. 40:00

    on prices um as much as just leave it up to the uh free market. Um but eventually um as you said it's uh based on the data um and based on how much each like advertiser stands to make by uh bringing a user to their platform. Yeah. They should be willing to bet more when it's clearer to them that uh that that user is like more qualified let's say. Right.

  81. 40:28

    Right. Right. Right. And and that that feels like where the work you guys are doing with the agent makes a lot of sense and I could see how that could inform what you're then doing on the advertising side of understanding like user acquisition. How how do I get somebody who is in this bucket based off of onchain data to this product? And you know you I can start to see where those pieces all kind of make sense.

  82. 40:58

    Yeah. Um I mean maybe a small tangent here. Um so for wallet feed you see an agent uh which is like an L&M right? Yeah. Um LMS would not be uh like a great fit for an ad product. Um just because for one you're optimizing for latency so you want to respond to the user like really fast like tens of milliseconds. they matter because otherwise like the user would scroll past the app and now you lost um the

  83. 41:31

    opportunity and so the way our project started is we started with uh by training our own predictive algorithms. So uh we look we get like all transactions that happened on a chain for a certain month. Yeah. And then based on that we can train our own in-house uh machine learning thing that it can predict users next action and we did that with like about 80% accuracy.

  84. 41:59

    So given like users last n transactions you can tell for example which category they are going to interact with next. Uh so that's would be like defy dex amm borrowing um and how much USD volume would be involved in that transaction.

  85. 42:17

    Interesting. Yeah. But we found like uh the thing is when you when you build this sort of uh stuff and the way we did it um it's very uh like oified in a way where like if you if you're working with some structure of data and then that structure of data or you get like another data point then you need to change and retrain the models. uh versus when you have something like uh just pure recommendations where the user really wants to go and explore stuff latency is not as much of an issue and

  86. 42:53

    so an agent gives us like a flexibility where I mean like like again right now we integrate multiple chains we don't even need uh to have like a unified schema of the data from those chains you just like give it to the L&M and it can it knows how to work with the data so it gives us like more freedom to iterate quicker Yeah. No, that that that that that's a really good point um of just how being able to feed some of that raw data in there probably

  87. 43:22

    allows for insights that you wouldn't normally catch on anyways, right? Like it's just going to do a better job with some of that pattern matching and things like that. Um this has been really interesting. I do want to end with um and this actually question came from the audience so I'll actually bring it up.

  88. 43:39

    Just kind of talk about like your road map. Um you guys are doing some interesting things here around both advertising and stuff with the agent. What does that roadmap kind of look like? Uh you've talked about crosschain a little bit already. Um what is what's the road map for you guys in the next 6 to 12 months?

  89. 43:57

    Talk to more projects. Um get more adoption for both products and uh refine recommendations like make the product better I guess. Yeah. Yeah. Yeah. Yeah. Yeah, I mean that's I think it's a great point and like we talked to a lot of builders here and we want to highlight come from that process. Sometimes the road map is simply just iterating, right? It's not always like right it's not just feature feature feature feature all the time. Sometimes it's simply like hey we know what we're trying to do.

  90. 44:28

    We're going to continue to iterate. Um, I know I love that you guys are are really seeking feedback um from outside and getting a sense of like what what users are looking for um and what potential customers might want from there. Uh where do you see this as a a business model long term? something where you start to allow people to kind of get in on the action some degree of like um like how Brave does the thing of like you could like get paid for seeing

  91. 45:01

    some ads, you know, you get a token for that. Is that something that's on your guys' mind? How do you see the business model shaping up? Yeah. uh like during our conversations some publishers mention things um on like from from close to that. Um for now it makes it much easier if we just u give it all to the publisher or like to the platform and then it's up to them how they want to redistribute it uh between their users or between themselves and the users. Um it makes it

  92. 45:35

    just easier for us and it gives them more uh flexibility. Um but again if that's uh something that more publishers would ask for then um it shouldn't be hard to implement especially that you have this whole like closed feedback loop where you can look up the actions on chain right um in that case you don't even need to make the user like go like you can just you wake up one day and

  93. 46:00

    your wallet has a little bit more money in it because right you've been looking at some stuff. Yeah. Yeah. Make makes a ton of ton of sense there. Um, this was great. I, this is something really interesting. I'm really excited to see how you guys continue to grow. I know there's a few products I've seen around crypto trying to do something similar, but it sounds like you guys have a really, uh, unique approach to this and,

  94. 46:22

    uh, I think the agent's really clever to get started from there. Um, anything you want to end on? Um, obviously I put the website here at the bottom. People should go check you guys out. Uh, is that the best way to kind of get in touch with you as well?

  95. 46:36

    Yeah. Yeah. from our landing page. We have uh our email, Telegram, everything. Perfect. Um thank you so much for the opportunity. It's been great. Yeah. No, thanks for coming on and we I'd love to have you back on as you guys continue to grow and kind of re re kind of look back at like what's happening with all of this and stuff like that. So, thanks so much. Awesome. Appreciate it. Thanks, Muhammad.

  96. 47:01

    Uh great stuff. Really great conversation, guys. I I hope people learned something from that and sought to see you know again I love the part where he talks about uh what goes into building the app as well and that feedback loop as so that's a big piece of all this as well I think is people need to it's not just about getting a product that you think people want to use but how you can iterate based off

  97. 47:24

    that feedback so uh really great stuff uh as promised everyone has been super excited about these challenges so I'm bringing Vlad back on here. Talk more about this past one, future ones. Everybody wants more. So, we brought you more. Vlad, how's it going? Going well.

  98. 47:45

    Thanks for having me. Uh, that was amazing talk, by the way. Um, very insightful. But, uh, back to the challenges. First I want to talk about again u just a reminder we are doing quests every week and the um last week was not exception and this week is is neither uh so but also this is educational exper experience so I will take a bit of a like we'll start from um uh recap where it all uh happened last week. Uh so let me uh let me bring up the screen.

  99. 48:28

    Um is it shared Joe? Yep. Uh amazing. So this is where it all started. So new quest for near developers by near developers. That is going to be the ongoing theme and as you can see this is where it all started. Uh this is the output of near CLIs. A very beautiful way to view that the this is the account name uh that was um captured to this block height and you can even find the

  100. 48:57

    contract link associated with this code and obviously you can also see also see the methods available in the contract. Um there were some tips uh along the way uh how to solve it, where to look and this is where the code was published. Uh it was implemented fully in Python SDK and uh the um the it was a lot of fun to see how people tried to solve it without the um a way to solve it in the first day. Uh there was a clear indication that the the quest will start and being activated

  101. 49:40

    at specific time in the future. Uh I think I um didn't immediately communicate the fact that uh there is going to be a second uh secret portion revealed later on. So um a lot of people tried to uh crack it before that. I'm very proud of uh Python's decay uh to to hold strong. No no no bugs revealed and nobody could uh um interfere with my plans to to run this quest. That's good.

  102. 50:13

    Uh so we started on uh Friday last week, Friday evening. Uh it the activation started to tick. The activation uh was uh in this in realm of 24 hour like there was two iterations of it. So the first iteration was 24 hours uh plus uh some random amount and it was recorded on chain. Uh the uh the activation time unfortunately the activation time was not printed printed in the logs. Um

  103. 50:45

    there was some funny uh communication here in the comments and uh the first challenge was to find when the activation time will happen and for that you could use uh near CLI uh to uh to or or any other uh tool actually uh to view the state of the contract.

  104. 51:07

    Um let me show you quickly how. So on the contract uh in near CLI there is a view storage and you can uh view quest uh there two uh no not this one uh not the owner account but the quest itself all keys as text mainet yes and activation time was in nanoseconds uh um UDC time. So this is how you could learn where where it all start will start. But then the second part you should have

  105. 51:48

    called withdraw method somehow and withdraw method uh had several uh guards in it. So you you had to deposit uh some tokens uh with a call. So you learned how to deposit uh near attaching it to the call itself. Then the activation time should come. So whoever has the more precise estimation where it is uh kind of wins. Um then but also you have to call the contract from the uh uh from

  106. 52:24

    itself. So you have to the only way to oh no not from itself but from the uh owner account ID. So you can only uh be allowed to call the withdraw method if you uh sign the transaction um or make a chorus contract call from owner account ID. And what is that? That is this uh near dev quest owner account. Um, and this is where most of the people uh spend their time the first 24 hours trying to figure out how what what is the flow in this logic and how to abuse

  107. 53:04

    it. Um, there was none. Uh, and um I'm I'm well uh this is always a good uh exercise to maybe find some creative ways to avoid it. So uh but there was no uh and the second piece of the quest reveal was revealed at the activation time um on blockchain. So uh on the blockchain near blocks uh if we would go to the quest account or to the owner account doesn't really matter because they were interacting with each other.

  108. 53:46

    Um, sooner. So, this was the the the contract, the account that was holding the contract. And if we would, as you can see, there was quite some uh attempts to do something with it. um and uh in the form of these updates. So there were some contract calls happening. Please Um let's see if uh we have other explorer that is working at the moment.

  109. 54:55

    Um here we go. archival note uh for the win. Uh so there were some messages going on and um the message had so yeah and and uh just a quick recap the quest actually was solved uh several times but the on the first day on Saturday um two attempts and two two successful attempts were done by white hackers and they decided to uh returned the bank back to the to me and we restarted the quest and on Sunday I changed the rules a little bit. So we will talk about the first

  110. 55:41

    rules. So the f the first um uh iteration of the quest. So I I was posting the this hint um of inviting people to gain the control to the account and the and and was tell talking about some beneficiary account being fra and I was providing signature and uh a recent block hash.

  111. 56:09

    Um this may be too cryptic or maybe not but uh the uh each transaction on the blockchain when you submit it has a specific um structure. So if we go to near core I I want to like there is no secrecy in it. So you you should be should not be scared of looking into the code. Uh if we look into the transaction structure uh we can see that in order to build the construction so basically the the message that you are submitting to the

  112. 56:52

    blockchain you need several um data pieces. uh so you need this uh to provide a signer account ID that is your account ID you need to provide your public key public not private you need to record the public key here I will get back to why we need it here you need nons nons is the um also mechanism to prevent uh that is preventing us from reusing the same transaction uh in the future uh and uh you need to provide also receiver

  113. 57:26

    account ID like what is the target account that we are targeting and we have we need to provide recent block hash uh that is um recorded on chain. Uh so we ensure that this is a transaction not from a different chain but signed from for the same uh signer and receiver using the same public key. Imagine we have the same account ID uh on test net and mainet for example. So to prevent reuse of the transaction just extracting

  114. 57:56

    it from other chain and putting it into mainet uh we need block hash and we need a list of actions uh such as transfer function call add key remove key delete account create account and uh deploy code. So um if we would uh look into action oops where is action action there is uh delete account action that requires you to specify beneficiary account ID. Uh what is this?

  115. 58:34

    This is the account that will receive the remaining near tokens after the account is removed. So when you want to uh delete the account, you need to specify the action delete account and specify beneficiary account ID. And there is all like if you would go with near IRS you would be guided through this process and will ask you to uh for example if I want to account uh delete account um uh owner uh near death quest 02 owner

  116. 59:10

    account I want to delete it uh and I want to send the remaining tokens to fro and I want to check that the fro exists. Yes, sure. It's just a safeguard um usability on mainet. Oh, no, it's Yeah, it's on mainet. Yeah. And uh at this point, this is a prepared transaction for me to to sign. So, this is unsigned transaction. And uh in order to sign it uh you basically take this transaction and uh uh you serialize it to to borch uh treat it like if you're not familiar

  117. 59:46

    with borch treat as like serialize it to JSON text and then hash it um and then and then sign uh that hash uh with with your private key uh with a private key that is corresponding to this public key and the non should be uh at least uh one uh more one like this is just a simple integer uh that is um always has to be greater than the previous one that is recorded on chain.

  118. 1:00:18

    So at least plus one is enough. And uh so the quest going back to the quest. So what I what I was given to the uh people was the hint that they can remove my account by uh constructing a new transaction uh with the um specifying the uh fro near as the beneficiary account ID to where the near tokens will be sent. remaining near tokens of this account owner will be sent over the recent block hash is also required as part of the structure of a transaction

  119. 1:00:55

    as we just covered. Um the public key you know the public key there was just one public key uh record and chain for this transaction. You can also view it on near uh with with this tool uh account list keys uh owner here it is and you had nons that's also recorded on on chain always and you you know that this access key is full access key. So this means that this access key can be used to remove the account

  120. 1:01:25

    itself and uh you have the signature. So the signature is the last bit. So since you do not have the private key uh obviously you cannot sign the transaction but since I provided use the signature you can combine the transaction the transaction that is unsigned with the signature and then it will give you the signed transaction after that. So if you if you would uh then see the uh history

  121. 1:02:06

    uh draw. Where is this? Why it's not visible here? Oh, it's fro. It's not owner. Hold on. Owner. Owner. Owner. Owner. Here it is. So, delete account. So, after I communicated this update here in the text, I provide the signature.

  122. 1:02:56

    Someone was able to uh construct this transaction with this exact hash uh and with the um with from from the owner to the owner and uh with the beneficiary account ID for all um and the signature that I provided. So altogether that was enough to basically then just what they needed they created this transaction just plain bytes and submitted to the RPC and RPC was treating as is it as if I was signing this transaction. So after they

  123. 1:03:39

    removed the the account delete account they was able to they were able to create a new one. Uh so it was Pier who sold it first and they were able to control this account u because they own it after that point and they were able to withdraw uh from the um main quest account. So this was a solution.

  124. 1:04:02

    Really interesting. I a couple of really neat things here. Um obviously some of the account model stuff on comes into play here. um the cleverness of to understand how the key structure works right is a big piece of this understand which I think is a great thing for all developers to understand if you're building on blockchain understand how keys actually work with this and so like you said it when soon as that account is deleted it is available for someone else

  125. 1:04:32

    to then claim and so and the contract doesn't know that it's a new key a new private key So it just knows that this is the right you know username. So that that I think that's really uh an interesting lesson there for people too.

  126. 1:04:50

    Yeah. Yeah. And then uh the the second iteration of it was a bit uh different. So and and dur during this exercise um actually once someone removed it there is there was a brief moment in time where anyone could register a new account. So just wanted to highlight that uh flaw uh that we had here uh which is also um which is something that Slime Dragon tried to exploit in the second iteration of the quest. So he was

  127. 1:05:21

    uh bombarding the the blockchain with attempts to create a new account. Um so once someone removed the account he he was uh trying to gain the control. Uh but uh the rules has changed over the weekend. Uh and uh I instead of asking and providing people with the um uh details on how on uh how to construct the transaction that would uh uh delete the um delete the account. I provided it with with instructions of how to

  128. 1:06:09

    um uh create a how to add your not your own but how to add a new access key that you already know the private key for. So basically the the the end of the quest was the same but the beginning was instead of creating the transaction that would uh uh remove the account uh we needed to create a transaction that would add a new access key to the account. the access key that um uh so add access key is another um type of

  129. 1:06:47

    uh action transaction action that you can use add key um hold on this way I think it's a bit better um so it was add key uh from the owner to the owner uh and this is something that you had to create and once you create that transaction ction and submitted to the to the blockchain.

  130. 1:07:08

    Again, this was the transaction that not me was submitting to the blockchain. Uh it was Eugene Kakov who solved the quest uh on the next day. Uh and uh after you added the new access key again there is a brief moment in in in the in time where anyone can then use this private key to uh control that account which is why almost immediately uh Eugene was removing the uh where was it? Uh removing the access keys. So he

  131. 1:07:49

    removed two access keys. The original that I possessed and the one that he just added and he he the previous transaction he had he had was to add his own access key that only he knows uh and has control for. So yeah, that was um um an exercise on understanding how the uh transactions uh are constructed, how they are decoupled from um wallet UIs uh or the blockchain CLI or even my machine. So if if I would so we we can always create uh different uh

  132. 1:08:35

    protocols and uh processes uh how to um use it and one of the example of the use is MPC. So if you if you've been following the crosschain uh chain abstraction uh um area of development in in general that it it does exactly the same onchain. you create a transaction that is not signed and then the MPC network providing you with a signature and once signature and the transaction are in place you can just anyone can

  133. 1:09:11

    just submit that transaction to the RPC anyone it's it's no no longer um you know tied to one single machine to do that so that is how cross chain abstraction actually kind of works under the hood Nice. Awesome. Uh this was a great quest. Uh lot of engagement, a lot of feedback. Um so that was really great. Uh any sneak preview for the next one? Can we give a hint of what the next one's going to be? Absolutely. Yeah. So I am about to commit and push to my Git

  134. 1:09:44

    GitHub repo. So stay tuned for the next probably like uh 23 minutes. Uh I'm uh building it. Uh yeah, I I don't want some people to uh to have more advantage than the others uh before the announcement goes live. That's why I'm a bit more um protective, but it it is becoming more uh harder to to to to test out. Oh my god. I'm sure. I'm sure. Yeah, people are watching iterations. Yeah. Awesome.

  135. 1:10:19

    Uh well, these are great. Um the these are fun. uh and really great lessons for for everybody to to get involved with. So again, even if you don't know how to solve it, definitely check out the how how they get solved because a lot to learn uh in that. So very cool. Yeah.

  136. 1:10:36

    And I just posted in the chat uh maybe you um Joe can uh put it on the screen. This is the account that will be uh used where the qu Oh, hold on. Uh that's the wrong one. Oh, okay. Uh it should have a volme in it. Uh so the this is the account where you should start. I will obviously post uh updates in the social media channels as well but you can be yeah pay pay attention to that. Very cool. exciting.

  137. 1:11:22

    So, I think uh I'm gonna I'm gonna give this one a try. I should have time this weekend. I actually should be able to give this one a try myself, too. So, I'm excited. Amazing. Cool. Good stuff. Well, thank you, Vlad. Uh these are awesome. Uh we're looking forward to many more and we will and for everyone watching, this will be a regular segment now. Vlad will come on explain these.

  138. 1:11:42

    So, uh always stay tuned for these. Great stuff. Thanks, Vlad. And we we'll see you next week. Yeah. See you next week. All right. Bye. Thanks. Uh thanks everybody. Uh check out this check out this quest coming up. Uh definitely want to uh get on top of that. It's going to be fun. It's going to grow fast. A lot of developers are waiting now for that.

  139. 1:12:07

    So it's going to be a lot of fun. Subscribe to our newsletter down below if you haven't already. Uh all our latest news, including these type of challenges and everything else will be always included in that. Uh if you want to reach out to us or if you have questions about development, all those links are here at the bottom. Um make sure you check those out too. Feel free to jump into any of the chats, especially the dev support one. People will definitely be talking about the challenge if you're doing that uh as well throughout the weekend as well. Uh

  140. 1:12:33

    but until next week, uh we will have more great guests coming the rest of this month. Uh really good stuff all the way through and then there's some more hackathons coming up as well which we are going to be announcing very soon. So stay on the alert for that as well. But until then, uh have a great rest of the week and we will see you same time next week. Bye everybody.