How did Portus reach 100M in 365 days | Jeff Huang, Portus | ETHTaipei 2025
ETHTaipei·Thu, Oct 9, 2025, 12:00 AM
How did Portus reach 100M in 365 days | Jeff Huang, Portus | ETHTaipei 2025
Transcript
[Music] Okay, thank you. So, hi everyone. I'm Jeff from the protest team and I can't remember when it's my last time speaking English on a stage, but let's give it a try. But because people are leaving, so I'll just speak slowly. So I don't know how many of you are coming for the 100 million but let me cl clarify this at the beginning.
So the 100 million we reached last year is RPC codes not the income we made last year and why port reached so many RTC codes last year. What kind of service uh Porters is providing? So Porus is top three of 23 solvers on the cost platform and we settled 1.3 million USD on the main net in the last 30 days which is uh which was 1.8 times of the average and and we filled 33,000 orders in the last 30 days which was 20 2.
2 times of the average. So basically we're a solver who provide the best price for the users for uh for them to do the swap and and uh we also help people like Trump to swap from USDC to ENA and we also help help Vitalik to swap from Muden to ETH uh to do charity like uh for public goods. he mentioned this morning and um and what does 100 million RPC code mean like uh because it's a very big number right so it means that porters will call make RPC code like 385 times uh to the blockchain but why does porters need to make so many RPC codes why because when we are trying to do a swap there will be a lot of options for us to do the swap, right? We can swap the Ethereum to USDC directly or we can swap the Ethereum uh to USDC with tokens in between or we can split the amount of ETH to different pool and swap them to USDC. But uh these are some of the strategy we can do.
But uh the goal of us is to provide the best price to the user. So why do we have to choose? We all we have to do is get the price of all the options and then we provide the best back to the user. So you can see that if I try to get the price of all these kind of possibilities from the blockchain and then we will have to call the blockchain a lot of times. Not to mention that if we just set up if I want to try to swap ETH to USDC in a liquid pool and then what I have to get a price for once right but what happen if I have 10 liquidity pools I can swap then I have to get the price for 10 times right and now port has over 70 liquidity sources and the liquidity sources here is not uh it's not a pool it means like maybe like it's curve and there's a lot of pools in a liquidity source which you can see that the more liquidy source we have the more possible path we can find and then the more opposite codes we have to make and there was a time that porters has found 1435 path for a single swap I don't know uh did did you remember your last swap by yourself or maybe you do a do it by aggregator or something but I remember that if I do it by myself, I can only like find three, four, five path or maybe I when I use an aggregator maybe the aggregate just provide me provide me that three five path maybe but port will would find 1435 path for you just for a single swap.
Okay. But when we make this uh this much RPC codes, what if our RPC endpoint cannot handle the traffic? So if the RPC endpoint cannot handle the traffic, there will be a lot of timeout error, right? Because they cannot response the data in time. And when that happens, when person cannot get the price in time, we cannot return the best price to the user in time, which means that we have to give up to fill the order for the user, which means that all the efforts we made were in vain.
Okay. And so the first lesson we learned is how to choose an RPC endpoint. So the first thing you need to consider is the monthly quarter like how many RPC code you have to make in a month. So and you also have to consider if the market is cold or if if the market is hot because the RPC code numbers will be different and then you will not want to have a lot of RPC code remain at the end of the month. So the first thing you have to consider is the quarter and then we found that the RPS is also pretty important too because even though we have the uh enough monthly quarter if the RPS is not high enough then the endpoint cannot handle the traffic as well.
So you have to consider the RPS to be the right fit for your service and then you have to consider the stability because if you even you have the high enough RPS you have enough quarter and if the endpoint is not stable enough and let's say it happens like it glitch like maybe once every 15 minutes or once every 30 minutes then you will need to spend extra time to find how what happened in your system or maybe you have to write a complaint later or create a TikT on the uh endpoint providers web UI. Yeah, something like that. And then even though you find a perfect RPC endpoint for you, you have to consider the cost because if you cannot make up the cost then the RPC is not the right fit for you. So here are the few thing we learned from the RPC. beside the RPC.
Yeah. So all the high RPC usage from the swap, right? So when would user do do the swap and from our observation like mean when there was something big happened on the market and user will do a lot of swaps like BTC alltime high like Donald Trump became a president or some kind of token hype. But in this kind of situation the token price usually goes up. But what happen if the price keep going down on the market?
So uh let's say that if porous is try to swap from ETH to USDC and the price porters provide is 2600 and then when user user accepts the price when porters really run the transaction the price goes down to 2400 what what would happen? So there's a requirement on the cost swap platform that porters have to fulfill the price we promised at the first no matter what happened on the market. So which means that if there is a price gap between the quote price and the executed price then porters will have to pay for it. Mhm. So let's say if porters have to pay 10 USDC per order then based on our performance we have to pay 2400 USDC per hour which is pretty scary for us and what if the token price goes up and you may ask where well porters make 2400 USDC per hour I hope so yeah but when the price goes up the gas cost usually goes up too, right?
So, this is the gas cost I got few days ago and the bottom is the gas price I got last year. So, you can see the gas price could go crazy when there's a lot of activity happen on the blockchain. And when that happens, uh you have to be very careful because the uh porters will charge a gas fee to compensate the gas cost from the user. But the gas fee is determined before we do the swap. So if I say I will charge one USD from the user for the gas and when the g when I try to execute the transaction the gas goes up to 10 and then I have to pay for the extra cost extra gas cost and that's another loss for us.
So uh what what about a stable market? What if the market is stable and the gas price is stable? Is gas cost a concern? Uh I would say that if you estimate the gas cost precisely then you will be okay. But how to estimate gas cost precisely.
So here are some fundamentals of gas cost on the website of evm.codes and you can check them uh check all these fundamental by yourself. But beside all these fundamentals, you may need to know what is initial gas, what is memory cost and what is an assess list and when would you get a gas refund and other stuff and all this knowledge can help you to estimate your gas cost more precisely. Mhm. And after you know all the fundamentals of how to calculate the gas, then you can use a tool on tenderly called gas profiler.
So you can run your swap as transaction on tenderly and see how much gas does it cost and then this is the example. So okay so uh what if I already know the gas of a swap on a liquid pool? Is there anything I need to be aware of? Um there's something we found that the gas cost of a liquid liquid pool may not be fixed. It would change based on different kind of conditions.
And there was a time that when we try to do a swap on unis swap v4 pool and because uh there's hook before and after the swap, right? So when we try to estimate our guest cost because we only provide like the token address the token amount we didn't provide the from address. So the from address was zero and we thought that was okay because it's just for an simulation. But the gas cost we got by using the the zero from address and the gas cost we got by using another real or say nonzero from address is totally different. So this kind of difference will make us to pay for the extra co extra gas and this is something I think everyone should be aware of and besides the pool there's uh also token we need to be pay attention to so this is the transfer function transfer from function of mog token and as you can see there's a lot of different kind of condition in this contract code and then you can there's a at least four.
So if any condition met in this contract call the behavior will be different which means the gas cost will be different. So you have to find a way to estimate your guest codes as precisely as you can. And talking about USD 20 token, there's another kind of token is called fee charge token. And fe charge token is a kind of token that will need to charge a fee when doing the swap. So at the time porters did not aware of this kind of token.
So we did not charge the fee from the user when we provide the price. So which means that we have to pay the fee for the user which means another loss for us. So you have to really pay attention to what kind of token you're handling. Okay. So so far we've walked through like the uh how to select your RPC endpoint and how to estimate your guest cost and there's some unexpected behavior happen no matter no matter it's on the system or on the market.
So how do we find anomalies and what if we don't deal with this kind of anomalies in time what would happen? So for for porters we collect data uh from the market and from our system every day and we try to build a monitor system to monitor few metrics we set and when the monitor system finds something weird and then the system will send out alerts tell the team to take a look at it because if we don't deal with the anomalies in time there will be a huge chance for us to loss, right? Just like I mentioned before, but uh in the past we at first we say too many metric at the moment and then there was there were so many message flood in our channel and there there's uh the the most scary part of this is not a lot of message you cannot read. The most scary part of this is that you don't know which one is the true alarm and then you it will easily be ignored by you and then will cause some kind of tra tragedy I don't know yeah and there there was a time that a solver on the cow swap platform did not handle their anomies I don't know in time or in some kind of situation but they need to pay the platform 4,000 USDC which is something we try to avoid. And speaking of data like uh I think everyone knows when you're collecting data there will be a delay right you cannot get the data as soon as it showed up that maybe it depends on your frequency of your system refreshment or it depends on uh when the data will be upload or when the data will show up and some kind of data you have to rely on third party like the data can be only provided by third party people like maybe we rely on the data provided by call swap team and the delay of this kind of data may vary from few hours or few days or even sometimes week.
Yeah. And in that moment in the time period we will lose some sense of the market and our system because we cannot get the data. So that's the very important thing you need to know. Okay. So all talk about this.
Let's talk about why do you need port to do the swap for you. So let's see if um so portus is a me protected solver which means that if you do the swap with porters and you don't need to worry about me but what if you do a swap on a swap aggregator right if you have to take care of the MV by yourself and when the gas cost is climbing portters will pay the extra gas for you. But what if you do the swap on and swap aggregator? You have to take care of the climbing gas codes, right? And if porters win the chance to fill your order, the price, the best price we provide will be the best price of all 23 stovers on cost swap platform.
But what if you do the swap on a on an aggregator? The best price will be the price of all the liquidity pool the aggregator has, right? So uh so far we've been walk through all the experience we have and share with everyone in this room and so the uh for now pro is working on enhancing RPC efficiency and developing swap strategy and improving our monitoring system to react to the anomalies more actively. So to address these challenges we are hiring we are looking for several roles. So if you are interested, please check our website pro.
xyz or you can collect our pop here or you can find any one of us at our booth and talk to us. Thank you. All right. Uh any questions that we have? Yes sir.
Hello sir. Thank you. Um do you do like solve the crosschain swaps as well like when user wants to let's say execute Ethereum to USC USDC could you show the route also from Athereum to arbitrum maybe there is a a much better route are you doing this kind of stuff too um because we are solvid by us but I I think it's not it's possible for us to if we one day we become an independ independent service. So yeah are you planning for that? Uh there's some planning running but I don't know when we will execute the plan.
So yeah we will let you know. Thank you. Thank you. All right. Any other questions?
I do have I do have a question actually. So um as over right now mostly you guys work on cow swap is that right? Yeah. uh are you guys also working on other like platforms because as I understood kind of like you have intentbased architectures right and then solvers are kind of like the providers of these like the real power of like powering these right so right now there's a lot of like chain abstraction systems or all these things are kind of like the same thing right they all actually require solvers and then people that has liquidity and can front like you know users fronts so Yeah. Yeah.
So our main focus now is on the cow swap platform. So there's still a lot of work to do but we are doing our research to expand to other platform like maybe one in or maybe one unit swap but it's still under progressing. So you will see us if we finally launch our service on other platform right. uh one in unis swap is like kind of under the uh aggregator kind of uh well category is that correct or you mean unis swap x oh unis swap x I gotcha gotcha uh unis swap x is intent I do yeah unis swap x is intent based right right understood and any plans for like let's say there's some others debridge uh and also across across has been quite popular as well I guess that could be a question for shrening Right. Um but yeah, are these kind of like in line and what do you consider when you choose maybe that's that's kind of like the question because there's so many architectures around here, right?
What do you prioritize in choosing what to integrate first as a solver? Okay, so as a solver the priority for us will be how much income we can earn on that platform because every platform has their own rules, right? And some platform will focus on developing for the future. And then they may not have a lot of reward or bounties for other developers. But for us, the most important thing now is to keep the team survive especially when we are in a cold market.
So yeah, that's our first priority. Mhm. Understood. Thank you so much. Uh any other questions that you might have?
If not, then thank you so much, Jeff. And once Yes. And once again, [Music]
Automatic transcript — names and jargon may be misspelled.