The Index Podcast
Aug. 28, 2023

Mad Lads: Building on Solana with Armani Ferrante, Founder of Coral

This week, Alex Kehaya talks with Armani Ferrante, Coral's founder and CEO, creator of Anchor—the first Solana framework, and the imaginative force behind the NFT collection, Mad Lads. Mad Armani shares his developer journey, shares advice for building apps,  and the innovative Backpack wallet embracing the Solana xNFT standard. 

Host - Alex Kehaya

Producer - Shawn Nova

 

 

Chapters

00:04 - Exploring Web 3 and Decentralized Future

10:48 - Crypto Wallets and Infrastructure Importance

21:34 - XNFTs and Tokenized Code Exploration

33:53 - Spam and Wallet Confirmation Signing

Transcript
WEBVTT

00:00:04.427 --> 00:00:08.013
Welcome to the Index Podcast hosted by Alex Kahaya.

00:00:08.720 --> 00:00:25.850
Plug in as we explore new frontiers with Web 3 and the decentralized future, hey everyone and welcome to the Index brought to you by the Graph, where we dive into the minds of trailblazing entrepreneurs shaping the future of the internet.

00:00:25.850 --> 00:00:32.085
I'm your host, alex Kahaya, and today we have a guest who's revolutionizing blockchain and decentralized applications.

00:00:32.085 --> 00:00:38.750
Joining us is Armani Ferante, the visionary founder of Backpack and creator of Anchorling in the slon ecosystem.

00:00:38.750 --> 00:00:41.781
Been dying to get you on the show and really happy to have you here.

00:00:41.781 --> 00:00:43.286
Thanks for being here today on Memorial Day.

00:00:43.286 --> 00:00:44.109
Happy Memorial Day.

00:00:44.600 --> 00:00:45.965
Yeah, thank you so much for having me.

00:00:45.965 --> 00:00:47.590
Happy Memorial Day to you as well.

00:00:48.100 --> 00:00:51.718
I really want to talk about Backpack and Anchor and all this stuff you're up to.

00:00:51.718 --> 00:00:53.325
But before we get into that, do you mind?

00:00:53.325 --> 00:00:55.996
Just for people who've never met you or don't know about you?

00:00:55.996 --> 00:00:57.421
Who are you, what do you do?

00:00:57.421 --> 00:00:58.225
How did you get here?

00:00:58.225 --> 00:01:00.832
Let's go through that whole part of this spiel.

00:01:01.661 --> 00:01:02.243
Yeah for sure.

00:01:02.564 --> 00:01:09.064
I think I have more or less a pretty typical story for a programmer that has made his way into crypto.

00:01:09.105 --> 00:01:33.070
So I studied computer science at Berkeley, started my career in the Bay Area, worked at Apple for a bit, worked on iOS and macOS applications and then in 2017, 2018, during that big bull cycle when Ethereum was taking over the world, this narrative of a decentralized, permissionless, censorship resistant world computer was making waves.

00:01:33.932 --> 00:01:42.543
I had, you know, read the Ethereum White Paper, fell in love with the concept and, you know, left my job at Apple and haven't looked back ever since.

00:01:42.543 --> 00:01:45.171
I didn't really have a job, or I didn't have a job lined up.

00:01:45.171 --> 00:01:47.429
I didn't really know what I was doing.

00:01:47.429 --> 00:01:50.621
I didn't really know how to, you know, program smart contracts.

00:01:50.621 --> 00:02:24.556
I knew a blockchain's worked, but that's about it and didn't have really a plan and just started committing to open source repos and eventually found my way into Ethereum land and got a job and have been bouncing around L1s and learning different projects and technologies ever since, most recently, I guess, over the past two and a half years at this point, have been in the Sony ecosystem, working on everything from wallets to DeFi to developer tooling and, most recently, this latest batch of work XNFTs Backpack and the MadLads.

00:02:25.057 --> 00:02:28.990
I know you're passionate about open source, just from talking to you and hearing from you on Twitter and whatnot.

00:02:28.990 --> 00:02:30.745
But where does that come from?

00:02:30.745 --> 00:02:32.754
Why do you like working on open source projects?

00:02:33.356 --> 00:02:35.002
It's honestly just like good fun, right?

00:02:35.002 --> 00:02:39.031
It's like your developer you want to work on cool tech.

00:02:39.031 --> 00:02:48.298
You want to be able to you know open PRs and be able to experiment with stuff and being able to like dive through source code to learn things or solve whatever problem that you want to do.

00:02:48.298 --> 00:02:48.560
I don't know.

00:02:48.560 --> 00:02:51.596
Open source is just more fun than closed source and it's really as simple as that for me.

00:02:51.596 --> 00:03:00.445
I don't think I have any purpose for my love for closed source beyond it just life's more fun as an open source developer than it is as a closed source developer.

00:03:01.046 --> 00:03:05.231
I'm not a developer, I'm more of like a BD guy, but I love working on open source stuff too.

00:03:05.231 --> 00:03:08.265
I like the idea of just building a business around open source software.

00:03:08.265 --> 00:03:19.734
The thing I always go back to is legacy and impact, and I just feel like if you're building something in the open, the whole goal is to help people, like help other developers and like make sure they have access to that software kind of forever.

00:03:19.734 --> 00:03:22.164
It's challenging to build a business that way.

00:03:22.164 --> 00:03:26.063
I mean there's a lot of fear around that, which I actually think is mostly unwarranted.

00:03:26.063 --> 00:03:27.670
I think it's mostly just about execution.

00:03:27.670 --> 00:03:31.062
I mean, saas businesses that are closed source are pretty easy to copy.

00:03:31.062 --> 00:03:38.497
But that is what's exciting for me is like the legacy piece of it and I got read by my business partner, brian Fox, who's the author of the Bash shell.

00:03:38.518 --> 00:03:39.603
You probably used Bash.

00:03:39.603 --> 00:03:46.163
He helped write the GPL licenses back in the 80s or whatever, or whatever those were written, and I think it was last year.

