Back
Tobias Lütke
Chief Executive Officer, Shopify

Tobi Lütke x Ilya Grigorik: Building the Universal Commerce Protocol

🎥 May 19, 2026 📺 Shopify ⏱ 47m 👁 672 views
Shopify CEO Tobi Lütke sits down with Distinguished Engineer Ilya Grigorik to talk about developing the Universal Commerce Protocol (UCP), building in the open, and why the era of agentic commerce needs a shared language. 00:00 - Intro 00:30 - Why Protocols Matter 02:03 - The Origin of HTTP 04:26 - RFCs and Engineer Legalese 06:13 - Negotiation and the Open Web 09:23 - Protocols as Abstractions 13:14 - Cathedral vs. Bazaar 18:09 - Shopify as a Bazaar 22:50 - UCP: The Hardest Protocol 30:14 - Escalation as a Primitive 36:48 - Keeping the Bazaar Alive To learn more about how we built UCP to p...
Watch on YouTube

About Tobias Lütke

Tobias Lütke, CEO of Shopify, has been discussing the impact of artificial intelligence on entrepreneurship and commerce. In multiple podcast appearances, he stated that AI is "underhyped" and described it as the ability to "project intelligence at problems" without requiring the allocation of specialized human resources. He argued that the shape of companies will change, with businesses becoming smaller but more numerous, and suggested that a billion-dollar one-person company may already exist. Lütke also said that "every existing piece of software on planet Earth is now just a prompt for a better version of that piece of software." Lütke has also discussed Shopify's development of the Universal Commerce Protocol (UCP), which he described as an effort to create a shared language for agentic commerce. He characterized protocol design as "the highest form of software engineering" and compared the approach to the concept of "the cathedral and the bazaar." Lütke noted that Shopify's early differentiator was that its software "looked beautiful," which he said "tamed the complexity of starting a real business." He described money as "how you vote for the what you want" and said the company has eliminated the term "failure" in favor of "the successful discovery of something that didn't work."

Source: AI-verified profile updated from Tobias Lütke's recent appearances. Browse all interviews →

