 Hello, everyone. Thank you so much for coming. My name is Bobby from the MetaMask team. I've got Jenny and Bruno backstage with me, and we are very excited to be here today. In the next 25 minutes, we're going to tell you a little bit about what we've been working on for the past year, some of the principles that guide our development, and what you can expect to see over the course of the next year. No dinosaurs, nothing fancy, just a couple of projects that we're very excited about. So let's start with some numbers. Since our teammates last took the stage in Cancun, we've shipped 46 versions of MetaMask, made up of almost 900 pull requests from over 100 individual contributors. Now, that last number is really, really exciting for us. We are thankful every day for the support, enthusiasm, feedback, and patience of this community. So seriously, thank you. Yeah, you can applaud for yourselves. That's cool with me. Cool. The team has almost doubled in size. We've gone from 10 full-time foxes to 18. We've made room for a support team to handle this huge influx of user requests, and we now contain a small research development team called MetaMask Labs, which Jenny will talk about in just a moment. We span 10 time zones, and I'm sure some of you are familiar with the pros and the cons of that. We think it's a very important ingredient, one important ingredient in building a product that works for a variety of people. So, let's talk about what we've built. MetaMask aims to make the decentralized web usable, and a huge part of that is making sure developers have tools to build better and better applications. But we also have a big responsibility for the end user. And for the end user, we're thinking a lot about user experience, security, and education. Now, these three are not really separable, right? You have to be safe in order to have a basic, good experience. Oftentimes, not always, but often, the more you know, the safer you are. And we think a good UX should help educate the user so their expectations are met and their experience is smooth. Now, there are certainly projects out there that we're super keen on that will totally shift the paradigm in some of these areas. If users didn't have to be educated about gas, we would save a lot of time and energy and design iterations. But we also recognize the need to deliver incremental progress today. So many of our user-facing features from the past year can be placed somewhere around this continuum. There's some stuff that's not up here. Our progress towards 100% test coverage, our migration to TypeScript, but a lot of our user-facing features, again, help promote something either directly or indirectly on this continuum. So I'd like to highlight a couple of those that are probably particularly relevant to some of you out there and hopefully you'll learn something. So as many of you might know, MetaMask now supports Trezor and Ledger hardware wallets. You can applaud for Trezor and Ledger for sure. Thank you. You can plug the device right into your computer and sign messages and transactions without your keys ever leaving the device. This basically means that any DAP that supports MetaMask gets hardware support right out of the box. We have Bruno to thank for this wonderful change. You can thank him in a second when it comes on. The next project I'd like to highlight is EIP1102. This is super, super exciting. The way most Web3 browsers work today is by exposing the Ethereum provider to every site you visit, which means your addresses are exposed to every site you visit, no matter whether that site is even trying to access the Web3 object or not. This is pretty smooth and this makes things simple for developers, obviously, but it is a pretty terrible privacy experience for the end user. It's very easy to imagine how this could be used to fingerprint or track or fish unsuspecting users across the Web. So EIP1102 defines a new standard where rather than expecting these addresses to be exposed by default, the DAP has to request access to them using a new provider method, ethereum.enable. When the user consents, probably on a UI similar to the one we see up here, the promise will resolve with the user's address. Clients like MetaMask will also perhaps cache or allow the user to let the DAP sort of continue having access to their address, in which case the promise will resolve immediately. So we think this is the best balance between developer experience, onboarding UX, and privacy protections for our users. Huge shout out to the teams at Status and Mist for their early support with this proposal. Shout out to everyone in the community who gave us really valuable feedback and helped us create the version that it is today. And massive, massive props to Paul Bouchon. You might know him as Bitpushier for his tireless work, making sure people have what they need to implement this change, answering questions, staying receptive to feedback. This will be rolling out as an opt-in feature in MetaMask for users starting on Monday. So if you haven't taken note of this, take note, there's a really succinct guide on our medium account, so check it out. Or come chat with us after the show. Next up, this one's simple. So MetaMask supports the recently merged sign type data spec. We're very excited to finally settle on one signing method that we think is human readable and cheap to verify on-chain. Been back and forth on a lot of different ways to do this for a long time. And this is the signing method that we will encourage all developers to use when they need their users to sign a piece of data. It's also the UI that we will continue to test and iterate so that we can kind of hone in on the best way to present this interaction to folks out there. And then last, I wanna mention EIP 747, which defines a watch asset method. We know that many of our users care a lot about tokens and not many of our users really understand that their tokens are tracked, not necessarily inherently to their address, but on a contract. So rather than relying on a centralized token list so that we can auto-detect tokens, and rather than forcing users to manually add these tokens themselves, EIP 747 proposes a watch asset method that lets ADAP suggest an asset to the user's wallet to track. So for example, I could go to an exchange, purchase a token, and then that exchange could suggest, or it could call watch asset and suggest to MetaMask that I attract this token. I'd probably see a modal like this. I'd click add token and it would be permanently added to my MetaMask. We're super excited about this one because theoretically we could use it for other asset types going forward, like subscriptions, or even use it to suggest, say, watching a contract account that the user might not watch yet. So there's a lot of potential for this. Huge shout out to Esteban Migno, a new member of our team, and Dan Finley for their work on this proposal. So yeah, a little bit of a blitz through some of those projects, but I hope this was informative and worth your time, and I would like to now turn it over to Jenny to give you a sneak peek of some of the projects you can expect to see in the coming year. Thank you. Thank you. Thanks, Bobby. Hi, I'm Jenny. I'm a developer at MetaMask, and I'm currently here to share with you some of the projects we're working on, including opt-in metrics, contract account support, light client developments, multi-network integration, and Layer 2 scaling research plans. First up is MetaMetrics. MetaMask is getting smarter. We've gotten feedback from developers about the pain points in MetaMask's onboarding so we know we can do better, but with over a million installs, how do we cater to users who aren't opening GitHub issues? How do we run an operation without overwhelming our support team? And how do we understand our users better while being committed to privacy? We're building reporting in the UI for user acquisition, activity, and retention, which will be opt-in and off by default. We will not collect any personally identifiable information, addresses, keys, transactions, or balances. We think this work will help us build better tools for our users, which is what we love to do. Next up is contract accounts. I'm currently working on providing support for contracts as accounts in MetaMask, starting with the NOSIS safe. You're probably familiar with the original NOSIS multi-sig. The safe is an evolution of that project with cheaper set-up transaction costs and extensible modules. You can learn more about the safe at other talks from the NOSIS team today and Friday during DevCon. I'm really excited to be building alongside the next generation of tools, which will allow for features such as social recovery, key allowances, state channels, multi-factor auth, and batch transactions. This is really only the beginning, and eventually we're planning on supporting generic identity accounts with similar to the pattern described in EIP 747 that Bobby mentioned. Moosticala. MetaMask is decentralizing. MetaMask Labs is working on a project in our R&D department called MetaMask Labs, and the project is called Moosticala, which is a native browser P2P light client to decrease our reliance on centralized infrastructure. Frankie and Dima from MetaMask Labs will be presenting Moosticala on November 2nd at 2.30 on the Prism side stage, and we encourage you to attend this talk if you're curious to learn more about their amazing progress and what it takes to build a browser first light client. I've watched our talk a few times, I promise it's really good. Next up is multi-network integration. MetaMask is spreading. Thanks to community input, MetaMask is moving to support multiple ETH-compatible blockchains, and this is only the beginning. Our end goal is for allow MetaMask to allow users to simultaneously connect to their own sets of networks and to allow developers to suggest new networks to the user. And next up we have our layer two scaling research plans. MetaMask is scaling. Dr. Vincent Eli has recently begun work on a research project in MetaMask to assess how to best support and integrate various layer two apps and protocols. The aim is to be agnostic to implementation while providing a complete and secure integration into the MetaMask user experience. The project is exploring two main paths. First, full integration and operation of payment channels for instant ERC-20 payments. And second, a more general specification that will allow devs to create layer two apps that can be integrated into MetaMask. So thank you for having me and now here's Bruno with one more thing. Hello everyone, my name is Bruno. I'm also a developer at MetaMask and I'm very excited to be here not just because DevCon, which is awesome, but also because I have very exciting news for you. First of all, let me give you guys some context. As you know, MetaMask is one of the oldest and most popular Ethereum wallets. I was launched in 2015, created by Aaron Davies, also known as Kumavis, along with Dan Finlay. And we passed one million users. Since then, we learned a lot about what it takes to create a digital wallet in this fast-changing space where it's constantly evolving. But there is one thing that didn't change and we are still a browser extension. So that means that we are somehow restricted by the browser APIs. So we start thinking about our future and the first question was like, do we want to be just a wallet? So we decided that's not the right thing. I mean, we want to be a bridge to the decentralized way. So this is why we decided to create our mobile apps. Thank you. So let's talk about the challenges. First of all, we are aware that we're late to the game. There are all our mobile wallets in this space that they're somehow similar. They're pretty cool, but similar. We also know that mobile, sorry, onboarding is still a problem. There is a lot of friction there, especially for new users. We know that because we want to help the space grow, we need to let new users explore the ecosystem of the apps. But at the same time, we have like a big user. So we need to make sure that there is an easy onboarding process for you guys. So when I said that there is a lot of problem with UX friction, just imagine your uncle Harold reading any of this. Here's your 12 words, mnemonic, social problem, amazing, cannonball, supreme, enemy, paper, amateur, picture, assist, wink. You need to back up your seed phrase. Make sure you don't lose your private key. Here is your private public key. Like what? This is bad and we gotta fix it. So this is where our UX research team came to rescue. Our lead product designer, Christian Jiria, along with Melissa Short, they have been working really hard over the past few months, talking to users, gathering feedback, trying different prototypes to see how they feel. And we finally end up finding a flow that works pretty good. Our users like it and we like it too. So we are very happy about that. And let me show you how it looks. So if you see on the first screen, that's like our home screen for the app, and we have two options. The first one is to start exploring now, which is what a new user should use, and then import a wallet for existing users. There is only one thing that needs to happen for new users. They need to tap that, and then they should be able to access the entire, all the app, the apps that are available there. And then after that, they should be able to start using a app, and that's it. So we're gonna handle all the creation of the Ethereum account and all the heavy stuff in the background. And just let's think about CryptoKitties, for example. For CryptoKitties, you just like go to the app, and then you can sign up by signing a message. You don't need Ether for that. Once you're in, you are able to start browsing the different collectibles, right? And you might even find one that you like. So now you have a motivation to actually pass to the next stage, which is add funds to your wallet. So at that time, we're gonna ask you to create a password and the security of your account, it will increase as long as your account starts holding more value. But it doesn't make sense to make you deal with all these stuff before you are able to see what's going on inside the DAB ecosystem. So we really hope that this new flow is gonna help bring more people to space and not try to scare them with all the stuff that I mentioned earlier. But what about existing users? You guys might be wondering what the experience is gonna look for you. I show you some mockups about what we did for new users, but I'm gonna show you what we built for you. So as you can see on the right, you have the metamask extension. On the left, you have the new mobile app. I'm gonna show you what happens when you tap on import wallet. So you got the instructions there, it's open the extension, go to settings, click on sync with mobile, and then you scan the QR code. Enter your password first, generate a QR code, and now you scan the QR code. Right now, the syncing is happening. The app is parsing all your account information and after a few seconds, boom, you're all set. That's it. If you look now, you have your same account from the extension and on the app, you will also see what happens to the transactions. We are importing your entire transaction history through your phone, and also, not just the transactions, but also all the information related to the transaction like hash, gas usage, and all that stuff. So you have your account, your balance, your transactions, but what happens when you have more than one account? So now you will see on the Moel app that we are also exporting all your accounts. If you compare the accounts on the Moel app with the accounts on the extension, they are the same, they have the same names. So basically, we're porting your entire desktop experience into your phone in about 15 seconds. Thank you. So, just to recap, this is the kind of like flow that we're going for. New users, they go straight to the apps. Existing users, you can import your wallet using your seed phrase, or you can use the Moel sync feature that I just showed you. One important thing, if you look at how the diagram looks like, you have the wallet as a side thing, right? It's an important module of the app, it's necessary, but we want to make the core of the app the browser experience. So that's something to think about it when you compare it with the existing options that you have. One last thing I want to show you. Do you guys remember I said we want to be, we just don't want to be a wallet, but we want to be a bridge to the decentralized web? So this feature that I'm going to show you, it's all about that. In my opinion, it's a very important step towards a more decentralized web. So let's check it out. If you see, that's a website, I'm loading on the MetaMas Moel app, but actually, that's not the normal website. If you look at the URL, you will see that it ends on dot ETH, okay? That's because it's an ENS name from the Ethereum name service, which is really cool. But what happens with the hosting? This is not like a normal website that's hosting a regular web server. I think you guys heard about IPFS before, right? So this is where this website is living right now. It's free and decentralized. So if you are still confused about what's going on, let me explain you. We're basically supporting, allowing you to browse IPFS host websites through ENS names. So for example, the name that you see there is resolved to the IPFS content ID that's below, which is also known as the IPFS hash. And before that, you were able to access that same content using the IPFS gateway URL. If you look at the first link, you will see it says IPFSIO slash IPFS, and then there is an IPFS hash and the file name. If you tap there now, you will see there's a file there, okay? With the old-style URL. Now, you're gonna see that if I tap on the second link, you're gonna see the same mix-up file, but we are gonna access through it through a human-readable name. So you don't have to remember any more IPFS gateway URLs or IPFS called A-hashes, okay? So you guys should go cost your own decentralized app and there is a quick tutorial if you wanna take a look at how this works. And one thing I would like to add is we're gonna add a list of available gateways. If one of the gateways goes down, we will follow up to another one. And you can also set your own IPFS gateway. So that's pretty cool, you have options. So that's it for more oil. We're gonna launch our public beta early next year for Android and iOS. And before you guys ask, it's gonna be open source. Also, we are hiring, so if you guys feel like identify with any of these roles, please shoot us an email or reach out to any of us. We are gonna be around for the rest of the conference. And the very last thing, we will love your feedback. So if you guys have some time, please scan this QR code and take this quick survey that is gonna help us build their products. But in exchange of that, we're gonna choose lucky winners and we're gonna let you pick any item from our new swag store, swag.metamask.io. And that's it, thank you. I don't know if anyone has any questions or should we take questions? Yeah, we've got a couple of minutes for questions if you want. We've got a hand over there. You got a question or are you waving? I think there's a mic down front if you wanna come. Go back, can't. Hello? Hi, Dmitry Vyspalov, knows this. It does metamask plans to move from extension to like from being a browser extension to a more, to a bigger platform like an electron or chromium to have it like a full feature control over the content of the user. Totally, we have discussed in the past bringing metamask to Electron as an Electron app. It's definitely still a possibility. We're not sure that it will make more people use metamask necessarily or bring us closer to serving dApps better. But it is still, yeah, it's a possibility. You haven't ruled it out for sure. It's not necessarily on this list of stuff that we described today, but it could happen at some point. And so if that's something you're interested in, I mean, we engage with a lot of this sort of stuff on GitHub, so open an issue. There is one already, I think, so find it, give us your thoughts. We'd love to have the discussion. Hi. I'm Valentin Pryobrazhensky, CEO of LaToken. We are top security crypto exchange and security token trading leader. Do you have any plans to integrate with decentralized exchanges? So we are launching high TPS decentralized exchange where people can sign orders, send them into order books, and this transaction will be written into smart contract. And they need to sign their order with something like metamask. So any plans to integrate with DEX? Integrate by pulling them into the metamask. UI, is that what you mean? Yeah, so you can send sign orders from metamask to send them to our machine engine. Totally. So we have a very bare bones integration with shapeshift that's been live in metamask for a year and a half. And our metrics at this point are very, very young and immature, but we do know that fewer than a hundred people have ever used that shapeshift integration, which is pretty, pretty low. So I think that we could probably build to me, it would be a wonderful experience, but in terms of the whole range of critical stuff there is to do out there, that hasn't risen to the top of the list. But I will say the same thing to you that said to the previous gentleman, which is we pay a lot of attention to what people in the community seem to be enthusiastic about. So engage us again on GitHub, open an issue, start the discussion and we'll see what happens. My recommendation for that is also to make sure that your product or exchange or whatever is more friendly and it's gonna work fine in a mobile app. So if you do a good job, people naturally go and use it through the metamask mobile app or any other option. Hello, I've been using signature schemes for a long time and EIP712 is a very good thing for our users to be able to sign complex message in a clear way. Thanks to you to Meetamask for providing this because Web3.js doesn't provide an interface with signature, so good job. Except you're compliant with Trezor and Ledger, but Trezor and Ledger are not able to do this kind of signature right now. So when will we have the full user experience, 7.12 signature with Ledger? Great question. I'm hoping that by asking that question we will encourage Trezor and Ledger to help their hardware wallets support SignTip Data V3. I don't know if Bruno knows anything. Yeah, there are open issues on Trezor and Ledger. Repos about that, you know, it's out of our control, but just about their issues and at some point it's gonna happen. I think they're, I'm pretty sure their stuff is open source too. So if anyone, you know, has the time and the will to do it, you can't treat it. Thank you for asking. Hi guys, I'm Everton from the MIST project. Congrats on your progress, it's really amazing. Do you have plans to add IPFS routing to the desktop experience as well? I heard that. So we do have a pretty rudimentary IPFS resolution, or at least ENS domain name resolution in the browser extension. It's not quite as full-featured as what Bruno just showed in mobile. I don't think it actually, so yeah, go for it. So basically the main difference between what we have on this tension right now and what we have on mobile is that because browser restrictions on the extension, we can change the URL, right? So we cannot mask that. So you will still, we will do a redirect and you will see the IPFS IO URL. In the mobile browser, the mobile app, we have way more control of that. That's what we are able to do. Oh yeah, great, thank you. Hi, this is Umur with FIM. My question is, I love the new UX flow you introduced with the mobile app where user doesn't need to create a password up until they interact. Do you plan on doing the same thing for the Chrome extension as well, the same flow? I think there is a different approach between mobile and desktop and the main reason is that people are already in a browser, right? So they can make it to the apps just fine and then the app will handle their functionality in one way or another, right? But in a mobile browser, you usually put all this in that process at the very beginning, right? So that's why we feel like it's necessary to push all the friction to the right time and not earlier. That's the main difference between both platforms. That said, I think we have a lot that we could do with the desktop onboarding experience and I hope that some of the opt-in metrics that Jenny mentioned will help us understand exactly where to improve and I don't think that our team is like opposed to trying some dramatic stuff like what Bruno demonstrated with the mobile app. Maybe one more? Can I ask two questions? Sure. One more person? Yeah, for sure. One is that, as I know, it's mainly for years 20 right now, right? So MetaMask is mainly for years 20 right now. So we don't integrate like a UOS or BCH or other public chain? I don't know that it's mainly for ERC20. I think like a lot of people use it for signing general ETH transactions or interacting with DApps that don't involve tokens at all. We've got 721 support, collectible support coming down the line and we're pretty much ready for that. The second part of the question was... So it's mainly Ethereum ecosystem? Oh, for other blockchains, yeah. For other blockchains, whether you have them? Yeah, so we are offering the ability to support any ETH RPC compatible chain as of this week. So you can check that out in our next release, yeah. Okay, I understand. Another question is that I notice you guys recruit new position but all relevant to tech background. So is that your strategy is mainly to do the best to tech and don't do promotions like business development or marketing so proactively? We are sort of, this dude's raising, we're sort of like blessed to have a very charismatic fox and that he takes care of a lot of the marketing for us. Business development is sort of a responsibility shared by the team. There's a bunch of friendly team members who do a pretty solid job of maintaining relationships with other folks. So we aren't looking for those roles yet but we probably will as the team of truth. Okay, shout out to Shason for setting up the store. Yeah. And one more plug for this QR code. Seriously, we would love your feedback. Like I know this mic that gets passed around doesn't make it to everyone. You can win a hoodie or whatever but seriously, we love your feedback so scan away or don't. And we'll be following around with the conference with printed out versions you can scan too. Thank you for coming. Thank you guys.