00:03:46.163 --> 00:03:54.806
Nasa used Bash on the quadcopter on Mars and it was because they needed something that they could update remotely.

00:03:54.806 --> 00:03:59.165
That would be like a really small program and Bash was the easiest thing for them to update.

00:03:59.165 --> 00:04:06.020
And so I just bring up that story because if you build something useful that's open source, you have no idea how big it can get and the impact it can have.

00:04:06.020 --> 00:04:09.931
Like, literally his software is on Mars and on every computer.

00:04:10.412 --> 00:04:13.568
So Bash is a big deal, so that is a super cool story.

00:04:13.920 --> 00:04:15.447
Yeah, Tell me about Anchor.

00:04:15.447 --> 00:04:16.170
That was the first.

00:04:16.170 --> 00:04:19.966
My first exposure to you was just kind of learning about Anchor and that framework.

00:04:19.966 --> 00:04:24.384
But can you walk us through why you worked on that and kind of how it came to be and what it is?

00:04:25.005 --> 00:04:27.415
Yeah, I mean, the story behind Anchor was quite simple.

00:04:27.415 --> 00:04:41.701
I joined the Salana network and started working on smart contracts and very quickly came to the realization, after writing my first program, that it was really hard to write secure smart contracts and to do it quickly.

00:04:41.701 --> 00:04:57.029
I think my first smart contract was definitely exploitable and if you look back at all of the developers at the time and all the you know up and coming projects during the first couple of hackathons, most of them were exploitable because the programming model is very unique.

00:04:57.029 --> 00:05:04.303
It's not something that people are used to, especially if they're coming from, you know, a web development background or even a solidity EVM background.

00:05:04.303 --> 00:05:26.543
Solana has this unique property where you have to actually specify the storage or they call them accounts on Solana that you are going to read and write upfront, and so what that basically means is that you're injecting data into your program and then your program is operating over that injected data and then immediately, this should be raising red flags.

00:05:26.543 --> 00:05:49.649
So, like any experience like back in developers right, you know immediately think of, like sequel injections and untrusted form inputs and all these things that are known from the web world, but now applying them to a smart contract context where you have this adversarial environment and, you know, in the context of DeFi, in particular In NFTs, dealing with high value assets with, you know, people all around the world, and it's a very kind of hard problem.

00:05:49.670 --> 00:06:06.889
And this kind of, you know, unique feature of the Solana runtime is what gives it it's, or one of the things that gives it, an incredible performance its ability to parallel Lee, execute Transactions at the same time versus, like you know, some of these other systems like Ethereum or Bitcoin.

00:06:06.889 --> 00:06:17.884
They're all kind of single threaded, and Solana, on the other hand, you know, is it's multi-threaded, it's very fast, but it has this idiosyncrasy and, you know, in the early days, not a lot of people could really wrap their head around this.

00:06:17.884 --> 00:06:27.084
It was very new to most of us and the tooling at the time wasn't really prepared to deal with the massive growth that it was about to experience.

00:06:27.084 --> 00:06:28.906
And so I basically just came on to the network.

00:06:28.906 --> 00:06:30.629
I saw this stuff, I saw it was a big problem.

00:06:30.629 --> 00:06:43.490
I kind of came to the conclusion that I didn't think that Much of this would work at all and I didn't really see a developer community that was gonna rally behind this tooling Because it was just too hard and we saw it at the time with a lot of early projects that would like come see Solana.

00:06:43.490 --> 00:06:48.857
They would try it for a week and then they would leave because they're like, oh, this is like horrible, like I'm not, I'm not programming in this.

00:06:49.358 --> 00:06:51.990
I basically saw this and thought it was a big problem.

00:06:51.990 --> 00:07:06.360
And you know, I think at the time there was a bunch of other tools in the crypto world, right, I think, like parody had ink, ethereum obviously had solidity for EVM, and so, like, the ideas behind anchor were, you know, not necessarily innovative.

00:07:06.360 --> 00:07:07.374
It was just engineering work.

00:07:07.374 --> 00:07:12.875
And so I ventured into the Solana discord at the time and asked you know, are you guys gonna build this stuff?

00:07:12.875 --> 00:07:17.689
And I think Michael Vines responded, you know, saying like no, you know, I we're not gonna build it.

00:07:17.689 --> 00:07:21.485
We really hope somebody else builds a framework around for the programs on the network.

00:07:21.485 --> 00:07:26.713
And I said, well, I guess I'll do it then, because you know, if nobody's gonna do it, then you know nobody's gonna use this stuff.

00:07:26.713 --> 00:07:33.473
And and one of the kind of fun parts about being a developer and blockchain is that, well, all the problems become your problems.

00:07:34.074 --> 00:07:52.882
And so, yeah, just took it upon myself to to write the framework and I think the the proof was kind of in the, in the pudding, so to speak, and haven't looked back since and then you interesting I don't know how that story happened, like to get you guys building backpack together and X nfts, but maybe you can walk us through how you went from anchor to actually starting a company.

00:07:52.889 --> 00:07:57.694
So I built the anchor, I was working on the Solana network, but I was like very much like in my own world.

00:07:57.694 --> 00:08:06.290
You know, I was in California at the time just like kind of you know, working remotely, didn't have a team, just kind of like working on open source, and anchor was super successful.

00:08:06.290 --> 00:08:10.773
And, you know, had all these people reaching out to me basically saying, you know, armani, what are you doing?

00:08:10.773 --> 00:08:17.661
What are you doing Like, and basically kind of came to the conclusion that I should scale the team and build more cool stuff.

00:08:17.661 --> 00:08:19.569
That would continue to be impactful.

00:08:19.569 --> 00:08:22.706
So I thought, well, you know, I build this really successful public.

00:08:22.706 --> 00:08:25.649
Go to the anchor, let's, let's scale it up and and do more good stuff, right.

00:08:25.649 --> 00:08:29.435
And so the original kind of idea was like, oh alright, let's make a business around this.

