======================================================================== How to Navigate the Uniswap Stack Speaker: Angela Ocando — Uniswap Foundation ETHGlobal Tokyo 2026 · Workshop · Friday, September 25, 2026 Video: https://www.youtube.com/watch?v=nRTjFTJZmkY Transcribed with aloha by the AI ʻohana 🌺 ======================================================================== [00:00] Hi, hello y'all. Welcome to the Uniswap workshop. Today I am gonna get you [00:15] through all the Uniswap stack. So hopefully during this hackathon, during [00:19] the weekend and moving forward, you know where to find all the resources in order [00:22] for you to continue building in this like on-chain finance world. My name is Angela [00:28] and most people know Uniswap as the place to swap, right? The place to [00:36] transact on chain, but it's even more than that. Uniswap is today one of the [00:41] largest decentralized exchanges in the world, more than 4 to 0.5 trillion in [00:47] cumulative volume, but also more than 2.7 billion trades and more than 10 [00:54] million assets, more than 20 chains support, and a lot of products that goes [01:01] beyond the protocol level and our interface products. So we're gonna get you [01:05] throughout some of them today, starting with the AMM, which is this protocol that [01:11] allows you to connect on one side, traders and on the other [01:15] liquidity providers. I'm also gonna get you throughout the UniswapX, which is [01:20] pretty much an intense based protocol that we have that connects like different [01:24] on-chain and off-chain mechanisms for you to find the best price execution [01:29] possible. We also have CCA, which is this continuous clearing auction protocol [01:33] in order for bootstrap liquidity out there. We also have the Uniswap API, [01:38] which it's pretty much a wrapper of all of our routing systems and also Uniswap [01:42] AI skills, which is like type of fronts that you could plug your agents in in [01:47] order to, you know, build faster. Starting with the protocol, everything started [01:52] back in 2018 with the Uniswap B1 version of the protocol, and back in [01:56] 2021 we launched Uniswap B3, which is pretty much like the the [02:02] protocol where you can like swap all of these type of assets, but at the same time [02:07] introduced concentrated liquidity. So back in the day, you had this like curve that [02:12] allows you to trade across the whole curve and that it wasn't a bit efficient [02:18] on the price execution level. So pretty much concentrated liquidity, what allows [02:22] is like LPs to pretty much set the range of the prices they're gonna [02:28] they're gonna provide liquidity in. So that allows from one side better. Yeah, [02:34] pretty much yields execution or like fees execution for them and on the other for [02:38] users is like a better price because the liquidity is concentrated at certain [02:43] levels. What that allows is on one hand, yes, better price execution for people, [02:51] but on the other that you got to active manage positions, right? So today [02:56] there are currently four versions. I mentioned three of them from 2018, 2019, and [03:01] then 2021, but today there are currently four versions of the Uniswap protocol. [03:05] Back in 2025, a year ago, we launched Uniswap B4, and that one introduced [03:12] this along with the whole previous stack, including concentrated liquidity. We also [03:18] launched the singleton pool architecture where everything happens in one [03:23] contract and then hooks, which is pretty much a new set of like custom logic [03:29] scripts that you could add to the lifecycle code. So yeah, I'm gonna start [03:35] with those. B4, again, the protocol level also includes these Uniswap hooks, [03:41] which is solidity logic that you could add to the swap cycle, and it's totally [03:46] optional. Like you could deploy your own vanilla liquidity pools, but you could [03:51] also deploy your own pools and add custom logic if you wanted, or pretty much [03:56] add on top of it your liquidity pools these hooks. How it pretty much work is [04:02] like whenever you start a swap, the system is gonna check the before swap [04:08] flag, and if you added any sort of sensitive like custom, it's gonna execute [04:13] it. If not, it goes directly and execute the swap, and after this swap was [04:18] executed, it also gonna check if you added any custom logic on top of it, and [04:22] then finally ended up executing this. Important, you can use a hook for like [04:30] serve many pools, but one pool can just have a hook attached. These are [04:36] different like variables that you can edit, but we pretty much have like this [04:41] where you could like interact at the lifecycle stage. We have before and [04:46] after initialize. We have before and after liquidity. We have before and after [04:53] remove liquidity. We have before and after swap, and we have before and after [04:58] donate. At the end of this presentation, I'm gonna give you a QR code where you [05:03] can have access to this presentation, but if you're thinking on exploring [05:08] before hooks at some point, you just gotta go to this before template, which [05:12] is pretty much like some sort of scaffolding repo that we built to make [05:16] builders build hooks easier. So yeah, this is pretty much the repo, but we [05:23] also, as Uniswap Labs, we've been building more and more hooks that you [05:27] could leverage if you want, not just during the hackathon, but moving [05:30] forward. If you get our developers.uniswap.org documentation, you could [05:36] find this section here, which is Uniswap Labs hooks, and the different ones that [05:40] we have. If you click here on link, you're gonna find the code, but also the [05:44] whole explanation to the architecture and stuff. We recently launched [05:48] permission pool hooks, and also a stable pair hook. Pretty much permission pools, [05:55] and you could take a look to all of them, but permission pool is like [05:58] for issuers that let's say are looking to, you know, whitelist the [06:03] requirements, certain requirements where just a few wallets can interact in like [06:08] certain, I don't know, ranges or time, whatever. This allows you to, instead of [06:12] like creating the hook from scratch, you could just like customize it in your [06:17] own needs. And if you're a user, you could also interact with hooks, because [06:23] today you could go to the explorer page and look for pools, and some of the [06:28] pools now has this like label where you could have like different pools, [06:33] including the official ones that I just showed you, which is this one is a stable [06:37] pair hook. We also have the permission pool hook, but also the community ones. [06:41] And if you're building one of the hooks that you need to add to the interface [06:45] level, you could also apply to those. If you go to developers, we allow list most [06:54] of them automatically, but if you also need any some sort of allow list, our [07:00] team can help you allow list your hook here at the interface level. So in this [07:05] time, you can interact with liquidity pools with this certain logic outside and [07:11] also in our interface. And lastly, if you're looking for some like hook [07:17] inspiration, this is our hook list. Pretty much all of the hooks there are [07:22] custom allow list in our interface. You could go and take out and check all of [07:28] the addresses of these hooks, but also, you know, the code logic of most of [07:33] them. These is community hooks that has been allowed listed in our interface, not [07:38] UNICEF Labs official hooks, just as a disclaimer. So yeah, I just mentioned at [07:44] the protocol level, our last version of the protocol, which is before hook that [07:48] introduces this like single to contract, but also hooks. And now we can move [07:53] forward to the UNICEF X system. This is just like an intent based protocol that [07:58] put together both systems, the AMM that I just mentioned, and then like a private [08:05] system of market makers that also, you know, look forward to give you the best [08:11] price execution possible. So when you go to the interface, for instance, as a default [08:15] option, you have this here that includes UNICEF X. In the backend, what we have [08:20] is an RFQ system that connects different mechanisms, including private market [08:26] makers. They are actively quoting in order to give you the vast price [08:30] execution. So what happens in the backend is like, I don't know, I want to [08:35] trade ETH for USEC. One of these private market makers are going to quote, and if [08:41] that price is better than the AMM level, so then I'm gonna get that price. If not, [08:46] I'm gonna use the AMM. So when you're using the UNICEF interface, you pretty [08:52] much are having the vast price execution because we have these two mechanisms, [08:58] both on-chain and off-chain. If at some point you are one of these market makers [09:05] and you'd like to be part of this exclusive order network that we have, [09:08] which is pretty much like an exclusive window for you to quote and for you to [09:11] be part of this mechanism, you could also reach out to us and definitely we [09:17] get you if you meet certain criteria to be part of that network as well. So I [09:23] just mentioned the protocol and then UNICEF X, which is pretty much part of [09:27] these routing possibilities that we have in order to provide users and builders [09:33] out there with the best price execution possible. Now, this is not [09:38] related to the protocol itself, but it's related to the ecosystem which is the [09:42] UNICEF CCA, pretty much like an auction mechanism where if you're [09:48] launching a token, usually the developer has certain advantage at the beginning [09:53] or the first address is to come has certain advantages at the beginning. So [09:58] pretty much what this CCA does is like an auction mechanism where in certain [10:03] time period or depending on what the developer said, everyone is like pretty [10:08] much bidding or sending an auction in there. And then once that time happened, it [10:14] is pretty much gonna like give like a like an average price of that. So that [10:20] helps for like different purposes, for example, auction or like TGEs. In this [10:27] case, in auctions, we've been like working with like different projects out [10:32] there, but this is completely open source as well. So you could also launch [10:35] your own auction even if it's not like the verified one. But we also use [10:41] that for like lunches in general, where we do have this in the [10:47] vacuum using CCA, but also allow listing other token launchers that use CCA's [10:54] in the vacuum as well. This one in particular is available in ARK, [10:58] in Robin Hood Chain. You could take a look to it and we also have pull straight. [11:03] So CCA pretty much is like a liquidity bootstrap mechanism, if you're looking [11:08] to interact with tokens at some point. And then one of the ones that, in my [11:15] opinion, makes like integrators life easier out there is the Uniswap API that [11:20] pretty much wrap up all of our routing mechanism, including both the AMM and [11:25] UniswapX. And this is pretty much a web tool API, where you can get some quotes [11:33] and prizes and we have different endpoints for you to interact with our [11:36] system, without having to create like solidity code, or even just like having [11:44] to integrate with our interface to just get the best of our ecosystem throughout [11:48] an API call. There's two important things in here. The first is like, in [11:54] order for you to interact with API, your users, you as an integrator has to take [12:00] permit to in consideration. So if you approve permit to in consideration, [12:06] there's another signature for your user. It's totally optional, but just giving you [12:11] the heads up that in order for you to, you know, integrate Uniswap API, you need [12:16] the transaction, you get the quote, you need the permit to approval, or just the [12:22] signup transaction, if you're not looking to integrate that one. And we have [12:26] certain like endpoints, right? So we do have the swap ones, and then we have [12:31] chain swapping. Chain swapping is pretty much if you're looking for someone to [12:35] get, I don't know, they have a token in certain chain and they need a token in [12:41] any other chain, we have chain swapping endpoints in order for for you to do [12:46] these cross chain interactions. And then I don't know if you remember, but AMM [12:52] protocol in the v3 version, we have concentrated liquidity, which is this [12:57] curve where you set these ranges, right? What allowed us this is like in one hand, [13:03] we have best price execution for both, it's positive for both LPs and traders, [13:09] but on the other hand, you need to active managing those positions. So think [13:15] about you having a particular strategy, you could use the equity provisioning [13:21] endpoints, think about your agent having to manage some of these positions, you [13:26] also have LPs, endpoints, and you have some utilities, right? Such as checking [13:33] if any KYC token has some permission, you could also use that token, especially [13:39] these days with like stocks and tokenized stocks, that utility is really [13:43] important in my opinion. You could also get support chains, right? If you're [13:49] looking to integrate with a particular chain, whatever, that's also important, get [13:53] tokens, get pool state, get wallet delegation. Something important for this [13:57] hackathon in particular is that we're looking for having good feedback on [14:02] your end, so if you encounter any bloggers, let us know, because from that [14:05] point of view, we're gonna continue like shaping more endpoints that might be [14:09] helpful for you in the future. So yeah, you could go to developers.uniswap.org, [14:14] you find this API reference in here, and from here you could pretty much copy, [14:20] paste, and interact with C URL code, Python, and TypeScript code, or you could [14:28] also, if you're looking for any contracts in particular, inside that same site, [14:32] you have deployments where you find all of the protocols that we have, all of [14:36] the chains that we have, you don't have to worry about it. You can just connect [14:40] your agent with it, and so in that case, you're filling, you know, it's like [14:47] giving the certainty to these agents that you're interacting with the right [14:50] contracts in our ecosystem as well. And if you want to make it even easier, if [14:56] you go to developers.uniswap.com, [15:00] claim your own API keys. [15:01] By the way, I didn't mention it, but the API is totally free. [15:06] You pretty much can grab one of these API keys [15:09] and give it to your agent. [15:10] So yeah, pretty much we have skills for all of our stack [15:16] across all of our protocol. [15:18] But that includes CCA, if you want [15:20] to bootstrap any liquidity in particular, [15:23] if you want to interact with permission pools, which [15:25] is this hook that I mentioned, if you [15:26] want to integrate with the B4 protocol, [15:29] if you want to integrate with the LP endpoint, [15:32] swap integration, you name it, there's [15:34] plenty of possibilities for you to interact with, [15:37] including trading tools such as the BCA bot, index bot, [15:45] and copy trade. [15:46] So yeah, there's plenty of possibilities [15:48] for you to interact with. [15:50] And today, at East Global Tokyo in particular, [15:53] we have two open tracks, or pretty much one, [15:57] and like different possibilities. [15:59] Our track is like best Uniswap stack contribution [16:04] for both type of hackers, the ones that [16:06] are starting from scratch and the ones that [16:09] are building on continuity tracks, which [16:12] means we don't have any strong requirement on which side [16:16] of the protocol for you to build, [16:19] which is one year to build whatever is exciting for you. [16:23] And if you find any way to integrate Uniswap in it, [16:26] so that's perfect for us. [16:28] So you could build on top of any side of the protocol, B2, B3, [16:33] B4. [16:34] You could interact with the ZCA. [16:37] You could interact with the API. [16:40] Or you could just like do, I don't know, contract calling. [16:43] Or you could just build your own front, [16:47] and there's plenty of possibilities. [16:49] What I would love for all of you to do [16:52] is instead of focusing on how to integrate the stack, [16:57] focus on what is exciting for me to build. [17:00] And in the middle, if I can integrate Uniswap, [17:03] that would be amazing. [17:04] My only, or our only qualification requirement [17:09] is to add a feedback MD file in your REPL. [17:13] And pretty much all of the instructions [17:14] are here in the qualification requirement, [17:17] pretty much letting me know all of the struggles [17:20] that you had during your integration. [17:22] And I promise we're going to do our best [17:24] to make that integration since less in the future. [17:27] So yeah, whether it was CCA, protocol level, API, Uniswap X, [17:33] even if you find any way to interact with the RFG system, [17:36] let us know. [17:37] We're here to build together. [17:39] So yeah, pretty much best Uniswap stack [17:43] contribution for both from scratch and continuity. [17:47] It is the same track. [17:48] It's just that if you're building from scratch, [17:50] you're going to be able to see the continuity [17:52] and the opposite is also valid. [17:55] And yeah, pretty much all of the questions that you have [17:59] or you might have should live under developers.uniswap.org. [18:03] This is just the QR code to the presentation [18:05] in case you have any, you know, [18:08] do not remember any other particular links. [18:12] Everything should be there. [18:13] If not, I'll be in the booth. [18:15] And me and my team, we're going to be there. [18:17] I really encourage you to integrate with all of the stack [18:21] and for real be transparent and honest [18:22] on like where's the problems that you encounter. [18:26] We're going to work hard into improving [18:28] that experience for all of you. [18:30] And yeah, pretty much, thank you so much. [18:33] Happy to have you during the weekend [18:35] and let us know if you need any help. [18:36] We'll be there to support. [18:38] Yeah, thank you. [18:45] I think we have questions, right? [18:48] We have questions? [18:49] Oh yeah, you have a question? [18:50] Yeah, sure. [18:59] Yeah, I mean, if you're looking to build one, [19:04] yeah, that could be also a possibility, yeah. [19:08] Any other? [19:11] We good? [19:12] Cool, thank you all.