all right okay so i'm locked in now and now
No, no one's going to show up, but that's okay.
Every streamer starts with zero.
I'll comment in the chat.
Do you have ETH on Unichain?
Well, my product is for people
who don't have, for people who don't
I think so. I should be live.
B-A-C-C H, oh yeah yeah that's that that's us we're we got a chat talk to my chat okay hit the chat open in like the corner yeah i can't ignore the chat line
where's oh here we go um live coding today what's up
okay cool what's up chat um we're in new york city um at unap, and we're going to be working on some Interop slash Unichain.
Oh, I can hear people talking.
I didn't ask anyone if I could do this, so I'm going to try and preserve people's privacy.
No, that's myself I'm hearing.
So we're going to go through and interrupt and unit chain
okay okay is it kosher that i'm live streaming okay all right so i think the idea that we want
to build is something related to giving people just test that youth or excuse me real eat
giving people just test that ETH or excuse me, real ETH.
Can I pick you up for a moment?
Hey, I just want to say something.
I remember you from the cohort series.
So for people that don't have ETH.
It's like gas.zip for the superchain
so I'm going to I will check if the user has EAT.
If they do, then I'll drip them, or I'll allow them to use Superchain Interoff.
I'll allow them to use Superchain Interoff
to get gas on the destination chain.
And then if they don't have ETH,
if they don't have ETH, then I'm
going to rely on some reputation primitives.
Ideally, we do multiple ones, but I think I'm just
And if they have a world ID, then I'm just
going to front them some ETH.
Then I'm going to front them some eat then i'm going to give them some eat
my idea being is with this product we're going to drive some more unit chain usage
no bridging needed for eat we're going goal
is to drive uh the other chain yeah so this is like okay so i think if i share my screen
and then if you search for anything you said
so this is effectively what we're trying to build
If you guys have suggestions
on how to improve this, let me know.
But for now, I'm going to go to cursor
hours, so hopefully we can get the ship by now.
Oh, you can't see my screen.
It says, oh, VTAP StreamYard.
Sharing this type of StreamYard.
Here we go. Add to stage yard here we go add to stage there you go so um harper you should come down to the unichain office um
you should slack me for the emperor um but this is what i'm going to build if you have suggestions on
what you would like to see instead, let me know.
But for now, for the next 10 minutes,
I'm going to struggle to set up my environment.
You're not showing your screen if you're trying to.
I think it's showing now.
Tech support. it's just not live there we go there we go thank you will be a thing page and it will require the end user to connect their wallet
with a page title called super chain gas tank.
If you guys have any ideas what I should call this,
unit chain gas tank, super chain gas tank,
something like that, let me know.
Let me know the page title called Superchain Gapstank.
Page title called super chain gas tank.
Let me set up this new project and use the same styles from the current project. uh
Okay, cast thank you the same styles run command. Okay. So right now I'm creating a new project.
We're installing some dependencies because I'm just forking an existing project that I have,
which has all my React stuff, which I pseudo know.
I think you need to share your whole screen.
It's still stuck on one tap.
Yeah, I don't want to share my dog wrap cursor instance right now.
I'm able to resolve your shell environment.
So I want to get my environment set up first before.
But effectively, if you don't like the product that I'm shipping here, let me know.
Sandeep, I saw Shiv this morning.
Very briefly, we grabbed a quick espresso
oh okay you know what maybe i'm just going to add it to my existing website.
My existing website is this little farcaster thing.
It's like get gas, get free.
So I'm going to cancel what I'm going to do here.
Instead, let's create a new page.
Oh, my God. Okay, this should be faster because working my current project is not working well.
So this current website is effectively supposed to be a Farcaster marketing page.
I got to fix that right here.
And I'm going to add a new thing that's like GetCast.
Obviously, it's not great.
Contacts, and then we'll go from there.
So with that, we should have the menu item up.
Hey, how's it going? Good.
Are you on the Uniswap team?
Okay, just a hack package.
We got some people in the audience.
Oh, okay. I think we've got some lag going on there there's nikki there you go um what are you building uh
i'm still thinking but i was just gonna ask that i kind of missed the first part of it i was wondering
if you guys are gonna send it out uh i can send you this deck so this deck has all the information on interop
there's also both Humby and I that our job is like effectively to bring it to
market so if you have any questions we're happy to answer it this the first
part to like cover some concepts and then the second part has a few demo
apps that you can like click through and try it out as well and then at the end
we have got dev docs and all that jazz okay um what's your email
right here do you want to put this in
cool yeah totally um and then if you have any questions just swing by okay
And then if you have any questions, just swing by.
Benji's right, I think, at this point.
I'm going to share my cursor screen now.
Share screen. Okay, so...
I'm actually not going to share my screen or cursor because I'm going to have to close out the stream.
But I'll just show the local and I'll keep pushing up pretty quickly.
I don't know, but please start my local environment. so so if you've just joined what we're doing is we're going to take this existing marketing
website and we're going to give people free gas on unichain um if they reach some qualifiers
if they reach some qualifiers.
So I'm trying to do, okay, so now we should see localhost.
So we have our little section.
OK, so in here, what we're going to do now
is if we go back to our ExcaliDraw, We're going to check if the user has eth.
And then give them some on.
Maybe we just start here.
But ideally, there's something like I
need gas on the super chain
And then the other button is to transfer.
So something like this, and then if the user...
There's something like this.
transfer And then for this one, transfer heat across the superchain.
So I think these are the two ones.
This one on the right will effectively be a bridging interface.
be a bridging interface. And then this. Resistant mainnet faucet.
gas.zip for the superchain for people who don't have
ETH goals to drive human chain usage.
going to do is screenshot this
I'm going to go back to cursor. Okay. In the getCast page, add to buttons. The first primary content should say readGAS with a subtext that says, get free gas.
And then the second button. Hey, I'm live streaming. You want to come over here or should i come over there all right
do you want to see what i'm building you want to see what i'm building
i'm building a main net faucet and bridge main net faucet so if you have a
so if you have a hamdi over here what do you like you're like I am live streaming
via Twitter bro like you building this oh fuck no I just quit you just cut the
question no no I think I'm still here yeah there's a thousand views I don't
know why anyone would watch so can they hear you yeah i just muted myself um we got the legend sauce
hold on all right there we go well he's he's famous he's famous hamdi are you guys hanging
out until five or you guys i'll be invited i have to go catch a dentist but i'll come back
dentists ain't open on the weekend huh dentists ain't open on the weekend this one oh yeah i'll be here okay i gotta go catch a check
have this app right oh there we go so i need gas on the super chain. So if the user clicks this button, do nice bike, bro
Did you just saw see bro?
Just like you ever get it
This is the website cuz I was too lazy to fork.
If the user clicks this, we're going to check if they have a world ID.
And if they do, I'm going to give them 10 cents.
And then they can go trip it to them.
How is the difference just like a faucet?
This is mainnet, bro. You guys aren't giving out free? Sepulia, yeah. awesome this is mainnet bro you ain't you guys aren't giving out
free it's a polio yeah but not being that mainnet why are you gonna give them 10 cents on mainnet
because i want them to uh mainnet being you the chain got it here you didn't read my my prd over
here oh i see we don't have like a main effort yeah for the for people who don't have
eat onion shape yeah gotcha so i should just show you too yeah why why not
yeah um what do you think just no pressure you don't like this idea
that's a good idea what's your idea that's a good idea it's a good idea you just have to have you
can use a promise library okay let me start iterating first so the first step where do i
use the promise library so you probably have a smart contract that holds us in an e yeah
whatever they need e from you would basically if you might need a share screen again
okay so we're humdi's helping me out with uh the design so eoa with
don't don't overestimate me and then you would have to basically integrate that with
don't don't overestimate me
the world world chain contract how does world chain give attestations i don't think so in this
case i mean maybe we move to cb verifications because then we can do the cross l2 box validate
that they have in that station.
Maybe that's a better one.
We should first figure out how it is.
We should have to see if they have a.
They have like their own kit.
Look at the docs. All right. So. Where is it? uh
all right so where's the where's the docs where do you see the docs
they gotta have a doc somewhere no i know okay world id though
get world id no dude i'm a user i'm a developer type world chain developer docs no it's world id dev docs okay No, it's world ID dev docs.
I thought it was the eyeball chain.
Okay, so integrate world chain.
Integrate, yeah. No, I want...
Why would I want to integrate?
This is deploying your app on world chain.
Whatever has the access stations.
I'm curious how they do that.
For the world... World ID. Yeah, I i know but they should make this a click box so if you are the owner of the world developer docs
some user feedback i want to be able to click this right yeah all right i'm gonna click already
Well, embed a call to the verifier proof.
So the verify proof contract, let me call that.
Yeah, so the verify proof method reverts if the proof is invalid.
So we could use the promise library to call this on the world chain.
So in supersyn, we could fork world so that the chain is there and then you could do promise us in message to verify proof and if you get a risk if it doesn't
revert then you'll get your dot then and then you could give the recipient there
yeah they reverts then the callback will never get invoked yeah
okay so let's add this to our PRD.
So the arguments, you need the world ID root to verify against.
Group ID for all verified users.
Hash up the signals to verify.
Okay, so I guess you can figure out this later,
but you're going to have to have a bunch of...
I guess your front end can have all this stuff,
like the ID kit to get the...
It says all this comes from the ID kit, right?
So your front end would basically use their SDK to get the ID kit.
But basically, you can call verify proof across chains.
So on OP mainnet, someone can call your, yo.
So on OP mainnet, you have a bunch of ETH.
You wouldn't want people to call directly because if they're calling your gas contract,
they wouldn't want people to call directly because if they're calling your GAS contract they wouldn't have GAS presumably. So on your front end you can just off-chain
first check that they're a world IT user. If they are you submit a transaction.
Okay so I'm gonna get to that first step and take a break.
Okay but to close the loop you do the off-chain check, that's to protect yourself
from sending unnecessary transactions. Yeah. Then you send the transaction on-chain with
them as the recipient, and then it also checks on-chain if they're a verified user via the
Superchain interop and the contract, verified proof contract. And then that will call back
into your contract on success, and then you just drip them so okay so I think my first step though so I think this idea is a
bad idea though no are we talking shit I guess another way to approach this too
is you could also start from world and then distribute each the each from world to the dirt to their like desired chain
i don't like it's a good idea okay so once it clicks this then we need a prompt
sign in with world it's a sign in with world okay so let me go back to my drawing
okay we're gonna keep this as world.
So if you click this, see, this is how all PRDs should be
working, by the way, this Xcali draws.
So then I think I need to see what it looks like.
It's like login, world ID.
And then we need their address.
Address to drift funds on UHA.
How's the chat management?
Chain abstraction. Main optimismed who's gun boats
guys this is some straight up vibe coding so don't don't get too impressed okay
so let me see so we're going to go back to world try it out i got a great screenshot of the
okay so you see we have sign in with world
so i want that to show up world
approve We're going to scan. Approve.
You can request names in World ID now.
That's a big dog. Let's go. You see that? Strong, because I'm strong.
World... world world point do you know what they're
how's it going okay so world here's my goal is to drive unit chain usage my hypothesis is not
enough people have eat on unit chain yet so i'm going to address this in two different ways the
first is leverage world ID distribution and say,
I'm going to give you 10 cents just out of my pocket.
And then the second, what?
What's a million times 10 cents?
What? That's like 10 transactions on Unichay.
oh yeah, it's only a cent to do the transactions.
Yeah, you're right, okay.
It's like 10 transactions.
And then you guys are going to retrofund me that's true worrying is left um and then the other is uh just a simple bridge
interface so if the user has eth on base or open may now just transfer over to uni
you hate it no i love it and then on chain we could do the promise check to call the verify proof
on the world chain yeah assuming that returns then you get your e-drift the eath ken is
disappointed he's like he's like you can going to get 100 grand to just like slim.
Humdi's been doing pretty well in the trenches.
Yeah. And then with the world,
you have civil resistance. Exactly.
And I don't mind giving up. Imagine if you
covered the user's first few transactions yeah
100 grand 10 transactions per person it's a lot of people it's a thousand people there you go
all right so coming back to this what do I need to do so I need to integrate ID kit.
What is world ID? ID kit?
There are three packages.
Hey, can you help me? I'm scared. But I'm writing it down so it looks better.
Well, it's either the standalone or the IDK.
It could be a general JavaScript app, like a CLI app.
All right. Are they going to tell me how to install it?
a new dependency called...
Yeah, copy this. It should be on this. Copy this paragraph.
And then, honestly, this is good feedback,
because, like, what if we had a section
of our docs that was like a vibe code?
Vibe code using what is it called?
Vibe code using cursor and OPVM.
Import widget from world.
Add this widget once the user clicks the primary button.
I need gas on the superchar.
I need gas on the superchar.
What are you going to build?
So I added this last week.
The formatting is ugly. but you can click in.
You see a little hover animation?
And then you can see the original post.
So you can see here Drew Kaufman got 100 in Warpcast rewards.
But yeah, this language is is gonna have to get cleaned up
because what the positioning of this is like you don't need to know anything about
crypto to use this website but then this kind of breaks that
yeah or it could be like getting me started on this chain oh get started get oh yeah yeah yeah
it just drips 10 cents to every chain so that for every chain you have like 10 transactions you can
make i like that super chain yeah okay um right in it you might need to share your first screen
versus so i can't share this because otherwise if I share this,
I'm going to have to close out of everything.
So they can't see the code?
No, they can't see the code.
Wait, why can't she close out?
Because I basically, I just updated my permissions.
Typically they say you have to restart, but you don't.
You can share it on screen.
Let's try this. Share screen. Sometimes you could just not listen. oh typically they say you have to restart but you don't you can share all right let's
let's try this share screen sometimes you could just not listen no bro see i know like here like
i already did that see and then it's like you got to restart to do it
yeah i tried bro i tried just screaming so they're just sitting at this page while you make changes yeah what what what like I throw I try.
So there's just you have this page while you make changes.
Yeah. What? What? Like they want to see my I just also this is safer for me because they might see my private key.
Sure. You put your private keys in here.
No, they're not on here. This is a marketing website. Oh no. Don't check my GitHub.
Okay. The widget is properly integrated. Wow. Okay. Hold on. okay hold on
okay i might win this hackathon
that's fucking good something went wrong but that's chill no this is production bro all right so this is my marketing website yeah it's uh for farcaster but i added a tab
just for speed and now you'll be able to get your e if you have a world id free e look at that boom
that popped up i'm gonna scan it it doesn't work yet but uh that's i think i think there's
probably some like api yeah yeah yeah yeah that's mad funny what what impressive yeah sorry it's
mad impressive okay good stuff it's hilarious why are you just hating i'm not i'm impressed
Oh, they didn't even see it.
this was the website, right?
Get gas. I need gas. Boom.
World comes up. Look at that.
And we're going to go debug that now.
So share this time instead. I don't know.
I have a double thing going on here.
What's going on? Your spine's doing this?
Yeah. Yeah. I don't know if it's security.
We're all the way in Los Angeles.
We're all the way in Los Angeles.
We need to explain New York City for that.
We need to explain New York City.
I'm sure you need a brand account.
I thought this was permissionless.
I actually did, but look. Continue with sign-in with WorldPlan. continuous sign in with world thing there we go
okay here we go did you scan your eyeball yeah you verified yeah bro why would i not support
identity confirmed there we go okay oh okay am i it's a mini app so environment production let's go baby if you made this a
mini app this would be the most used mini app for free eth yeah but i don't you'd be the faucet
but you could also you could also add add another function for other people to sponsor it
it so it's not just like yeah well yeah I'm gonna have a donation well and then
so it's not just like yeah well yeah i'm gonna have a donation
my idea is to take a small fee on the bridging and then use the bridging fee
to cover the faucet yeah there we go i have a business oh yeah that's the sponsored ad yeah oh i should do ads too oh my gosh that is like optimism put ethan
there then you throw the optimism yeah gas tank they can skin it however they want that would be
sick i hope they don't have to approve together guys there we go i'll i'll submit with you guys
i don't know how to share my repo with you but uh
all right where are we we're in with social gaming ai
tokens i guess it's tokens
I don't think I'm going to do the on-chain for today.
I think I should come back.
Like you should do it off-chain?
But if you wanted external organizations to contribute ETH to your faucet,
you'd want to do on-chain verification.
Yeah, do it off-chain, I guess.
You could do it off-chain, and then you can upgrade it to an on chain.
So some feedback to the world team.
I would like to know if I can switch these,
but I'm just going to go try to find out.
That's sick. Create your first incognito action.
So unique identifier for the app.
No, this is I I've read their docs a while ago.
I think this is just what I need.
You need an action first. You think so?
Yeah, because if you look at their docs,
let's say like ID kit docs.
It says this should be the action name the action the user is performing
which is proving they're human yeah it's good feedback for the team no isn't that
what they're doing they're proving uh prove human uh the user has an opportunity to get a small amount of gas if they prove they are
this is a value yep max verifications one
what does unique mean the number once so when someone comes back to the site and verify again
your action will fail yeah no unique is right unique is one oh unique is one yeah
it should be because like the next one is two. Yeah, but I mean... And then when you type in one, it goes back to unique.
Feedback, unique, should just say one.
I'm going to approve human.
Dude, someone's going to steal my world ID because I'm sharing all this.
Yeah, put that in the code.
Dude, just go to the file.
Here's my API key, can you update it?
Yes. Please add the phone. Guys, my app is going to go viral.
I never understood what vibe coding was and now I have a good idea of what it means.
Okay, what have you shipped to production lately, okay?
Great, let's see what we got great i'm really excited i'm just gonna be hyped
if i can get this working i think you could there we go oh wow it just filled in a random
one yeah and the action should be. Prove human. Prove human.
Curry Iverson tells you what follows page.
Oh, different. It's like a crossover.
It's so good.. You see it. It's so good.
Is it the lowercase movement?
And then what's on success?
I don't know. Oh, that's a JavaScript function.
So that your JavaScript function then so now let's see if we go back it's a processor so it's like it's by asset rather than by chain so say like um i don't know say you launch a token on the world and you're very good we've got world id verifications going okay so
yeah no no no no so now let's go back i think you should do an on-chain proof because if you don't
then you'd have to have like a permission sender who can authorize.
If you do it in the smart contract, anyone can do that.
Okay, hold on, hold on. Let's talk about that.
So if we do the smart contract version, what has to change?
So if you do the way it is right now yeah your website can verify that it's a world ID user yeah your smart contract which only would allow a special
EOA to take from it yeah but now if I do a smart contract anyone could anyone can basically call it and then your smart contract ensures that this uh
this user can only once yeah so and i mean your website would do it but in theory anyone can call
it but then i have to deploy the smart contract too right regardless you're gonna have to deploy
smart contracts yes yeah oh unless you're saying you have like a EOA and you just like send. Bro, that's what I'm about to do. You just send 10 cents on every chain.
Oh, you know what I should do?
So yeah, start with the EOA that just has money.
Yeah, and then I'll improve.
So let's, so once, if success,
if successful, then we need to take the user to a new page. OK. or you can use on layer 0 as it can be on.
So in this case, this is a good problem
between the superchain, super-generational
So that's why we can use .
Yeah, that's hard to put.
It's deployed on super-generational . I think there's a super chain here C20 question we should answer.
It would be, yeah, so you'd be able to swap an interoperable asset with an uninteroperable
asset, or the other way around, if you'd swap an uninteroperable asset to an interoperable
I mean, I guess, like, that's all I would see as, like, a key benefit, to be able to
ensure that your assets are more to the new people.
Maybe they have more specific ideas on what exactly they
So for me, from a universal perspective,
what we want is for people to be able to trade really
across all those solutions.
Like, maybe change the problem. So if you want to do that, if you only have assets then the last thing will show I would love for someone to work with a okay right that's that's um but it's the product productionizing meaning anyone can put oh
but i think my great world yeah my mental model is get it working first and then improve
yeah and we can call it just like some jp because i'm also just really scared about uh
deploying smart contracts i'll handle that i'm the tech guy
i'm also the tech guy it's sort of tech guy
how many tech guys does it take apparently just one one with a
cursor subscription okay so now what i'm doing so just so if you're following we've got world
idea working so now that it's working on success i'm going to drop the user to a new state oh
so on success of this i'm going to drop the user to a new state. So on success of this,
I'm going to drop the user to a new state,
which is effectively entering in their address and then pressing the getEath button.
So I'm going to take a screenshot of this
I'm telling cursor to create this.
So on success... Instead of tracing an address, why not just connect the wallet?
Versus just like connect the wallet you want.
It's less steps for me, right?
And World has an address, but it doesn't want the wallet.
Yeah. Because it's a smart account, I think, anyways. World has an address, but it doesn't like the wall chain. They don't support it.
This is a smart account, I think, anyways.
They do payments for stuff in their chain.
Which is why all their charts are user ops.
User ops for a month or whatever.
Yeah, pasting the address, do that.
That's good to start with.
On success, the user should do a new folder where they can paste in their DBM address.
There should be a button.
It's six second, by the way.
Every laptop I've got, I might buy this exact six second. I don't know.
So, for example, there's a bullet.
I think it's going to know how to do this.
That's something complicated.
How are we doing on time?
My goal is to get the submission working
and then get to the success state.
And then I'm going to take a break. Thank you. Okay, so if you guys know anyone that uh cursor tell them to stop using ethers as the default
and to use beam shout out the the wagami team right right
welcome shout out will cory no no no i know but uh will's just close with those guys. Yeah, yeah, yeah.
So it's using VM now for address validation.
So I'll demo what's going on.
And then we'll see each other on the same channel.
And then we'll see each other on the same page.
And then we'll have to bridge it back.
Right, right, right. But what we're seeing here is if they're in some classes. Wow this is crazy even I like I figured it would know about VM or ethers I figured it would know about either is only 20 bucks a month.
Yeah, but this is, um, I don't use it for non-work stuff.
... unique. OK, so the next thing that we want to try here is I put in
OK, cool. So we Perfect. Okay, cool.
So we've got that step down.
So the last thing we want to add before we do all this smart contract jazz is this last page.
So. Almost like pre-processing sets to... Um... Okay.
What is the button called?
Get3e What am I sharing? Um 3D
to block stop and route scan.
That has the transaction hash of...
Also, by not doing the smart contract approach, you're gonna need to have a backend.
You still need it in both cases, because the backend, your frontend is saying like,
this should be a good thing.
Your backend will then do those transactions.
sort of doesn't necessarily work like that because like because you're swapping
into building that exists on both chains but the alpha token only exists on one chain right
you're not swapping stops you can stay behind bring the world on shame
right and so the hook would be able to just like recognize that you're swapping on chain okay with the other chain and then the home of the swap and then send the acids over the alpha acids
so why you're not the swabbing that is
correct correct because the input token has been the
12-glass that's how you kind of bridge it over to do the swap and come back
does that make sense the log stuff i don't know
yeah no that's what I wanted to do.
I'm trying to wrap my head around
for interoperable blasts?
on base chain and then I want road turn on
So I want to have a L on the unifucked floor hook that's going to do something, maybe a
When I send to that contact, okay, 100 base, it lifts that log and that's that motion of the chain store.
And then on Unichain, it's got some kind of facility to capture that event
and then it can form a swap.
But then I'm missing pieces in the queue.
And I think I'm going to pull it off.
So end to end, congrats, pay it forward.
Is the base, can you move the token? Like like can you move the base you said base token cool yeah as an example yeah okay i'm gonna stop
streaming for now but we will be back you take just two um assets that are both of separate chains because they're both super chains yeah and the tokens are
super chain years 20s what was that is that a requirement well in in your example
i think you would want to bridge the base over to uni Thank you. you .