00:08:29.435 --> 00:08:36.383
And that was kind of validated when you know there's people saying, hey, like you know, are you gonna do, you want to raise money, basically this kind of what happened?

00:08:36.383 --> 00:08:48.169
That was the original Motivation and so, you know, I think originally I was starting out thinking, well, what are the services that I can build around anchor and and, and you know how can I scale the anchor team right?

00:08:48.169 --> 00:08:59.587
And so we had a couple experiments, for example, like the anchor program registry was like another kind of public good that we kind of worked on for a bit, where I was kind of like ether scan verified contracts, but for Solana, right.

00:08:59.587 --> 00:09:19.058
So we'd build Solana's Rust programs inside of a Docker image, basically, and have deterministic builds and publish the source code to you know central repository that everybody can use and create some CLI tooling for folks like Dows and multi-sakes actually verify the upgrade binaries that were, you know, being sent to the network.

00:09:19.058 --> 00:09:27.302
Until we had a couple you know experiments around this Eventually started, you know, thinking through the idea maze, like, well, what are the big problems to solve in crypto?

00:09:28.292 --> 00:09:47.110
One of the first big things that you know, immediately after smart contracts was, well, it's just thinking through like incentives and this was like kind of its own side quest, where I was thinking through like things like rabbit hole, gg and things like what are the roles of tokens and what are the roles of NFTs and how do you get people to, like you know, coordinate with each other?

00:09:47.230 --> 00:10:07.339
This is like really the interesting part about crypto, you know, other than all of the payments infrastructure that's we all kind of love to talk about, it's really just global coordination of humans to work on problems together, right, I think open source is like just an incredible example of this, where, in crypto, it's like no coincidence that everything is open source and it's because everybody's incentivized to do it.

00:10:07.782 --> 00:10:11.860
And I think if you take out, you know Everything in crypto other than just like the open source.

00:10:11.860 --> 00:10:14.149
That is like a huge achievement in and of itself.

00:10:14.149 --> 00:10:31.643
And so I started thinking about these problems and thinking about protocols and thinking about you know all this stuff and basically came to the conclusion that it's gonna be really hard to build protocols, it's gonna be really hard to like build this type of incentives infrastructure until we have a wallet.

00:10:31.643 --> 00:10:36.807
Basically, you know, at the time, all the wallets were closed source, so it was really hard to work to get people's attention.

00:10:36.807 --> 00:10:38.111
Everybody has their own priorities.

00:10:38.111 --> 00:10:41.307
They had all experienced such huge growth.

00:10:41.307 --> 00:10:47.553
I basically came to the conclusion that, okay, well, we need to create a wallet, because this is the only way to create protocols.

00:10:48.005 --> 00:10:49.572
Let's break that down a little bit for people.

00:10:49.572 --> 00:10:52.345
Why does a wallet matter For a protocol developer?

00:10:52.345 --> 00:10:54.394
What does a protocol need a wallet for?

00:10:54.394 --> 00:10:56.904
Give us some examples and talk through the logic there.

00:10:57.505 --> 00:10:57.706
Yeah.

00:10:57.706 --> 00:11:00.712
So the wallet is more or less the gateway to crypto.

00:11:00.712 --> 00:11:05.070
It is the central point of contact that everybody must interact with.

00:11:05.070 --> 00:11:07.777
The reason is because, well, it controls the private keys.

00:11:07.777 --> 00:11:10.961
And then you might ask yourself the question why does it control the private keys?

00:11:10.961 --> 00:11:12.409
Different apps have different logins.

00:11:12.409 --> 00:11:13.133
Why don't you just do that?

00:11:13.133 --> 00:11:15.121
Well, it's for security reasons.

00:11:15.442 --> 00:11:20.437
The wallet is the single trusted point in crypto and everything else is more or less untrusted.

00:11:20.437 --> 00:11:25.255
Every website, every DNS record, every app they're all untrusted.

00:11:25.255 --> 00:11:32.067
But the wallet, whether it's MetaMask or Backpack or whatever, that is the single point of trust that everything is built on.

00:11:32.067 --> 00:11:42.006
And so if you want to connect with an application, if you want to sign transactions, if you want to upgrade the user experience in any meaningful way, you have to interact with a wallet.

00:11:42.006 --> 00:11:47.118
And particularly on Solana, you have this kind of I mean really on every blockchain.

00:11:47.118 --> 00:11:52.256
The wallets are really the gatekeepers because they are the ones that interpret the protocols.

00:11:52.256 --> 00:11:56.173
They interpret all the data on the blockchain and then render it to the user.

00:11:56.173 --> 00:12:04.688
So when you open up your, your Backpack or your Soulflare or your Phantom or your MetaMask or whatever, those teams are deciding what you see.

00:12:04.688 --> 00:12:19.220
There's tons of protocols that they can show, but they ordain what is the canonical asset representation of basically anything, whether it's an NFT or whether it's tokens or whether it's something like applications like XNFTs.

00:12:19.220 --> 00:12:40.734
The wallet determines that and you see this friction and you see this problem manifest itself in the Solana ecosystem when you take a look at the recent drama around MetaPlex, where you have this really challenging social problem where, on the one hand, you have this private company, metaplex, that has every right to do what they want to do to build a sustainable business.

00:12:40.734 --> 00:12:49.123
They own the program that represents NFTs on Solana, they control that upgrade key, so they basically control all NFTs on Solana.

00:12:49.123 --> 00:12:52.056
But then, on the other hand, you have this decentralized network.

00:12:52.056 --> 00:13:05.836
You have all of Solana with all of these heterogeneous companies and developers and contributors that all rely on this central company and those incentives don't necessarily always kind of work out and it creates a lot of drama.

00:13:07.125 --> 00:13:16.623
The challenge is that, well, the ecosystem has ossified around this singular program implementation, and whether this is good or bad is like, maybe besides the point.