Transcript (87 segments)
T
Tobias Lütke0:03
It is an attempt to turn imprecise English language into not machine-runnable code, but something that is more precise than just words. I think one way to think about the protocol versus direct integration one-to-one client server is this idea of the cathedral and the bazaar. What's so interesting about protocol creation is the people who create protocols have to understand the problem better than anyone else.
Hello, everyone. This is another Context episode. And this time I'm here with Ilya Grigorik. And we are going to talk about why protocols are such an important thing that engineers talk about. And in fact, I think if you do our job right, you are going to, I mean, have a much stronger appreciation for the protocols that run the modern world that underpin the world of engineering and sort of what makes a protocol, what makes them good, and why it's a thing that when you probably find yourself at some place, even if you're not in engineering and you buy drinks for engineers and get them onto their most philosophical self and into the topics of internet history, you will at some point hear about protocols. And then next time you'll have hopefully something interesting to contribute to those conversations.
Ilya, you have worked on a lot of important protocols of the internet in your career. Obviously, the largest one of those is the W3C, the internet body that specifies what web browsers are allowed to do. HTML is one of those protocols, I suppose, I guess. HTTP is definitely the thing that makes all web browsers work, which is something you have worked on. And most recently on UCP, which we talk a lot about because it's enabling the agentic world. And so, welcome.
I
Ilya Grigorik1:53
Thank you.
T
Tobias Lütke1:55
Let's quickly start with HTTP. Tell us a bit about that protocol, the origin of it.
I
Ilya Grigorik2:03
Well, that's a fascinating story. I think the key insight from HTTP is Tim Berners-Lee made, I don't know if he deliberately made these decisions, but he walked into a design that evolved that we can learn from. So if you look at the very first iteration of HTTP, it was literally one line that you would type in. And it says get with the name of the resource. It is the simplest thing that you could imagine.
T
Tobias Lütke2:30
Yeah.
I
Ilya Grigorik2:31
And it worked. It's not machine language.
T
Tobias Lütke2:35
It's not.
I
Ilya Grigorik2:35
No, it was literally three letters, get followed by the name of the resource. It's as simple as it can get. That is HTTP 0.9. It is kind of protocol. You can only do one thing at a time. It does not understand different resources. But it worked. And everyone has seen this a million times. Like you've looked at the address bar in your browser. Like it says HTTP, usually HTTPS now because he had to make it secure at some point. But he sort of skipped over that back in the day.
T
Tobias Lütke3:03
But that came later, right? But then you forward evolved that. And what happened was there's this Cambrian explosion of people building stuff because they said, hey, this is cool. There's something here. So then somebody comes along and says, you know, it'd be cool if you could fetch an image. But how do we differentiate that? And so headers come to existence. And headers, one of the key decisions at the time was it's an open protocol. So there was no central governing body. Tim did not sit there and approve every proposal for every header that said, this is how you do it. Instead, it was community of server builders. And then there's a growing community of client builders who just said, look, we're just going to try stuff. We're going to throw some stuff at the wall. Hey, Apache server, if you add this header, and I will add this listener on the other side, then the two of us can negotiate, and now we can speak images. And look, ta-da, right? And this is the genesis of the internet as we know it. There's this Cambrian explosion of experimentation, and it's lawless. People are just doing stuff, and they're experimenting. And then after the fact, smart people come together and say, look, we've tried five different variants of how to negotiate an image. Let's just agree on a convention. And that becomes the IETF lore and you have these like RFCs that get put out. But note that it is not by consent or approval of somebody. Tim was never in that way.
I
Ilya Grigorik4:23
What does RFC stand for?
T
Tobias Lütke4:25
A request for comments. Even that's kind of like prosaic in a way, right?
I
Ilya Grigorik4:29
Exactly.
T
Tobias Lütke4:29
It's not like a law.
I
Ilya Grigorik4:30
Exactly. It is, yeah, you put it, yeah, it becomes standardized, but it is still a request for comments, right? So everyone can put an RFC together. It's almost like its own sort of, it almost looks a little bit like engineer-tinged legalese. Like there's a particular, like a should and must and often uppercase, at least in some areas. So it's where there's like, there's an aesthetic to how to put up an RFC. And you get a number assigned or maybe you pick it up.
T
Tobias Lütke5:00
It is our best attempt. Well, maybe not best. That it is an attempt to turn imprecise English language into not machine-runnable code, but something that is more precise than just words, such that somebody on the other side could implement it in a more respectful way. Which, by the way, is also what the legal language is.
I
Ilya Grigorik5:21
Exactly. It usually starts with a variable definition at the top of terms, and then it goes into a subset of English language, which is more or less executable, and then it all kind of is committed to the source code by case law, right?
T
Tobias Lütke5:35
Right. Into the mono repo, so to speak, at least in the common law area of the world. And so it's like you make a request for comments because you want to make a change or you want to make an enhancement or you want to specify something that already works, which is actually also an interesting, like very often an RFC is happening for something that's almost backwards facing documenting about something that someone has already tried.
I
Ilya Grigorik5:58
That is key, right? So an RFC is just another step in kind of a market negotiation mechanism. Because the way the internet still operates is, we can set up a server right now and invent a whole bunch of new headers. And so that is the thing that was like that HTTP, I mean, the day before HTTP, basically, it was like a network of a traditional sense. You would make a piece of client software and a piece of server software, and they could sort of talk to each other over a socket. And the genius of the protocol in the middle meant that now it wasn't the same person who had to make the server and the client. It was like one client. And whatever that client supported, it could always send a prophylactic request to the HTTP server you put into the address bar. And if it got a response back, it would then show this. Therefore, what the protocol allowed to do is an end-to-end collaboration. Suddenly every server could talk to every other server or every other client by just sort of trying it and seeing if something came back. And the important part for the protocol itself was to establish that negotiation by accessing. So for now we wanted to add support for compression because that turns out to be useful. You just have to negotiate. We have to specify how to negotiate that capability.
T
Tobias Lütke7:19
You sent your request saying you would accept compressed version of a content.
I
Ilya Grigorik7:25
Exactly. Exactly. And literally, it's an Accept-Encoding header. And then if a server decided, like, I have no idea what you're talking about, it just sends a plain text, and that's also okay, right? Because you advertise that you support fancy zip. I don't know fancy zip. But if you come back to me with a different request, maybe I will respect it.
T
Tobias Lütke7:40
So this is fascinating. And then, of course, HTTP evolved a lot, and it's gotten a lot better since with HTTP 2 and 3 and so on. You worked on 2, I think, and 3. Foundations are free, which is very, very good nerd credit. Very nice work. I think what's so interesting about it, though, is like some people listen to this and they're like, well, that sounds not exactly like engineering. This sounds very ad hoc, right? And very like engineering as opposed to, you know, you have blueprints. You build a bridge in a world where gravity doesn't change. You figure out what the tolerances are and then you build on tolerances. And if you, within the margins of the tolerances, you can decide to optimize for cost or optimize for beauty or, you know, just like, you know, the Golden Gate Bridge and the random bridge over the local river all like work on the same principle, but like different decisions were made based on the envelope of a project. So there are some variants in there, but no fundamental, almost market-like price-finding. And this really is messy. For instance, I think HTTP famously misspelled the word "referrer" in it. And that's just in the spec. Did we ever actually fix this?
I
Ilya Grigorik8:58
No, it's still a thing.
T
Tobias Lütke8:59
Yeah, so I'm pretty sure in a thousand years or a hundred years, the official spelling of referrer will at some point just flip. I think every dictionary already accepts it the way it's written in the HTTP standard as not wrong, at least, because it's so commonly used. But it's just like someone misspelled it, I suppose, at some point.
I
Ilya Grigorik9:23
I think it's a different type of engineering. So protocol design is just like, it's reasoning about abstractions. You can reason about data abstractions, data model abstractions, API abstractions. An open protocol like HTTP is an abstraction for you to negotiate amongst many different participants in the ecosystem of what you're willing to accept, what you're willing to negotiate, and how are you going to communicate with each other. So it is done right, it gets out of the way and allows you to do things that you wouldn't be able to otherwise.
T
Tobias Lütke9:57
Yeah, and so the consequence, like again, really, really nerdy topic here, but then the consequences of this are basically the world we all live in. Everyone here at Shopify has the job which I think hopefully we love and appreciate because of these messy protocol creation exercises early in the 70s, 80s, 90s. Because at some point in 2004, I could just take a like a random computer connected to the internet and I could respond to port 80 and hopefully to 443 as well to just launch a piece of software that I wrote but nothing else than just like listen to these two ports on the internet and if a request arrived that asked for the snow devil or any of the files and paths there it sent back e-commerce website and it had in it like a checkout which...
I
Ilya Grigorik11:02
A soup of XML tags that happened to have checkout flavors.
T
Tobias Lütke11:06
Exactly. And it just like, you know, like to computer there is no such thing as Snowdevil or a checkout, but like that doesn't matter. Like no one had to pre-plan the fact that e-commerce might happen in HTTP. In fact, they tried and then we didn't sort of with Listen, I suppose, with 402 status code. But anyway, that's a different topic. So this is sort of, and then protocols are really all around us. Like, obviously, computers talk to each other over DNS, which is a protocol, and then obviously they package everything into container-like packets in something called TCP IP, which is the reason why anything on the internet even works. In a very real way, although it might be just on the margins of a protocol and you can pick on which side it's lying. But like Liquid feels like a protocol because it's a way for designers to state the online store they would like to be responded with when someone comes asking for it. And a couple of rules related to what products to show and so on. And those are provided to Shopify, the software, and then Shopify uses its current best way of turning this into a real online store and sending it back. And that's basically what Shopify has been doing for those 20 years that's existed. There's a couple of protocols that are really important and why it's fun to talk about them is, you know, HTTP is a little bit special because it's somehow finagled its way to the browser bar and therefore we actually are aware of it. But really, when a protocol truly works, it's invisible. The only protocols that people know about are the ones that are really wrong in important ways, and therefore everyone's complaining about them, or they will never have heard of them because they didn't get adopted. And so one of the aspects of protocols is that they allow a lot of different people to openly collaborate. I think that's one of the just absolute... I think that needs to be true for a protocol to be successful.
I
Ilya Grigorik13:13
A protocol is... It's a language and a set of rules by which you achieve an outcome. So that can be liquid because you've defined a templating system and you learn that language and you achieve your outcome. Ruby is exceptional at DSLs. Those are protocols. Every time you invent some DSL for configuring, for defining your config or something else, you're defining yet another protocol on a set of conventions. And they succeed and die by their merit and their ability to help you do the things that you need to do.
T
Tobias Lütke13:43
That's right. People query their own data in Shopify with ShopifyQL, which is a language protocol. The amazing thing is this has existed for a very long time. We've had ShopifyQL for, I think, over 10 years, maybe actually much longer, I think, 15 maybe. And nothing about how ShopifyQL is executed is the same. Right. Like the same query works. You can still ask for your orders based on the weekday, but we can take the same packet that you stated and now execute them in a completely, like everything about the way shop is deployed, it's on different data centers, it's scaled to the entire world. It's like all these kinds of things. So I think this is what protocols also enable, that there can be progress. Protocols don't calcify progress in the same way that a lot of, you know, just like monolithic software does. Let's talk about the, like, let's fast forward to today. I think one way to think about the protocol versus direct integration one-to-one client server is this idea of like the cathedral and the bazaar, and which seems always super appropriate thing to talk about for us in commerce.
I
Ilya Grigorik15:00
Yep. So we talked about open protocols already and the need for kind of market making or, sorry, market making is actually the opposite. You want to facilitate the market to negotiate what they want to talk about, right? So we talked about HTTP and how servers and clients can negotiate themselves without having IETF ratify and specify every compression algorithm, right? We can invent ourselves. I think same thing applies for commerce. You can model commerce as a cathedral. You could say here is the one true flavor of checkout.
T
Tobias Lütke15:31
Yes.
I
Ilya Grigorik15:32
It can be very, I mean, cathedrals can be very fancy. They can have lots of crannies. By definition, I would say they are more fancy in many regards because you can have architects that define precisely what they want with the level of flourish that you can't in a kind of open market participant, right? They are obviously impressive. They are obviously, they feel structured. They feel trustworthy. You know, like it's like in a very visceral sense, you walk up to a cathedral and you like, you know, you're like in a place of incredible deliberation. You just look up and you stare in awe, right?
T
Tobias Lütke16:03
Yes, exactly. And then right beside it is the bazaar, and the bazaar has a very different, you look far and wide and you go, oh my God, there's so much variety here. There's so much-
I
Ilya Grigorik16:12
And chaos.
T
Tobias Lütke16:13
And chaos. And crazy.
I
Ilya Grigorik16:15
Exactly. Someone selling rotisserie chickens in the middle of people selling bears of cloth. And it's just like none of it makes any sense.
T
Tobias Lütke16:26
Right. Some of it you can barter, some of it you need stable coins for. Some of it you need fiat currency. Some of the world delivery. The list goes on and on and on.
I
Ilya Grigorik16:36
That's right. And both need to coexist. And this is the difference between kind of a closed protocol where you can control everything end to end cathedral because you have the blueprint for the cathedral. And you've told everyone to build to this exact spec. But there's no blueprint for the bazaar.
T
Tobias Lütke16:51
Yeah. Right? It is just kind of controlled chaos. It's not even the same bazaar even like three hours later. Right? Like it's like it's completely changes based on...
I
Ilya Grigorik17:00
Because the participants chose to swap out the rotisserie chicken stand for something else because it wasn't selling.
T
Tobias Lütke17:06
Exactly. So it's, you know, it's absolutely, it's chaotic. It doesn't look impressive. You look up and see nothing. You open my ear. In fact, it's intimidating probably the first time you walk up to it. It's like, how do you even make sense? No one knows. Like you ask someone, hey, where can I find these goods? They have like no idea because again, tomorrow the whole thing is going to be different depending on when someone shows up where. So now the fun challenge. So it's not easy, but kind of obvious how you build a protocol for the cathedral. Because, well, by definition, it's a blueprint, right? How do you build a protocol for the bazaar? That is the hard problem. And this is why I brought an expert onto the show.
I
Ilya Grigorik17:46
Yes, I specialize in bazaars. How do you write a protocol for bazaar? Well, we just talked about it. HTTP is a good example, right? You do not establish the blueprint for every type of negotiation, what type of goods can be sold in what form with what payment methods. Instead, you define a protocol by which the two sides can negotiate. And then you get out of the way and you facilitate that open bazaar of innovation.
T
Tobias Lütke18:09
That's right. The bazaar has parameters. They are enforced in very different ways in different places. But you obviously can't go and just make one stand that fills the entire market. Presumably, you can't use force to avoid having competitors. And there are rules. They are just organic in a way, like how they were established. And they eventually become culture of a place. Right. And some of those are operational in how you deploy it. And some of the, as you said, are the protocols. How do you negotiate those differences? And the hard part of this is understanding of what is your responsibility. Good protocols know their boundaries, right? Because they know how to layer themselves to build on top, so they're not trying to reach too far up or too far down. And they established this abstraction where they're satisfied that intersection of here's what one side of the market is willing to offer, here's what the other side of the market is willing to implement, and then how to facilitate that exchange in the middle. And so that then, again, literally a market emerges and sees if there's price finding. Figure out like again all these kind of things happen but like it's really the reason why it's such a fun metaphor is because I think people know that both of those things work and even though you would imagine there is a better solution like they usually like people have a bias towards there being the one true solution for everything but usually they often even the extremes of the spectrum actually are both perfectly viable. And so Shopify obviously is a company that's like very bazaar. If Shopify would be, it would be so fun to see Shopify as like an actual bazaar, like visualized with a crazy variety of shops and the crazy amount of commerce and crazy amount of ideas and the crazy amount of people that are coming to all these stores. There's like Alo Yoga next to the hardware shop next to like, it's just like, it would be absolutely mad and it would be wonderful. And so every one of those businesses is really uniquely their own. Specifically, you know, often people think that there's like small businesses are like simple and then big businesses are complex. Very often actually this winds up being wrong. Maybe they're both, they're just both complex or sometimes they're really, really big ones. It can actually be quite simple.
I
Ilya Grigorik20:44
That's right. Alo Yoga has a huge amount of features they're using from Shopify, but it really fits into extremely well operationally run clothing business from sample casting. And where there's like the maddest streetwear companies that only sell food drops or that you can't even qualify for a drop if you're not in a particular location or if you haven't already successfully gotten five other things. Like my favorite is like there's a computer hardware company called FinalMouse, which has this whole thing about every one of their mice they sell. It's like a prophecy from the gods. And like, it's just like, it's absolutely, they're so mad. And I think they're actually mad. And you are not allowed to purchase their mice unless you get a certain score in their aim trainer that you first have to download. So you have to like download and it's just like-
T
Tobias Lütke21:42
You have to prove yourself worthy.
I
Ilya Grigorik21:43
Yeah, you're not like this is like-
T
Tobias Lütke21:45
Up wielding. This is not like, this is a holy object, right? So like, you know, you can't even believe how much my kids got into this because they very literally grinded this aim trainer just to be able to purchase a mouse for like $70, which is like, and like, this is so fun, right? And so all of this. Now we have all of this going on Shopify and now the internet is transitioning to agentic commerce. This has been your project that you've been working on, frankly, day and night, with very many long phone calls and all sorts of wrangling of basically the industry at this point, the Universal Commerce Protocol, the UCP. UCP is essentially retain the variety of the bazaar, but in such a way that it's not Shopify having to set up the boundary conditions for the bazaar anymore. And so talk about your experience of UCP, which is essentially the hardest protocol anyone can imagine making because it is.
I
Ilya Grigorik22:50
Yeah, we're trying to design a protocol for humanity's longest running trade, commerce. No big deal. Right? And it needs to model all of the intricacies and complexities of what you just described, right? I think a common misconception that we have from a lot of our partners coming to us, you know, we're building an agent. Hey, Shopify, give us a checkout API. Well, let me sit you down and tell you that we don't have a checkout API. We have a checkout platform in the same way that we have a storefront platform, right? And when you enter checkout, we negotiate between identity providers, wallet providers, fulfillment providers, different payment methods, loyalty systems. All of those things happen organically.
T
Tobias Lütke23:32
Discount engines and customizations.
I
Ilya Grigorik23:35
And any part of that...
T
Tobias Lütke23:36
Different discounts stacking.
I
Ilya Grigorik23:39
Different discounts. Other discounts, but not others. And by the way, all that is totally dynamic based on what you put in. Maybe you changed your address. The whole thing reconfigures itself and says, sorry, these payment methods are not available. You can now do a subscription. Now you can't. It is a complicated beast. So it is a bazaar in the sense that, like, there isn't a Shopify checkout. There's hundreds of thousands of different checkouts. And so there isn't a single API, right? But I don't think this is obvious. I think from the outside, for somebody who has not spent years and lived with the pain of all the complexity of commerce, it just seems like, look, a checkout is a line item, a payment method, and a shipping method. Like, what's the big deal?
T
Tobias Lütke24:24
Yeah, you collect a couple of information, you click a button, you provide a credit card or login, and then money is transferred, and what else could possibly be happening, right?
I
Ilya Grigorik24:33
Right, right. And there's been many attempts at this, right? I've been, I've participated in some of them. When I worked on the Chrome browser, when we tried to build the payment handlers APIs or payment request API, kind of the same naivete of, hey, it kind of sucks that you have to manually type out your credit card. No big deal. We can just build a UI for that. We can pre-fill all this information. Well, it turns out merchants didn't adopt it or accept it because it's not as simple as that. It is all the other things in the middle that you have to negotiate through. So in the same way now, agentic is forcing this discussion, but in a kind of in a roundabout way where now you have a third participant. Before you had a merchant and a buyer, now you have an agent who's acting on behalf of the buyer and that agent needs to negotiate through. And that by itself unlocks layers of new complexity that you have to manage. First of all, I as a merchant, do I trust this agent? So there's an agent identity question. Second, if I trust you as an agent, so let's say I trust Claude or ChatGPT, do I know who the buyer is? Oh, it's acting on behalf of Tobi. So there's a buyer identity part of it.
T
Tobias Lütke25:43
Or is it just claiming?
I
Ilya Grigorik25:44
Or is it just claiming? Exactly. So how can we prove that it's actually Tobi, right? And then, okay, fine, you've proved it. It's Tobi, but is it a really good idea to just give you a cookie jar and say to hell with it? Like you can have access to Tobi's credit card and go crazy? No, it turns out that you also want to capture intent. And a lot of context about that. How do you do that, right? So, and that's just, like, the base of this negotiation. And then on top of that, we have all of the complexities of, well, did Tobi want express shipping? Or did she want to do a pickup? Because pickup is available for this item. What about this guy? Does he have a loyalty program with us? Or which address does it go to, right? Like, you know, maybe this is, like, a thing that goes to the cottage, right? And it's like and suddenly this is a different province state and therefore you know all the rules change again and you know like you know if I was living in Ottawa like five I think four kilometers away from me all tax law was different right like and not even tax tax laws was actually all law was different because it switched from civic to common law like so it's like and what has to be collected at point of checkout.
T
Tobias Lütke27:00
This is Quebec. Quebec has its own stuff.
I
Ilya Grigorik27:04
Well, the U.S. has something over 200 different tax jurisdictions.
T
Tobias Lütke27:08
Yes. So a lot of that complexity is absorbed. Some of them, there's buildings in the United States where the shipping costs and taxes change depending on which loading dock of that building something goes out of.
I
Ilya Grigorik27:22
I did not know about that. So, I mean, usually they figure out how to finagle this in a way, but like, but like, it's, that is actually the way the law is written. Right. So it's just like, there's enormous complexity. And what's most important is everyone starts out thinking that checkout is a sort of an error. It's like, you have no information, you supply information, and then you get to the last point. Hopefully you show a review screen, which sometimes people think you can skip, but most people actually really want to say yes before money leaves their wallets. And then there's a period of that package and shipped and like the transaction is actually the life cycle. For small businesses specifically, it continues. Most small businesses, at least fast growing small businesses, don't think of a first transaction as like, you know, often they don't make money of it because that's the cost per acquisition is so high, but they develop a lifetime customer value things. So they require, like this is actually where the real business starts actually. In many cases, this is incompatible with people how they think. More importantly, the error doesn't work at all. It's actually, it's there's a beginning where they declare, like it starts and then it's a loop. It's an interactive application. A checkout is not just a web form. It is a live application that you're interacting with, right? It's refreshing, it's changing its inputs based on your selections. And now you have to model that as a protocol. So naively, you could take your agent and just point at a web form and say, go have at it. And then just maybe use even vision to navigate. Turns out that's pretty slow and inefficient. It also doesn't solve for all the other layers that I described earlier. So the moment in the industry right now and why it's both interesting and all-consuming is we're inventing everything at once. We're trying to figure out how to do agent identity. There's a game brain explosion of proposals for how to do buyer identity and delegation.
T
Tobias Lütke29:20
Yeah, and they have their own cathedrals and bazaars by themselves. Like lots of people want to do this centrally because it's easier for trust. Everyone wants to create their own central repository of registered agents, right?
I
Ilya Grigorik29:32
But then there's a delegation and how do you scope that? And then on top of that, you add the complexity of the actual providers, right? Of, okay, fine, I'll allow this agent to view the portfolio, but I'm not going to allow you to manage my portfolio because that's a risky operation. Or I need a step up. I need an escalation. I need human in the loop. So some of the naivete right now is that agents will just do everything. And it's like, no, agents augment what humans can do. And we need protocols that can fill open where when something is not possible, you can delegate to a human. You can delegate back to a human in a seamless way that doesn't force them to go from the beginning. It's like, look, I tried to check out and I couldn't. Why don't you go try?
T
Tobias Lütke30:13
Therefore, you now have to do it.
I
Ilya Grigorik30:15
Yeah, you now have to do it. It's like, no, no, I got it this far. I hit this particular problem. Now, can you resolve the final mile of it?
T
Tobias Lütke30:22
Yeah, yeah. It's like a kid's summer camp registration of Shopify. And like at some point in checkout, it needs to ask like, hey, does Tommy have any peanut allergies or something like this? And like, that is not something like, you know, on Shopify, like they have an extension and then it asks this and it's being collected or it's gating the checkout if this is not there because it's required. Like if you would build a checkout protocol naively or would ask people to just like build a API integration, they would never add to their, like to TikTok, to like peanut allergy dialogue, right? That's not what TikTok engineers will work on, right?
I
Ilya Grigorik31:04
Yep.
T
Tobias Lütke31:05
So I think this is your idea was like to, you know, what's so interesting about protocol creation is the people who create protocols have to understand the problem really at an atomic level, probably better than any, like this is my favorite thing about engineering, is that it really requires you to at some point understand the problem probably better than anyone else. Like at least for a fleeting, maybe it's 10 minutes, but for 10 minutes, you understand this problem better than any practitioner if you want to crack the code on finding exactly the right way to do something. And the discipline of what makes engineers really good are the people who can do this quickly and repeatedly, who would just have a way of looking themselves into a problem matter. So I think this was another one of those moments where really in an agentic world, we need the concept of an escalation to a human. And sometimes these escalations can be dealt with directly by an agent if it just happens to have all the information. Sometimes it needs to be able to ask a person. And this, I think, was the biggest unlock in this protocol, which I think gave us a confidence that it's actually possible to make.
I
Ilya Grigorik32:15
Yeah, it's a combination of, first, we can do dynamic discovery. And that brings in a lot of heavy machinery up front, which is not obvious, right? Because there's a much easier way if you could just dictate the exact blueprint for the cathedral and say, I support one flavor of discount. Thank you very much. And I'm done. Instead, we said, you can bring any flavor of discount that you like as long as both parties agree. And then beyond that, what happens when you disagree? That's where you have to stare down that barrel and say, okay, well, there's a concept of escalation, of an escalation. Or maybe there are some business rules that the merchant has that we can't negotiate out yet via an API or via an agentic mechanism. So how do we perform that handoff? And this is not a foreign concept. Like in payments, we've had escalations for a long time. You had to do a 3DS challenge or a step-up challenge. So this is not exactly like breaking new ground, but it is bringing that concept and generalizing it into all of commerce to say maybe a B2B agent can get you much further, right, because they've specialized in a certain case, but another agent can't navigate themselves out of a corner where, like, there's some information that's required. Fine, just pass it back to the human.
T
Tobias Lütke33:22
That's right. Yeah, like taking, I mean, obviously this is not discovery of a completely new idea, but it is often just a penny drop moment when say, "Hey, this thing that we've been doing over years of ad hoc is actually, if we move it to become a primitive and allow it to be utilized for all problems of this particular shape in the concept of a checkout, then the complexity just melts away in a very real way. Suddenly we can actually take all the checkouts that all our customers have so carefully configured, like the final mouse example, an agent can be trying to buy one of those mice when they're available. And the escalation is, well, you have not, like your user account on this website does not have the right tags. So therefore you have not done this thing yet. Do you want to tell your human about this or do you want to send them a link to the tool? Or do you, you know, how would you like to go about this? Maybe another way to look at it is an agent's kind of like progressive enhancement, right? So where you had to do everything manually before. Now you can delegate some portion of your commerce needs to an agent. And over time, one would hope that the agent can do progressively more and more. But you've built it in such a way that it fails open. It says, this is how far I got you. Here you go. As opposed to closed mechanism where you just said, this is one particular shape of commerce that you can do, and otherwise you cannot proceed.
I
Ilya Grigorik34:58
Yeah. It's really great work. And we've now had several breakthroughs in recent history with, I think, really industry consensus, but it's the HGP of how, I think, commerce works in a world. It makes the world of commerce look a lot more like Shopify, which is to our advantage because that is not friction to our platform. It makes everyone else look closer to how we think about the world and how we model commerce, which is frankly kind of a gift to the industry because we've taken decades, if not more, of experience, of accumulated experience. We did not get checkout right on the first try. We had many runs at it, and we have effectively standardized the data model now of the hard-won experience of how not to do things. The shape of commerce from now on is going to work really well for the kinds of customers that we really care about. Because again, like Alo Yoga could be on a custom platform and they're massive and they could basically dictate their requirements to their implementers. And in the absence of a protocol, we saw this early with, just like, this is the way everyone wants to do it. But like there's so many problems with this, especially because commerce is such a long tail thing. It's like you want to not find, like, I mean, other people have people like, it is a great example because people love the products that have really good quality and they've been unmarried and so on. So it's great to have them, but there's like other yoga quality products in much more niche places, right? It's not other yoga you want to find, it's the other yoga of all niches. And they're all on Shopify, but the niches aren't as big as clothing. And therefore they are like, not the, you're not going to get to them if you go one at a time, you need millions of merchants.
T
Tobias Lütke36:47
I'll double up on a positive, which is it is not preordained or obvious that Agentic Commerce would be net positive to buyers or merchants if it's not done right. The bar is not, can an agent complete a transaction? Of course it can. That's a trivial example to drive through. In those cases, it just takes over your browser and pretends it's you.
I
Ilya Grigorik37:07
Exactly. It just puts in a credit card and all the rest. But then it'll skip the disclosure about peanut allergy or accept the fact that that it's a final return and you can't exchange this thing or all the rest, right? So naively, this actually applies to both sides. As a buyer, using this new agentic world, do I get the same or better outcome as if I did it myself? So as an example, we were chatting about earlier, if we're having a Black Friday sale, but I can't discover or input a discount, that's obviously worse. Because if I just went to the website and I had a banner that said, put in BFCM25, or 26, and it got a 24% discount, that's an obvious thing that's just kind of ambiently present in the header, but never described by the protocol. So the agent would have missed it. So the buyers were soft, or maybe didn't see all the shipping options or the various delivery methods, and it couldn't negotiate through that. How do we teach the agents to faithfully represent? That's the buyer side. And as a buyer, I would be very frustrated if I didn't get that sort of outcome. As a merchant, same deal, because I'm losing valuable customers if they're not happy. And second, I'm not getting all of the basket building upsells, all the configuration, all the storytelling. So if you're selling that mouse or you're selling some crafts good, you want to be able to navigate the person through that purchase. I think that is why it needs to exist and that is why Shopify needs to author it, because we're the only ones sitting squarely in the middle of that negotiation. Understanding the capital P platform that needs to exist in the middle because we've built it and help participants on both sides the agent builders right and all the systems that we integrate with can mediate through that discovery process because that's what ultimately our checkout is today it is a market where merchants can bring apps extensions third-party systems you can bring in your third-party return system different loyalty programs custom discount engine and all that magically happens to work in the browser.
T
Tobias Lütke39:15
Exactly. And it happens in the browser. And if it doesn't survive the next platform shift and the next platform shift kind of removes the ability for these kind of special, like differentiation, then I think your point is a very, very good one that it's not automatically positive. Like we would lose a huge amount of distinction of businesses. And I think this distinction is important. Again, there are a lot of businesses that sell mice. I'm excited about one, other people should be excited about others. And it's distinction of products and people exploring the space, sometimes by innovating on the products and sometimes by innovating on community and all these kind of things, is exactly what makes the bazaar interesting. Because otherwise you end up having just rows and rows of newly built suburbia and it does not look like a bazaar right like and there's a place for it but it just like you know there's like a vibrancy that is just like lost in that point the bazaar can also wither right because many businesses just opt out they see the shape of commerce that the first set of agents were proposing and they said okay maybe i'll try it because i'm curious but then they actually see the orders roll through and they realize all the things they lost in the process and they just opt out. So the bazaar closes.
I
Ilya Grigorik40:36
Absolutely. The bazaar is not around automatically. It's around because we want it to be around. It's like people, it's there as long as some people vote with their dollars, that having a bazaar is valuable. In many, like the story of the last 40, 50 years of especially North America, smaller towns is the story of people stopping to vote for the bazaar and voting for the cathedral, like in the form of the local Walmart or so. So the city center shops just for one reason or another were not found to be appreciated anymore. People did not vote enough for the dollars for them and therefore the city centers changed the way, you know, like in a way that a lot of people talk about fondly about what it was like before. And so the world really, really changes based on how people allocate their, you know, money. And progress and, again, the distinction and the vibrancy of products and businesses and brands that we interact with really depends on this, you know, like new business coming along, the sort of breadth first search for all the products that are viable that entrepreneurs do. It's really, really easy to forget how fragile this is. Of course, Shopify exists to cause that to not just be around and sustain, but also thrive. If ever we can do it, again, I think our work on UCP is going to, I think in the longer-term history, and thanks to you specifically for all the amazing work you've done there. In the Shopify story, will be featuring very highly on where we had a lot of simpler moves available because of course, everyone returns our phone calls. We could absolutely have cathedraled with, but like specifically said, okay, the internet needs this to be open. And there were attempts by protocols that sort of called themselves protocols, but they're closed, which really I don't feel like it's actually should be allowed.
T
Tobias Lütke42:47
I guess one to end protocols still. I may maybe it's not.
I
Ilya Grigorik42:52
I think those protocols are totally fine when you have a finite set of participants and it's a constrained domain. In fact, you should reach for them when you can because open protocols are hard. They're about their marketplaces.
T
Tobias Lütke43:04
Yeah, I think you're right. I think that's a better way to put it. And yeah, but it's the hardest thing to do is to create a protocol, make it something that can be open and then convince people that it's the one that we should coalesce. And maybe the last bit is the hardest.
I
Ilya Grigorik43:21
Consolidate and bring it back. Because protocols can be very abstract to a lot of people. They're like, oh, what does that mean? But at the end of the day, it's just subtractions. And software engineering is about building appropriate levels of abstractions. And when they're done right, as you said, they just kind of disappear into the ether because you never think about them. I never have to think about retransmitting packets on the wire because TCP just beautifully handled that for me. And it's only like an academic thing that I learned about for the most part. Until you go and try to reinvent QUIC. And then you realize 50 years of learned experience of how not to retransmit a packet. But whether you're designing a DSL or an API surface that another team will use, like you are in a business of building protocols and abstractions, right? And it's just like taking a step back and understanding kind of, I think with time, you learn how not to do things. And crystallizing that knowledge into good design. That's what this is all about.
T
Tobias Lütke44:19
Yes. And yeah, so I think protocol design, abstraction design, like making the ones that everyone just like, this works perfectly and I don't have to think about it, is actually the highest form of software engineering specifically. It is the building the Golden Gate Bridge of our industry, like TCP certainly is, HTTP. Like, where the file API is opposite. In the same way that Rails transformed how to build a web app. Like, Rails is a protocol.
I
Ilya Grigorik44:52
That's right. I vividly remember this feeling or a moment, actually, when I was learning Rails. And the first time you approach it is just like, it's madness. Because it's all just magic incantations, as far as I can tell.
T
Tobias Lütke45:04
Yes, true. And then at a certain point, I'm like, oh, wait a second. I think I understand the pattern. What if I just type this and it ran? And it was like an epiphany moment of like, now I understand the dialect.
I
Ilya Grigorik45:19
Yes, I know Kung Fu.
T
Tobias Lütke45:21
Right, right. And it wasn't without fault, but once you crack it and once you understand it, you're just that much more effective, right? Because it abstracted a lot of the complexity of I don't have to write SQL, I can just do this thing, right? Fine, buy something. It's a piece of magic. I think this is a perfect place to end with really fun conversation and again, amazing work on pioneering UCP, couldn't have done it without you. And yeah, like it's a fascinating, underexplored topic. Protocols are very important at Shopify. I think we celebrate them because we deem them to be the highest form of a craft. And I think it's exciting to go into this completely new platform shift with Agentic Commerce in a way that we can bring the unvarnished vision of our merchants to this new platform without having to, I don't know, just go for a decade of negotiations. It's really, really, really, really. This could have gone, if you would rerun this simulation here a thousand times, I really don't think in many of those. This is not the dominant outcome.
I
Ilya Grigorik46:38
No, no, no. And credit where it's due. I appreciate the shout out that, you know, while I held the editorial pen on much of it, a lot of credit goes to a lot of Shopify folks that were in the background distilling that knowledge, helping us develop this thing. And I do think this is a gift to the industry, right? It is a self-enlightened interest of ours to give it to the industry. But it is, I think it'll stand the test of time.
T
Tobias Lütke47:08
Capitalism, the best part. Yes, very good. Thank you very much, Ilya. Thanks for joining me.