00:13:16.623 --> 00:13:27.049
I think there's trade offs, there's good things about security, but I think really that what I'm referring to is, like the challenges at the social layer where you have this company, metaplex, where they have the right to have fees.

00:13:27.049 --> 00:13:29.500
They should have infinite fees if they want to.

00:13:29.500 --> 00:13:37.313
If they want to have infinite fees, they can do that, but the challenge is that there was a huge uproar when they did it, because everybody's like wait, wait, wait.

00:13:37.313 --> 00:13:38.741
I thought this was a public good.

00:13:38.741 --> 00:13:40.408
We're all stuck with this program.

00:13:40.408 --> 00:13:41.730
Why are you doing this?

00:13:41.730 --> 00:13:52.059
It's really important that the ecosystems can be flexible enough to adapt around any given company, any single point of failure.

00:13:52.059 --> 00:13:54.366
If they do the wrong thing, right.

00:13:54.366 --> 00:14:03.527
If they go out of business, if they're hacked, if they do something malicious or if they just do something that is maybe a silly business decision, which they have the right to do, it's their business.

00:14:04.208 --> 00:14:09.693
Circling this back into wallets well, you know who determines who that canonical representation is.

00:14:09.693 --> 00:14:10.860
It's the wallet, right?

00:14:10.860 --> 00:14:11.865
It's a wallet in the marketplace.

00:14:11.865 --> 00:14:12.927
Those are the two companies.

00:14:12.927 --> 00:14:17.070
You have to convince MagicEaten and you have to convince Phantom on Solana, right.

00:14:17.070 --> 00:14:18.274
If you don't do that, it's over.

00:14:18.274 --> 00:14:20.826
You're not doing anything on Solana without doing that.

00:14:20.826 --> 00:14:24.640
That's a really good example of why this is so important.

00:14:24.640 --> 00:14:39.721
If you really want to innovate, you have to create your own distribution channels, you have to create your own demand, and that's basically what leads you to creating a wallet, or it's what led us to creating a wallet, which is that we don't want to go begging hat and hand to these companies.

00:14:39.721 --> 00:14:43.899
We want to just be able to do the things ourselves, because there's too many important problems to solve.

00:14:43.899 --> 00:14:46.912
The first very good example of this was XNFTs.

00:14:46.912 --> 00:14:52.234
We cannot have built XNFTs without having built the wallet, because nobody would have given us the time of day.

00:14:52.475 --> 00:14:54.121
Yep, that's 100% on point.

00:14:54.121 --> 00:15:01.368
As a builder in this space, I 100% appreciate it that there's this option that we can contribute to as an open source company, like at Olaplex.

00:15:01.368 --> 00:15:06.428
It's one really important piece to protect us from the platform risk that it exists.

00:15:06.428 --> 00:15:13.780
I think you've probably saw me on Twitter weighing in on this with Metaplex specifically, but I want them to have a sustainable business model.

00:15:13.780 --> 00:15:15.086
I don't think there's anything wrong with that.

00:15:15.086 --> 00:15:20.590
There's a lot of experimentation that can happen around open source business models, especially at the protocol level.

00:15:21.211 --> 00:15:24.484
The big issue that I have is they were a GPL license.

00:15:24.484 --> 00:15:29.020
First they were Apache and then that got closed source, forked a bunch, so they changed it to GPL.

00:15:29.020 --> 00:15:32.956
Gpl allows forking as long as you open source the code.

00:15:32.956 --> 00:15:37.493
That was awesome because we could contribute to that and fork it if we needed to.

00:15:37.493 --> 00:15:42.653
If the incentives were misaligned, if they just made a business decision, that really would hurt our business.

00:15:42.653 --> 00:15:43.717
We had protection there.

00:15:44.321 --> 00:15:51.633
I don't want to build a new NFT standard of a fork of theirs that is potentially insecure and doesn't have a thousand developers building on it.

00:15:51.633 --> 00:15:52.879
That doesn't make any sense.

00:15:52.879 --> 00:15:54.586
That's like a last resort for our business.

00:15:54.586 --> 00:15:59.626
But when they change the license to the current new Metaplex license that prevents forking.

00:15:59.626 --> 00:16:03.440
If you fork it and you remove the fees, you're in by the license.

00:16:03.440 --> 00:16:05.788
That creates a lot of business risk for us.

00:16:05.788 --> 00:16:13.057
We can't really continue to invest in that standard knowing that they could one day just change their minds about fees or do something with it.

00:16:13.057 --> 00:16:15.967
That breaks our business and then we have no other option.

00:16:16.509 --> 00:16:24.498
We're actively looking to develop and invest in other infrastructure Standard all the way up to the marketplaces.

00:16:24.498 --> 00:16:31.445
Actually, we worked on a project called Night Market which is just open sourced, which is a fully functional open source marketplace.

00:16:31.445 --> 00:16:35.033
Now it doesn't have the eyeballs Magic Enier Tensor does, but it is there.

00:16:35.033 --> 00:16:47.140
It is a fully-fledged NFT marketplace that you can fork and use and deploy, with a whole reward center built in and all the stuff that you need to build a business with a marketplace business.

00:16:47.140 --> 00:16:56.677
What I'm really interested to hear from you is okay, wallet and marketplace, right, but what other pieces of infrastructure need to be built to support a new standard that's actually open source?

00:16:57.466 --> 00:17:05.055
Yeah, I think really the big challenge that the ecosystem is facing at the moment is there's two conflicting requirements.

00:17:05.055 --> 00:17:20.718
On the one hand, you have a single canonical representation, a single instance of a program, and then on the other hand, you have the desire to fork and have multiple competing asset representations, and this is basically what leads you down the conversation to having interfaces.

00:17:20.718 --> 00:17:34.640
I mean, it is a wallet problem in the sense that the wallets need to implement the interface and interpret that asset representation, but ultimately you want to be able to fork, and that's a really important property for decentralization.

00:17:34.640 --> 00:17:36.846
And there's a trade-off there.

00:17:36.846 --> 00:17:51.791
If you have multiple token programs and somebody implements their own version and maybe they're malicious or maybe they're just incompetent, those assets could maybe have a problem with it, right, and so there's this trade-off.

00:17:52.032 --> 00:18:08.799
My theorem has kind of gone the path of interfaces and so there's a bunch of security kind of foot guns and problems, but they've seemed to have built a robust kind of social layer around it, given what we're seeing with the conversations around MetaPlex.

00:18:08.799 --> 00:18:26.999
I'm updating my opinion in real time, but I feel like right now I'm a pretty big advocate for interfaces and feel that the added competition and flexibility that it gives the ecosystem outweighs the potential security consequences, which can be overcome with just good user experiences.

00:18:27.826 --> 00:18:37.657
Yeah, I 100% agree with that and I think also because wallets and marketplaces can still be gatekeepers with interfaces right, you can still audit an open source interface.

00:18:37.657 --> 00:18:48.537
You can require that it be open source but to be used in backpack, like you can say if you want me to render your standard in our interface, it needs to be open source, we need to be able to audit it, and that's how you provide the protection.

00:18:48.537 --> 00:18:50.220
That's the responsible thing to do as a company.

00:18:50.220 --> 00:18:55.372
That's like a critical piece of infrastructure, but it gives the flexibility for competition to happen much faster.

00:18:55.372 --> 00:19:03.625
Right, like the mode that MetaPlex has right now around the stack to get distribution of these assets and like get users is pretty, pretty significant.

00:19:03.625 --> 00:19:14.901
So for me, it's just about reducing the barrier and that's just for safety, like for safety of the ecosystem, not for safety and the security standpoint, but just making sure that there's like other options and the platform risk goes down.

00:19:14.901 --> 00:19:23.924
I think it's an important conversation to have and I still think MetaPlex can do things to improve there too, like on the open source side, especially on the license, if they so choose.

00:19:23.924 --> 00:19:32.921
I think that the license issue is actually going to force, is accelerating the path to competitive standards and it's going to backfire.

00:19:33.561 --> 00:19:36.367
Mark those words and let's check back in six months and maybe nobody cares.

00:19:36.367 --> 00:19:38.151
Maybe, like I'm the only one.

00:19:38.151 --> 00:19:40.955
Last thing I'll say is I do love the team over there.

00:19:40.955 --> 00:19:48.710
I like a ton of respect for the all the builders and the devs Like they've worked with the Olaplex a ton over the last two years and I just have nothing but respect for them and I understand.

00:19:48.710 --> 00:19:51.555
You know building an open source business is hard.

00:19:51.555 --> 00:19:52.436
It's really hard.

00:19:52.436 --> 00:19:53.278
I know that firsthand.

00:19:53.278 --> 00:19:57.105
You know kind of got to throw spaghetti at the wall at sometimes and see what sticks.

00:19:58.705 --> 00:20:01.127
Yeah, I mean maybe to like wrap up this topic.

00:20:01.127 --> 00:20:06.880
I feel like it's not on Metaplex to solve this problem.

00:20:06.880 --> 00:20:09.470
It's really on the ecosystem to solve this problem.

00:20:09.470 --> 00:20:10.573
Metaplex is a business.

00:20:10.573 --> 00:20:15.810
They should do whatever it is that they think is strategically in their best interests.

00:20:15.810 --> 00:20:25.106
They have shareholders, they have a token without privy to their corporate entity structure, but they should be able to do whatever they want to do.

00:20:25.106 --> 00:20:26.653
They should be able to have infinite fees.

00:20:26.653 --> 00:20:35.234
That's their right, but it's the responsibility of the ecosystem to maximize competition and decentralization.

00:20:35.234 --> 00:20:38.001
The only way I think that's going to happen is with interfaces.

00:20:38.001 --> 00:20:56.903
I think they've been in both a fortunate position where they've been able to build this mode, but also an unfortunate position that they've been on the receiving end of a lot of this hate, where you have these conflicting requirements, where you have a business on the one side that's looking out for itself and then an ecosystem on the other side that's also looking out for itself.

00:20:56.903 --> 00:21:01.862
It's a tough situation, but I'm confident that we can overcome it collectively.

00:21:02.291 --> 00:21:03.597
Yeah, I couldn't agree more.

00:21:03.597 --> 00:21:04.582
I think it's really well said.

00:21:04.582 --> 00:21:08.135
I think that just part of it is just crypto, twitter and crypto in general.

00:21:08.135 --> 00:21:13.676
It's just so toxic sometimes it's my least favorite part of the space that we work in for sure.

00:21:13.676 --> 00:21:15.726
Let's change topics here a little bit.

00:21:15.726 --> 00:21:19.542
We talked about backpack and the important of the wallet, but talk about XNFTs.

00:21:19.542 --> 00:21:22.313
That's a huge innovation that I really want people to understand.

00:21:22.313 --> 00:21:24.459
It even took me a while to grasp it.

00:21:24.459 --> 00:21:29.680
I would love to try to break that down a bit so people can understand what a big deal that idea is.

00:21:30.751 --> 00:21:31.292
Yeah, xnfts.

00:21:31.292 --> 00:21:33.317
It sounds like a load of jargon.

00:21:33.317 --> 00:21:34.398
It is a load of jargon.

00:21:34.398 --> 00:21:36.022
The idea is very simple.

00:21:36.022 --> 00:21:43.634
In the same way we can tokenize images those are NFTs, right, you have JPEGs in your wallet In the exact same way you can tokenize code.

00:21:43.634 --> 00:21:48.352
You have ownership of code that's tracked on a blockchain.

00:21:49.095 --> 00:21:57.207
The way this manifests itself inside of a wallet or inside of any app really, it doesn't even have to be a wallet is simply on-chain applications.

00:21:57.207 --> 00:22:05.512
The way I like to think of it in the context of backpack is WeChat mini programs on Solana, where you have these plugins or these mini apps that can do whatever they want.

00:22:05.512 --> 00:22:12.964
They're their own sandbox little world where you can build an app store around it, or you can build an NFT collection around it.

00:22:12.964 --> 00:22:18.589
When you go to open a backpack and you click on your madlad, it's not just an image, but it's actually a full-blown application.

00:22:18.589 --> 00:22:27.104
You can get this token-gated experience right to the wallet If you can combine this protocol with an ecosystem of services around it.

00:22:27.104 --> 00:22:52.099
So everything from like user names, profile pictures, bi-directional friends ie a social graph, push notifications, an app store, developer tooling this starts creating a compelling ecosystem, if you will, around this XNFT concept, where you're simply just creating a new way of running applications directly inside of the wallet.

00:22:52.099 --> 00:22:53.522
That's the entire idea.

00:22:53.789 --> 00:22:54.819
Give me some examples.

00:22:54.819 --> 00:23:00.348
Was your top three apps that you're most excited to see get built or that you want to build?

00:23:00.348 --> 00:23:01.953
That are XNFTs, yeah.

00:23:02.019 --> 00:23:03.618
There's been a bunch that have been built.

00:23:03.618 --> 00:23:06.779
If you go to xnftgg you can see the whole store.

00:23:06.779 --> 00:23:09.169
I think there's a couple of different categories.

00:23:09.169 --> 00:23:13.700
The first category, I think, which is just maybe a good starting point, is just games.

00:23:13.700 --> 00:23:17.134
Games are simply just tried and true.

00:23:17.134 --> 00:23:25.598
We've seen this playbook run multiple times before, whether it was WeChat and Facebook, html5 games or iOS and Android mobile apps.

00:23:25.598 --> 00:23:34.147
Many games that you run on your phone that hook into the crypto economy, are just fun, especially on-chain game assets.

00:23:34.147 --> 00:23:43.806
Especially when you start looking at these larger NFT projects, whether it's Klanosaurs and their mobile app, or Yuka and their Metaverse or Star Atlas and their entire just incredible game.

00:23:43.806 --> 00:23:49.310
These game assets are coming on chain the whole ecosystem of gaming.

00:23:49.310 --> 00:23:58.432
In particular, mobile gaming is something that I think we've yet to see, but I think makes a ton of sense to live in the form of in-wallet applications.

00:23:58.432 --> 00:23:59.915
That's one category.

00:23:59.915 --> 00:24:04.368
Another category is NFT token-gated experiences.

00:24:04.368 --> 00:24:07.255
These are things like MadLads, smb, rogue Sharks.

00:24:07.255 --> 00:24:16.786
These are these big profile-pick NFT communities that are creating utility or digital experiences or community hubs around that NFT token.

00:24:17.186 --> 00:24:26.886
When you open a backpack and you click on your SMB or Slalom Monkey business one of the biggest projects on Slalom what you'll actually see is not the image, but you'll see their newsletter.

00:24:26.886 --> 00:24:28.171
They have the banana split.

00:24:28.171 --> 00:24:30.336
It's this awesome newsletter that they do every week.

00:24:30.336 --> 00:24:36.768
They have that NFT right there inside of the wallet or they have that newsletter right there inside of the wallet.

00:24:36.768 --> 00:24:38.824
The story about this is basically twofold.

00:24:38.824 --> 00:24:44.435
On the one hand, you have what I would consider the best token-gated experience that you can possibly have.

00:24:44.435 --> 00:24:47.923
There's no extra wallet connect, there's no matricure connect.

00:24:47.923 --> 00:24:51.498
You literally just click on the NFT and you're inside the token-gated experience.

00:24:51.498 --> 00:24:54.614
It's just like a great onboarding experience, great UX.

00:24:54.634 --> 00:25:00.156
Then the second thing that you have here is distribution, with the banana split in particular.

00:25:00.156 --> 00:25:08.151
The way this came about it was as I was in Taipei at the hacker house with NOM, who's one of the leaders in SMB, and he was showing me the banana split.

00:25:08.151 --> 00:25:10.799
I was like, well, how have I never seen this before?

00:25:10.799 --> 00:25:12.506
I'm an SMB holder.

00:25:12.506 --> 00:25:17.047
Smb was the first collection I ever bought where I was just head over heels with excitement.

00:25:17.047 --> 00:25:18.772
I was like oh yes, this is the best collection.

00:25:18.772 --> 00:25:20.135
I'm so excited to have a monkey.

00:25:20.135 --> 00:25:22.702
I never heard of this newsletter ever.

00:25:23.490 --> 00:25:29.261
You have this challenge that creators have where they have distribution, they have these rabid communities.

00:25:29.261 --> 00:25:34.721
It's just that they're not leveraging that distribution to the fullest extent.

00:25:34.721 --> 00:25:41.739
This whole idea of discovery and distribution is another huge value proposition, particularly for profile pic communities.

00:25:41.739 --> 00:25:43.826
With SMB, you get their newsletter.

00:25:43.826 --> 00:25:47.561
With Rogue Sharks, they've been doing their whole videos through their NFTs.

00:25:48.044 --> 00:25:53.018
With the MadLads, we're doing all of the token-gated staking and rewards through the MadLads.

00:25:53.018 --> 00:26:02.815
We're going to have something similar to Hotel Airline Reward Points or American Express Cashback, just like loyalty rewards programs for the people that are using the products.

00:26:02.815 --> 00:26:06.042
That's going to be used through the MadLad itself.

00:26:06.042 --> 00:26:10.987
When you click on it, it's actually the MadLad itself will have its own wallet.

00:26:10.987 --> 00:26:17.332
It'll be like an inventory view, like World Warcraft or RuneScape, where you have soulbound assets that are attached to the MadLad.

00:26:17.332 --> 00:26:37.160
You have this nice composable protocol where other companies can come and target market the MadLads to get distribution or to bootstrap whatever product they want, whether it's a pizza shop wanting to give coupons or a game wanting to airdrop in game assets, or an NFT project wanting to share a whitelist for their experiences.

00:26:37.201 --> 00:26:41.940
I think there's all these forms of token-gated utility that is built around NFT projects.

00:26:41.940 --> 00:26:42.922
That's really exciting.

00:26:42.922 --> 00:26:47.137
But ultimately XNFTs it's a very low-level primitive.

00:26:47.137 --> 00:26:50.151
It's like saying, oh, an indexhtml files.

00:26:50.151 --> 00:26:51.353
Who cares about each of these files?

00:26:51.353 --> 00:27:06.340
It's just a file, and then on top of it, what you build right these different types, these different websites, these different plugins or primitives is really where the action's at, and you know, all this kind of comes together to like build, like an awesome kind of, I think, consumer application, which is what we're trying to do with backpack.

00:27:06.582 --> 00:27:10.157
And I think it's the web free, native way to create good UX.

00:27:10.157 --> 00:27:13.753
A lot of what we've done with Olaplex is you know, we use Castile wallets.

00:27:13.753 --> 00:27:14.297
This would brand.

00:27:14.297 --> 00:27:15.744
We work with big brands and enterprises, right.

00:27:15.744 --> 00:27:38.421
So they want to use like Fireblocks as a Castile wall provider and like I need to log in with Gmail or Facebook or Twitter and like create an account and then like do whatever the experience is like claim the NFT, get access to some content, like do a lot of things you're talking about, but we just cover in hub, like our product, we cover the payments of the transaction costs in the back end, like nobody even ever is aware of crypto, versus what you're doing.

00:27:39.262 --> 00:27:41.047
For people who maybe haven't used a wallet before.

00:27:41.047 --> 00:27:49.384
You know, the normal way to like buy an NFT or go to a website and unlock some content is they have to install the wallet connect piece on the site.

00:27:49.384 --> 00:27:52.519
That developer does, and then I, as a user, I have to go click a button.

00:27:52.519 --> 00:27:55.494
I have to sign a transaction sometimes multiple transactions.

00:27:55.494 --> 00:27:58.082
I have to unlock the wallet, then I have to sign a transaction.

00:27:58.082 --> 00:28:05.214
It's all these steps right, whereas with backpack, I want to go unlock some token gated content, like a newsletter.

00:28:05.214 --> 00:28:12.000
I just open the app and I click my the picture of the of the Solana monkey business JPEG and it shows me the newsletter.

00:28:12.000 --> 00:28:17.607
I mean it's like the gated chat functionality you guys have for MadLats, right, like I just click open chat and it opens it.

00:28:17.607 --> 00:28:23.314
I mean, the only difference is that it's through a wallet extension, like a Chrome extension, and not like a browser itself.

00:28:23.314 --> 00:28:25.579
Like, the Chrome extension is essentially like a browser.

00:28:25.579 --> 00:28:28.027
At this point, the wallet itself is like a browser.

00:28:28.576 --> 00:28:35.083
I just rearticulate all this because I think it's like for people who might not have been as deep as us, like using these products in the two different worlds you've.

00:28:35.083 --> 00:28:41.434
Really it's such a conceptually so simple but so big from like a conversion standpoint, like I don't even want to.

00:28:41.434 --> 00:28:43.383
Like I have no idea what the drop off rates are.

00:28:43.383 --> 00:28:49.653
When, like, a wallet pop up extension doesn't work, it's probably like a hundred percent, right Like you click it, it's like I've been there.

00:28:49.653 --> 00:28:51.684
Like you're clicking the button it's not working.

00:28:51.765 --> 00:28:55.727
Like the pop up keeps coming back or something Like just something weird happens and you just leave.

00:28:55.727 --> 00:29:03.267
You know, if we're going to get mass adoption and you want to do it like a fully web-free way, then you have to have something like what you guys have done with XMC and backpack.

00:29:03.267 --> 00:29:05.676
I think the use cases you mentioned are super interesting.

00:29:05.676 --> 00:29:13.151
One thing I want to break down a little more as you mentioned like being able to advertise to like MadLats holders, is that like a permissionless thing?

00:29:13.151 --> 00:29:17.904
Like how would that work If I want to send MadLats holders something through backpack?

00:29:17.904 --> 00:29:18.826
Like how do I do that?

00:29:19.255 --> 00:29:28.781
Yeah, so what we're currently building right now is a simple protocol that basically allows you to soul bind assets to a MadLat.

00:29:28.781 --> 00:29:36.007
So when you buy and sell your MadLat on like MagicEden or Tenser, those like assets travel with the MadLat.

00:29:36.007 --> 00:29:40.986
So you can open it up and you can see oh yeah, there's like a game attached to here or whatever.

00:29:40.986 --> 00:29:43.494
Basically, there's like two parts of the system.

00:29:43.494 --> 00:29:58.590
There's the first part, which is like kind of an email inbox is one way to think about it, where you can get airdrop stuff and you have to permission that stuff to like enter into your MadLat, basically, and then once it's in there, it's obviously it's in there.

00:29:58.972 --> 00:30:09.862
But what's cool is like if you do it with XNFTs, then when you airdrop an XNFT and you allow it into the MadLat, that can actually interpret any type of asset.

00:30:09.862 --> 00:30:28.220
So it's just, like you know, permissionless asset interpretation, which I think is pretty unique, like, for example, if you wanted to create your own NFT standard, right, you can just like give that to the MadLats and it's right there, and so it circumvents a lot of these kind of distribution problems on protocols that we were talking about with the MetaPlex conversation.

00:30:28.220 --> 00:30:33.141
But it's a really challenging security problem because it's spam.

00:30:33.141 --> 00:30:34.084
Yeah, it's a spam problem.

00:30:34.084 --> 00:30:44.469
Basically, that's like the big challenge around this particular airdrop target marketing product that I think is unique to wallets.

00:30:45.557 --> 00:30:47.443
Yeah, I don't have a solution for that one.

00:30:47.443 --> 00:30:49.612
It's a really hard one to solve.

00:30:49.612 --> 00:30:58.842
I've been noodling on this idea for a while where I really wish there was a website where I could just order, like e-commerce site, where I could just order stuff in USDC.

00:30:58.842 --> 00:31:01.876
I just wish I could use USDC for everything I love.

00:31:01.936 --> 00:31:14.178
Paying for things, and USDC on Solana versus like entering my credit card in and doing it through backpack would be even better, right, because I could just hit buy and it would be like I mean, it would be optional to put a confirmation in there, like, do you really want to buy this?

00:31:14.178 --> 00:31:15.607
Do you really want to sign this transaction?

00:31:15.607 --> 00:31:17.637
Because it would just sign it if it was X NFT.

00:31:17.637 --> 00:31:19.482
But like, is that something you could do?

00:31:19.482 --> 00:31:20.826
You could just like send someone an X NFT.

00:31:20.826 --> 00:31:27.292
That's like, let's say, I built a storefront that, like will turn your NFT your MadLad into a painting.

00:31:27.292 --> 00:31:29.244
Like it will drop, ship it to you.

00:31:29.244 --> 00:31:35.354
And so you hit like buy, enter your mailing address and it just drops, ships it to you as an X NFT like the actual physical one.

00:31:35.354 --> 00:31:37.973
Like you could do that in backpack using an X NFT.

00:31:38.078 --> 00:31:41.619
Yeah, that's exactly right, and it would like detect what MadLad you have.

00:31:41.619 --> 00:31:42.766
It would detect your address.

00:31:42.766 --> 00:31:50.638
You'd have to put in the you know your home address or whatever and click confirm on the transaction and it'll pay it and go to your backend.

00:31:50.638 --> 00:31:53.936
And as long as you can figure out how to do the shipping, then yeah, that should just work.

00:31:53.957 --> 00:31:54.198
Yeah.

00:31:54.198 --> 00:32:00.748
So we're getting towards the top of the show and I always ask, like what have I not asked you that you wanted to talk about, or that I should have asked?

00:32:01.613 --> 00:32:08.607
I don't know if there's anything in particular that I am trying to evangelize or talk about at the moment.

00:32:08.607 --> 00:32:11.761
I think a lot of your questions have been great talking points.

00:32:11.761 --> 00:32:12.826
I don't know nothing in particular.

00:32:13.855 --> 00:32:14.096
All right.

00:32:14.096 --> 00:32:21.708
Well, I've loved having you on the show and wish you the best of luck, and we'll obviously keep supporting all the open source work you're doing.

00:32:21.708 --> 00:32:25.941
If people want to build X NFTs or like, come build with you, where should they go?

00:32:26.623 --> 00:32:32.546
The main place is follow us on Twitter X, nft underscore backpack and on Discord as well, if you can get links there.

00:32:32.546 --> 00:32:34.519
Those are probably the two best starting points.

00:32:34.519 --> 00:32:40.527
And then GitHub obviously has links to the repo, the local backpack, build documentation, all that stuff.

00:32:40.527 --> 00:32:44.064
So those are probably like the three main points of contact to get started.

00:32:44.425 --> 00:32:49.426
I have a question for you that I probably should ask that I think would be helpful If people were listening to this story.

00:32:49.426 --> 00:32:52.821
Developers out there are inspired by your action, which is like you showed up.

00:32:52.821 --> 00:32:56.579
You started building open source and contributing in meaningful problems that you found.

00:32:56.579 --> 00:33:01.441
What are some meaningful problems that you would like solved as it relates to what you're working on?

00:33:01.441 --> 00:33:05.917
What are some areas where somebody could come contribute or start doing some research on how to contribute?

00:33:06.579 --> 00:33:08.063
That's a fantastic question.

00:33:08.063 --> 00:33:10.067
So there's a couple areas.

00:33:10.067 --> 00:33:13.422
Some of them are being solved, some of them are not being solved.

00:33:13.422 --> 00:33:17.479
The first big one, I think, is still around.

00:33:18.140 --> 00:33:31.303
I think just testing in general on Solana, I think, still needs a lot of work, just like the whole environment for pulling in remote data testing against the token program and the metadata program and minting NFTs.

00:33:31.303 --> 00:33:35.037
I think we're like 80% of the way there, but we're not 100% of the way there.

00:33:35.037 --> 00:33:42.078
To make it really frictionless it still requires a lot of source diving and context understanding.

00:33:42.078 --> 00:33:52.067
So I think there's some good DevX problems to be solved there still, especially if you have some nice declarative programming model for initializing test state.

00:33:52.067 --> 00:33:53.759
That's one area I think.

00:33:53.759 --> 00:34:01.045
Spam and wallet confirmation signing or trusted transaction signing screens basically, is like a big one.

00:34:01.045 --> 00:34:07.070
I think these are mostly being solved by various different companies, but it continues to be way too easy to get rugged.

00:34:07.070 --> 00:34:16.326
This is obviously something that we're actively thinking about at all times and pushing quite hard on, but that's like another big area where just more mines is better.

00:34:16.326 --> 00:34:20.041
Yeah, those are probably two of the bigger ones that I think about regularly.

00:34:20.764 --> 00:34:21.206
That's great.

00:34:21.206 --> 00:34:22.512
Well, you heard it here first.

00:34:22.512 --> 00:34:41.094
If you're looking to follow in the footsteps of Armani and solve some hard problems and make some open source contributions, I think those are two really big problems that, despite the fact that other people working on them they're so complicated Dive in, ask questions, get in Discord, start doing some research and make proposals, just push stuff out there on what might be possible solutions.

00:34:41.094 --> 00:34:44.043
I think that's a good way to get going and just start building.

00:34:44.043 --> 00:34:45.365
Thanks so much for being here.

00:34:45.365 --> 00:34:46.114
Appreciate you.

00:34:46.476 --> 00:34:51.599
Yeah, thanks, alex, appreciate the time.