fig

2.7K posts

fig banner
fig

fig

@ecdsafu

Co-founder @squidrouter | Building the nicest place in crypto

UK เข้าร่วม Ocak 2021
1.6K กำลังติดตาม3.5K ผู้ติดตาม
fig
fig@ecdsafu·
@tempo Congrats guys
English
0
0
2
401
Tempo
Tempo@tempo·
Tempo Mainnet is live! Starting today, anyone can build on Tempo through our public RPC endpoints. Alongside mainnet, we’re introducing the Machine Payments Protocol, an open standard for machine payments.
English
266
300
2.2K
579.2K
fig
fig@ecdsafu·
You can now build payment flows using Stripe and Tempo from any token on any chain using Squid! Stripe is synonymous with digital payments. Everything they've done in Web2 is extremely high quality and I'm super excited to see how they execute here. Real use cases incoming!!
squid@squidrouter

Squid is live on @tempo Cross-chain distribution meets the blockchain for real-world payments. Bridge and swap to Tempo from any chain starting today. ✨

English
5
2
34
2.3K
squid
squid@squidrouter·
Squid is live on @tempo Cross-chain distribution meets the blockchain for real-world payments. Bridge and swap to Tempo from any chain starting today. ✨
English
14
11
78
7.4K
fig
fig@ecdsafu·
@defyneric @squidrouter squid intents build in, super fast quotes, more non-evm chains. pricing is similar (everyone is near zero fees at this point). you get to work with us! send me a dm:)
English
1
0
3
18
eric
eric@defyneric·
@squidrouter yessir i’m building an ai consumer app rn and am comparing diff bridges/routers why is squid better then lifi/0x?
English
1
0
2
72
eric
eric@defyneric·
in the next 5 years there won’t be crypto or tradfi it’ll just be finance
English
17
3
40
2.1K
DSH
DSH@DS_Hemp·
Trim off the roughness around the edges, then we can start inviting people in! lol Biggest thing for everyone to remember... Most people (users) don't READ what is right infront of their faces!! KISS.. Keepp It Simple Stupid
fig@ecdsafu

Squid went through a very similar thing to this, and it's been long enough now that I feel comfortable getting it off my chest It was a huge wake up call and drastically updated my view of DeFi at the time TLDR: - The block builder and MEV searcher should return the money. This is obviously the right thing to do and hopefully will set a precedent. - Infra and apps are all responsible for user losses, especially when they direct their users to a "decentralized' protocol. - DeFi 1.0 protocol+app and "code is law" models can't work as the basis for global finance. DeFi protocols should be minimized to extremely basic settlement mechanisms onchain, with most application and trade logic offchain. Truly "open" markets are disproven imo. DeFi works best when combining the exit hatch characteristics of self custody which the reg arb bringing global, 24/7 availability. Now for Squid story time: Around Christmas 2023, a user bridged $600k USDC from Ethereum to DYDX on the DYDX interface, using the Squid API under the hood. They only received $350k, resulting in a $250k loss in one transaction due to slippage. The Osmosis pools for axlUSDC/USDC only had 350k liquidity of USDC in it. The $250k got picked up by an Osmosis MEV function they had built into the chain. This $250k USDC was immediately used to buy OSMO, and the OSMO was sitting in the Osmosis treasury. Apples for apples: - Aave is DYDX - CowSwap is Squid - Uniswap is Osmosis AMM - The Block Builder and MEV Searcher are Osmosis. In contrast to Aave, the DYDX bridge UI didn't show any price impact warning. No red text or checkboxes to continue. The user may have seen the expected output on the UI ($350k), but even that might have been hidden, depending on the version of the UI he used. We had warned the DYDX team of this issue for months before the incident happened, but startups move fast and they didn't get to adding a price impact warning. From our point of view, Squid "worked as intended" (also a phrase that Stani used toward CowSwap). - Squid returned the correct quote for this bridge (600k USDC -> 350k USDC), - Squid returned the price impact (25%) - slippage was set correctly (DYDX asked for 0.1% slippage via our API, meaning anything up to 0.1% worse than the current market rate is acceptable) But this wasn't enough to protect our partner or their user. This was our big wake up call. If Squid worked exactly as intended, how can we expect our design to be successful in the real world if users can get completely wrecked? We had started building Squid in 2021, in DeFi 1.0 where "code is law" and application logic followed the same wild west product approach as self custodying your Bitcoin. It's dangerous even for the most hardcore nerd, but outright unusable and extremely unsafe for many normal people. An immutable, deterministic approach to trade, used by humans who are very much not immutable or deterministic. So we built this to protect users and our partners: - Don't return any quote if the price impact was >3%, or if the user would lose $3k or more. - Allow users to opt in by turning on "degen mode", but don't make it easy for them. We don't tell our partners to even add a "degen mode" button. The trading apps who need this feature ask us about it directly when needed. This user had said that $250k was a large personal amount of money for them. We felt terrible. In TradFi, this problem doesn't exist. Code has a bug, someone ends up with money that they shouldn't have, then they return it. So in our case, who should pay the user back? - DYDX is just a front end, but they had a critical issue with UX and had neglected to solve it despite warnings - Squid (and the Osmosis AMM pools) "worked as intended", but clearly shouldn't have let this route be handed to a user or executed - Osmosis base protocol had received the users funds, but had converted them to OSMO, and were sitting in the Osmosis community pool DYDX had 10s of millions of dollars in their treasury and had recently filled a user who lost $8m from a liquidation on their protocol. But they went completely quiet on this. The user was dead to them. Squid had always refunded users in full for any loss our protocol had caused from a bug, but this wasn't technically a bug, and $250k was a large chunk of our treasury at the time. We were still a small team, trying to survive a bear market. Osmosis had done nothing wrong, but they now had the user's money, so I thought it made sense for them to just give it back. So I spent the 12 days of Christmas lobbying the Osmosis community to give back this money that had landed in their lap. Drafting governance forum posts and talking with people who had influence in the community. The response was extremely negative, instead of returning the user's funds, the community laughed at the user, and decided to burn the OSMO that had been bought with the user's lost funds. This would to reduce the OSMO supply and hopefully pump their token. There was a solid contingent who were supportive of the user and our proposal, but they were outnumbered. I thought this was detestable behavior, but things were very sensitive in Cosmos, notoriously political and touchy. It was pointless to push it further. In the end, Squid sent a small portion of funds to the user to try help them somewhat. We wish we could have sent them more. DYDX and Osmosis gave nothing as far as we knew. We all know what it's like to accidentally fat finger something. Not saving a game, deleting some photos. It's awful, and you pray for a way to reverse it, take your hard drive to a specialist to look at the electrons and recover your memories. Humans are not perfectly rational, and they make mistakes. We need to live in a world which is forgiving and allows us to operate to the best of our abilities. Finance is a very harsh world, and in certain cases we can't and shouldn't protect our users from themselves, but we should try to do the right thing when it's available to us and avoid blatant stealing or loss of funds. For me, this was a very painful Christmas, and a moment where I grew out of DeFi 1.0. DeFi 2.0 Squid would build products which have the user in mind, not the dream-state vision of people who were pumping their ETH bags in 2020. Smart contracts should not be used for core business logic. They should be reduced as much as possible to only settlement. Intents solve this nicely, and many projects are building their products to be much more forgiving and user friendly. Aave and CowSwap (and all crypto swap products) should update their guardrails on their products to not allow a trade like this to happen again, but I'm glad for the transparency of DeFi bringing this to light, and I hope the block builder and MEV searcher return the user's funds!

English
1
0
2
39
Ravi Ranjan Butola
Ravi Ranjan Butola@butola_ravi·
Glad to see genuinely selfless people in this space full of scammers larpers gritters etc. Stories like this act as a small ray in this dark space and offer a glimpse of hope for the future of crypto
fig@ecdsafu

Squid went through a very similar thing to this, and it's been long enough now that I feel comfortable getting it off my chest It was a huge wake up call and drastically updated my view of DeFi at the time TLDR: - The block builder and MEV searcher should return the money. This is obviously the right thing to do and hopefully will set a precedent. - Infra and apps are all responsible for user losses, especially when they direct their users to a "decentralized' protocol. - DeFi 1.0 protocol+app and "code is law" models can't work as the basis for global finance. DeFi protocols should be minimized to extremely basic settlement mechanisms onchain, with most application and trade logic offchain. Truly "open" markets are disproven imo. DeFi works best when combining the exit hatch characteristics of self custody which the reg arb bringing global, 24/7 availability. Now for Squid story time: Around Christmas 2023, a user bridged $600k USDC from Ethereum to DYDX on the DYDX interface, using the Squid API under the hood. They only received $350k, resulting in a $250k loss in one transaction due to slippage. The Osmosis pools for axlUSDC/USDC only had 350k liquidity of USDC in it. The $250k got picked up by an Osmosis MEV function they had built into the chain. This $250k USDC was immediately used to buy OSMO, and the OSMO was sitting in the Osmosis treasury. Apples for apples: - Aave is DYDX - CowSwap is Squid - Uniswap is Osmosis AMM - The Block Builder and MEV Searcher are Osmosis. In contrast to Aave, the DYDX bridge UI didn't show any price impact warning. No red text or checkboxes to continue. The user may have seen the expected output on the UI ($350k), but even that might have been hidden, depending on the version of the UI he used. We had warned the DYDX team of this issue for months before the incident happened, but startups move fast and they didn't get to adding a price impact warning. From our point of view, Squid "worked as intended" (also a phrase that Stani used toward CowSwap). - Squid returned the correct quote for this bridge (600k USDC -> 350k USDC), - Squid returned the price impact (25%) - slippage was set correctly (DYDX asked for 0.1% slippage via our API, meaning anything up to 0.1% worse than the current market rate is acceptable) But this wasn't enough to protect our partner or their user. This was our big wake up call. If Squid worked exactly as intended, how can we expect our design to be successful in the real world if users can get completely wrecked? We had started building Squid in 2021, in DeFi 1.0 where "code is law" and application logic followed the same wild west product approach as self custodying your Bitcoin. It's dangerous even for the most hardcore nerd, but outright unusable and extremely unsafe for many normal people. An immutable, deterministic approach to trade, used by humans who are very much not immutable or deterministic. So we built this to protect users and our partners: - Don't return any quote if the price impact was >3%, or if the user would lose $3k or more. - Allow users to opt in by turning on "degen mode", but don't make it easy for them. We don't tell our partners to even add a "degen mode" button. The trading apps who need this feature ask us about it directly when needed. This user had said that $250k was a large personal amount of money for them. We felt terrible. In TradFi, this problem doesn't exist. Code has a bug, someone ends up with money that they shouldn't have, then they return it. So in our case, who should pay the user back? - DYDX is just a front end, but they had a critical issue with UX and had neglected to solve it despite warnings - Squid (and the Osmosis AMM pools) "worked as intended", but clearly shouldn't have let this route be handed to a user or executed - Osmosis base protocol had received the users funds, but had converted them to OSMO, and were sitting in the Osmosis community pool DYDX had 10s of millions of dollars in their treasury and had recently filled a user who lost $8m from a liquidation on their protocol. But they went completely quiet on this. The user was dead to them. Squid had always refunded users in full for any loss our protocol had caused from a bug, but this wasn't technically a bug, and $250k was a large chunk of our treasury at the time. We were still a small team, trying to survive a bear market. Osmosis had done nothing wrong, but they now had the user's money, so I thought it made sense for them to just give it back. So I spent the 12 days of Christmas lobbying the Osmosis community to give back this money that had landed in their lap. Drafting governance forum posts and talking with people who had influence in the community. The response was extremely negative, instead of returning the user's funds, the community laughed at the user, and decided to burn the OSMO that had been bought with the user's lost funds. This would to reduce the OSMO supply and hopefully pump their token. There was a solid contingent who were supportive of the user and our proposal, but they were outnumbered. I thought this was detestable behavior, but things were very sensitive in Cosmos, notoriously political and touchy. It was pointless to push it further. In the end, Squid sent a small portion of funds to the user to try help them somewhat. We wish we could have sent them more. DYDX and Osmosis gave nothing as far as we knew. We all know what it's like to accidentally fat finger something. Not saving a game, deleting some photos. It's awful, and you pray for a way to reverse it, take your hard drive to a specialist to look at the electrons and recover your memories. Humans are not perfectly rational, and they make mistakes. We need to live in a world which is forgiving and allows us to operate to the best of our abilities. Finance is a very harsh world, and in certain cases we can't and shouldn't protect our users from themselves, but we should try to do the right thing when it's available to us and avoid blatant stealing or loss of funds. For me, this was a very painful Christmas, and a moment where I grew out of DeFi 1.0. DeFi 2.0 Squid would build products which have the user in mind, not the dream-state vision of people who were pumping their ETH bags in 2020. Smart contracts should not be used for core business logic. They should be reduced as much as possible to only settlement. Intents solve this nicely, and many projects are building their products to be much more forgiving and user friendly. Aave and CowSwap (and all crypto swap products) should update their guardrails on their products to not allow a trade like this to happen again, but I'm glad for the transparency of DeFi bringing this to light, and I hope the block builder and MEV searcher return the user's funds!

English
1
0
2
18
CryptoFun (🦴)
CryptoFun (🦴)@solanaBiscuit·
This is a great share. This is what leadership is in the space, real leadership. The callous responses seen in this space, like in this example and for the fellow who lost $50M, is borne out of self interest and fear of revealing self stupidity. Ironically it only verifies it.
fig@ecdsafu

Squid went through a very similar thing to this, and it's been long enough now that I feel comfortable getting it off my chest It was a huge wake up call and drastically updated my view of DeFi at the time TLDR: - The block builder and MEV searcher should return the money. This is obviously the right thing to do and hopefully will set a precedent. - Infra and apps are all responsible for user losses, especially when they direct their users to a "decentralized' protocol. - DeFi 1.0 protocol+app and "code is law" models can't work as the basis for global finance. DeFi protocols should be minimized to extremely basic settlement mechanisms onchain, with most application and trade logic offchain. Truly "open" markets are disproven imo. DeFi works best when combining the exit hatch characteristics of self custody which the reg arb bringing global, 24/7 availability. Now for Squid story time: Around Christmas 2023, a user bridged $600k USDC from Ethereum to DYDX on the DYDX interface, using the Squid API under the hood. They only received $350k, resulting in a $250k loss in one transaction due to slippage. The Osmosis pools for axlUSDC/USDC only had 350k liquidity of USDC in it. The $250k got picked up by an Osmosis MEV function they had built into the chain. This $250k USDC was immediately used to buy OSMO, and the OSMO was sitting in the Osmosis treasury. Apples for apples: - Aave is DYDX - CowSwap is Squid - Uniswap is Osmosis AMM - The Block Builder and MEV Searcher are Osmosis. In contrast to Aave, the DYDX bridge UI didn't show any price impact warning. No red text or checkboxes to continue. The user may have seen the expected output on the UI ($350k), but even that might have been hidden, depending on the version of the UI he used. We had warned the DYDX team of this issue for months before the incident happened, but startups move fast and they didn't get to adding a price impact warning. From our point of view, Squid "worked as intended" (also a phrase that Stani used toward CowSwap). - Squid returned the correct quote for this bridge (600k USDC -> 350k USDC), - Squid returned the price impact (25%) - slippage was set correctly (DYDX asked for 0.1% slippage via our API, meaning anything up to 0.1% worse than the current market rate is acceptable) But this wasn't enough to protect our partner or their user. This was our big wake up call. If Squid worked exactly as intended, how can we expect our design to be successful in the real world if users can get completely wrecked? We had started building Squid in 2021, in DeFi 1.0 where "code is law" and application logic followed the same wild west product approach as self custodying your Bitcoin. It's dangerous even for the most hardcore nerd, but outright unusable and extremely unsafe for many normal people. An immutable, deterministic approach to trade, used by humans who are very much not immutable or deterministic. So we built this to protect users and our partners: - Don't return any quote if the price impact was >3%, or if the user would lose $3k or more. - Allow users to opt in by turning on "degen mode", but don't make it easy for them. We don't tell our partners to even add a "degen mode" button. The trading apps who need this feature ask us about it directly when needed. This user had said that $250k was a large personal amount of money for them. We felt terrible. In TradFi, this problem doesn't exist. Code has a bug, someone ends up with money that they shouldn't have, then they return it. So in our case, who should pay the user back? - DYDX is just a front end, but they had a critical issue with UX and had neglected to solve it despite warnings - Squid (and the Osmosis AMM pools) "worked as intended", but clearly shouldn't have let this route be handed to a user or executed - Osmosis base protocol had received the users funds, but had converted them to OSMO, and were sitting in the Osmosis community pool DYDX had 10s of millions of dollars in their treasury and had recently filled a user who lost $8m from a liquidation on their protocol. But they went completely quiet on this. The user was dead to them. Squid had always refunded users in full for any loss our protocol had caused from a bug, but this wasn't technically a bug, and $250k was a large chunk of our treasury at the time. We were still a small team, trying to survive a bear market. Osmosis had done nothing wrong, but they now had the user's money, so I thought it made sense for them to just give it back. So I spent the 12 days of Christmas lobbying the Osmosis community to give back this money that had landed in their lap. Drafting governance forum posts and talking with people who had influence in the community. The response was extremely negative, instead of returning the user's funds, the community laughed at the user, and decided to burn the OSMO that had been bought with the user's lost funds. This would to reduce the OSMO supply and hopefully pump their token. There was a solid contingent who were supportive of the user and our proposal, but they were outnumbered. I thought this was detestable behavior, but things were very sensitive in Cosmos, notoriously political and touchy. It was pointless to push it further. In the end, Squid sent a small portion of funds to the user to try help them somewhat. We wish we could have sent them more. DYDX and Osmosis gave nothing as far as we knew. We all know what it's like to accidentally fat finger something. Not saving a game, deleting some photos. It's awful, and you pray for a way to reverse it, take your hard drive to a specialist to look at the electrons and recover your memories. Humans are not perfectly rational, and they make mistakes. We need to live in a world which is forgiving and allows us to operate to the best of our abilities. Finance is a very harsh world, and in certain cases we can't and shouldn't protect our users from themselves, but we should try to do the right thing when it's available to us and avoid blatant stealing or loss of funds. For me, this was a very painful Christmas, and a moment where I grew out of DeFi 1.0. DeFi 2.0 Squid would build products which have the user in mind, not the dream-state vision of people who were pumping their ETH bags in 2020. Smart contracts should not be used for core business logic. They should be reduced as much as possible to only settlement. Intents solve this nicely, and many projects are building their products to be much more forgiving and user friendly. Aave and CowSwap (and all crypto swap products) should update their guardrails on their products to not allow a trade like this to happen again, but I'm glad for the transparency of DeFi bringing this to light, and I hope the block builder and MEV searcher return the user's funds!

English
1
0
3
68
fig
fig@ecdsafu·
@yungalgorithm thanks yung, appreciate your words and support! thanks for using the product too
English
0
0
1
8
yung algorithm
yung algorithm@yungalgorithm·
this is why squid is my favorite router, also met your team and probably you via mutuals irl in the past, awesome team awesome ethos awesome product
fig@ecdsafu

Squid went through a very similar thing to this, and it's been long enough now that I feel comfortable getting it off my chest It was a huge wake up call and drastically updated my view of DeFi at the time TLDR: - The block builder and MEV searcher should return the money. This is obviously the right thing to do and hopefully will set a precedent. - Infra and apps are all responsible for user losses, especially when they direct their users to a "decentralized' protocol. - DeFi 1.0 protocol+app and "code is law" models can't work as the basis for global finance. DeFi protocols should be minimized to extremely basic settlement mechanisms onchain, with most application and trade logic offchain. Truly "open" markets are disproven imo. DeFi works best when combining the exit hatch characteristics of self custody which the reg arb bringing global, 24/7 availability. Now for Squid story time: Around Christmas 2023, a user bridged $600k USDC from Ethereum to DYDX on the DYDX interface, using the Squid API under the hood. They only received $350k, resulting in a $250k loss in one transaction due to slippage. The Osmosis pools for axlUSDC/USDC only had 350k liquidity of USDC in it. The $250k got picked up by an Osmosis MEV function they had built into the chain. This $250k USDC was immediately used to buy OSMO, and the OSMO was sitting in the Osmosis treasury. Apples for apples: - Aave is DYDX - CowSwap is Squid - Uniswap is Osmosis AMM - The Block Builder and MEV Searcher are Osmosis. In contrast to Aave, the DYDX bridge UI didn't show any price impact warning. No red text or checkboxes to continue. The user may have seen the expected output on the UI ($350k), but even that might have been hidden, depending on the version of the UI he used. We had warned the DYDX team of this issue for months before the incident happened, but startups move fast and they didn't get to adding a price impact warning. From our point of view, Squid "worked as intended" (also a phrase that Stani used toward CowSwap). - Squid returned the correct quote for this bridge (600k USDC -> 350k USDC), - Squid returned the price impact (25%) - slippage was set correctly (DYDX asked for 0.1% slippage via our API, meaning anything up to 0.1% worse than the current market rate is acceptable) But this wasn't enough to protect our partner or their user. This was our big wake up call. If Squid worked exactly as intended, how can we expect our design to be successful in the real world if users can get completely wrecked? We had started building Squid in 2021, in DeFi 1.0 where "code is law" and application logic followed the same wild west product approach as self custodying your Bitcoin. It's dangerous even for the most hardcore nerd, but outright unusable and extremely unsafe for many normal people. An immutable, deterministic approach to trade, used by humans who are very much not immutable or deterministic. So we built this to protect users and our partners: - Don't return any quote if the price impact was >3%, or if the user would lose $3k or more. - Allow users to opt in by turning on "degen mode", but don't make it easy for them. We don't tell our partners to even add a "degen mode" button. The trading apps who need this feature ask us about it directly when needed. This user had said that $250k was a large personal amount of money for them. We felt terrible. In TradFi, this problem doesn't exist. Code has a bug, someone ends up with money that they shouldn't have, then they return it. So in our case, who should pay the user back? - DYDX is just a front end, but they had a critical issue with UX and had neglected to solve it despite warnings - Squid (and the Osmosis AMM pools) "worked as intended", but clearly shouldn't have let this route be handed to a user or executed - Osmosis base protocol had received the users funds, but had converted them to OSMO, and were sitting in the Osmosis community pool DYDX had 10s of millions of dollars in their treasury and had recently filled a user who lost $8m from a liquidation on their protocol. But they went completely quiet on this. The user was dead to them. Squid had always refunded users in full for any loss our protocol had caused from a bug, but this wasn't technically a bug, and $250k was a large chunk of our treasury at the time. We were still a small team, trying to survive a bear market. Osmosis had done nothing wrong, but they now had the user's money, so I thought it made sense for them to just give it back. So I spent the 12 days of Christmas lobbying the Osmosis community to give back this money that had landed in their lap. Drafting governance forum posts and talking with people who had influence in the community. The response was extremely negative, instead of returning the user's funds, the community laughed at the user, and decided to burn the OSMO that had been bought with the user's lost funds. This would to reduce the OSMO supply and hopefully pump their token. There was a solid contingent who were supportive of the user and our proposal, but they were outnumbered. I thought this was detestable behavior, but things were very sensitive in Cosmos, notoriously political and touchy. It was pointless to push it further. In the end, Squid sent a small portion of funds to the user to try help them somewhat. We wish we could have sent them more. DYDX and Osmosis gave nothing as far as we knew. We all know what it's like to accidentally fat finger something. Not saving a game, deleting some photos. It's awful, and you pray for a way to reverse it, take your hard drive to a specialist to look at the electrons and recover your memories. Humans are not perfectly rational, and they make mistakes. We need to live in a world which is forgiving and allows us to operate to the best of our abilities. Finance is a very harsh world, and in certain cases we can't and shouldn't protect our users from themselves, but we should try to do the right thing when it's available to us and avoid blatant stealing or loss of funds. For me, this was a very painful Christmas, and a moment where I grew out of DeFi 1.0. DeFi 2.0 Squid would build products which have the user in mind, not the dream-state vision of people who were pumping their ETH bags in 2020. Smart contracts should not be used for core business logic. They should be reduced as much as possible to only settlement. Intents solve this nicely, and many projects are building their products to be much more forgiving and user friendly. Aave and CowSwap (and all crypto swap products) should update their guardrails on their products to not allow a trade like this to happen again, but I'm glad for the transparency of DeFi bringing this to light, and I hope the block builder and MEV searcher return the user's funds!

English
1
0
3
544
fig
fig@ecdsafu·
@0x_Timi Thanks Timii, appreciate it 🙏🙏
English
1
0
1
6
Timii 🩶
Timii 🩶@0x_Timi·
“it worked as it should” is simply a statement to avoid taking responsibility for not caring enough to make things better. w you, w squid haven’t read anything like this in forever.
fig@ecdsafu

Squid went through a very similar thing to this, and it's been long enough now that I feel comfortable getting it off my chest It was a huge wake up call and drastically updated my view of DeFi at the time TLDR: - The block builder and MEV searcher should return the money. This is obviously the right thing to do and hopefully will set a precedent. - Infra and apps are all responsible for user losses, especially when they direct their users to a "decentralized' protocol. - DeFi 1.0 protocol+app and "code is law" models can't work as the basis for global finance. DeFi protocols should be minimized to extremely basic settlement mechanisms onchain, with most application and trade logic offchain. Truly "open" markets are disproven imo. DeFi works best when combining the exit hatch characteristics of self custody which the reg arb bringing global, 24/7 availability. Now for Squid story time: Around Christmas 2023, a user bridged $600k USDC from Ethereum to DYDX on the DYDX interface, using the Squid API under the hood. They only received $350k, resulting in a $250k loss in one transaction due to slippage. The Osmosis pools for axlUSDC/USDC only had 350k liquidity of USDC in it. The $250k got picked up by an Osmosis MEV function they had built into the chain. This $250k USDC was immediately used to buy OSMO, and the OSMO was sitting in the Osmosis treasury. Apples for apples: - Aave is DYDX - CowSwap is Squid - Uniswap is Osmosis AMM - The Block Builder and MEV Searcher are Osmosis. In contrast to Aave, the DYDX bridge UI didn't show any price impact warning. No red text or checkboxes to continue. The user may have seen the expected output on the UI ($350k), but even that might have been hidden, depending on the version of the UI he used. We had warned the DYDX team of this issue for months before the incident happened, but startups move fast and they didn't get to adding a price impact warning. From our point of view, Squid "worked as intended" (also a phrase that Stani used toward CowSwap). - Squid returned the correct quote for this bridge (600k USDC -> 350k USDC), - Squid returned the price impact (25%) - slippage was set correctly (DYDX asked for 0.1% slippage via our API, meaning anything up to 0.1% worse than the current market rate is acceptable) But this wasn't enough to protect our partner or their user. This was our big wake up call. If Squid worked exactly as intended, how can we expect our design to be successful in the real world if users can get completely wrecked? We had started building Squid in 2021, in DeFi 1.0 where "code is law" and application logic followed the same wild west product approach as self custodying your Bitcoin. It's dangerous even for the most hardcore nerd, but outright unusable and extremely unsafe for many normal people. An immutable, deterministic approach to trade, used by humans who are very much not immutable or deterministic. So we built this to protect users and our partners: - Don't return any quote if the price impact was >3%, or if the user would lose $3k or more. - Allow users to opt in by turning on "degen mode", but don't make it easy for them. We don't tell our partners to even add a "degen mode" button. The trading apps who need this feature ask us about it directly when needed. This user had said that $250k was a large personal amount of money for them. We felt terrible. In TradFi, this problem doesn't exist. Code has a bug, someone ends up with money that they shouldn't have, then they return it. So in our case, who should pay the user back? - DYDX is just a front end, but they had a critical issue with UX and had neglected to solve it despite warnings - Squid (and the Osmosis AMM pools) "worked as intended", but clearly shouldn't have let this route be handed to a user or executed - Osmosis base protocol had received the users funds, but had converted them to OSMO, and were sitting in the Osmosis community pool DYDX had 10s of millions of dollars in their treasury and had recently filled a user who lost $8m from a liquidation on their protocol. But they went completely quiet on this. The user was dead to them. Squid had always refunded users in full for any loss our protocol had caused from a bug, but this wasn't technically a bug, and $250k was a large chunk of our treasury at the time. We were still a small team, trying to survive a bear market. Osmosis had done nothing wrong, but they now had the user's money, so I thought it made sense for them to just give it back. So I spent the 12 days of Christmas lobbying the Osmosis community to give back this money that had landed in their lap. Drafting governance forum posts and talking with people who had influence in the community. The response was extremely negative, instead of returning the user's funds, the community laughed at the user, and decided to burn the OSMO that had been bought with the user's lost funds. This would to reduce the OSMO supply and hopefully pump their token. There was a solid contingent who were supportive of the user and our proposal, but they were outnumbered. I thought this was detestable behavior, but things were very sensitive in Cosmos, notoriously political and touchy. It was pointless to push it further. In the end, Squid sent a small portion of funds to the user to try help them somewhat. We wish we could have sent them more. DYDX and Osmosis gave nothing as far as we knew. We all know what it's like to accidentally fat finger something. Not saving a game, deleting some photos. It's awful, and you pray for a way to reverse it, take your hard drive to a specialist to look at the electrons and recover your memories. Humans are not perfectly rational, and they make mistakes. We need to live in a world which is forgiving and allows us to operate to the best of our abilities. Finance is a very harsh world, and in certain cases we can't and shouldn't protect our users from themselves, but we should try to do the right thing when it's available to us and avoid blatant stealing or loss of funds. For me, this was a very painful Christmas, and a moment where I grew out of DeFi 1.0. DeFi 2.0 Squid would build products which have the user in mind, not the dream-state vision of people who were pumping their ETH bags in 2020. Smart contracts should not be used for core business logic. They should be reduced as much as possible to only settlement. Intents solve this nicely, and many projects are building their products to be much more forgiving and user friendly. Aave and CowSwap (and all crypto swap products) should update their guardrails on their products to not allow a trade like this to happen again, but I'm glad for the transparency of DeFi bringing this to light, and I hope the block builder and MEV searcher return the user's funds!

English
1
0
5
96
fig
fig@ecdsafu·
Thanks Krippenreiter. I think apps can effectively run as rollups, where there is some sense of "undo" before it is committed and immutably onchain. This is good for scaling, UX speeds and centralised UX, while retaining the exit hatch and regulatory advantage of decentralization I understand it is a slippery slope, and the industry is already far down that slope, in other ecosystems imo well past the point of no return. The trick will be to see where decentralization still helps and still wins users over. And, to not use centralization as the default where there would be no benefit
English
0
0
1
22
Krippenreiter
Krippenreiter@krippenreiter·
"DeFi protocols should be minimized to extremely basic settlement mechanisms onchain, with most application and trade logic offchain." We talked about this @angell_denis. Sometimes less is more and it's always a good sign to align with Fig on topics. 😉 IMO "offchain" in this case could also mean private permissioned fork of the public permissionless version as it would allow for more control on the matter. Definitely a fascinating topic and thanks fig for following the route you believe is the right one. Code is law but at the same time we got proven once again that we humans are not built for it. Some middle ground may be the right way forward. 🫡
English
1
0
9
470
fig
fig@ecdsafu·
Squid went through a very similar thing to this, and it's been long enough now that I feel comfortable getting it off my chest It was a huge wake up call and drastically updated my view of DeFi at the time TLDR: - The block builder and MEV searcher should return the money. This is obviously the right thing to do and hopefully will set a precedent. - Infra and apps are all responsible for user losses, especially when they direct their users to a "decentralized' protocol. - DeFi 1.0 protocol+app and "code is law" models can't work as the basis for global finance. DeFi protocols should be minimized to extremely basic settlement mechanisms onchain, with most application and trade logic offchain. Truly "open" markets are disproven imo. DeFi works best when combining the exit hatch characteristics of self custody which the reg arb bringing global, 24/7 availability. Now for Squid story time: Around Christmas 2023, a user bridged $600k USDC from Ethereum to DYDX on the DYDX interface, using the Squid API under the hood. They only received $350k, resulting in a $250k loss in one transaction due to slippage. The Osmosis pools for axlUSDC/USDC only had 350k liquidity of USDC in it. The $250k got picked up by an Osmosis MEV function they had built into the chain. This $250k USDC was immediately used to buy OSMO, and the OSMO was sitting in the Osmosis treasury. Apples for apples: - Aave is DYDX - CowSwap is Squid - Uniswap is Osmosis AMM - The Block Builder and MEV Searcher are Osmosis. In contrast to Aave, the DYDX bridge UI didn't show any price impact warning. No red text or checkboxes to continue. The user may have seen the expected output on the UI ($350k), but even that might have been hidden, depending on the version of the UI he used. We had warned the DYDX team of this issue for months before the incident happened, but startups move fast and they didn't get to adding a price impact warning. From our point of view, Squid "worked as intended" (also a phrase that Stani used toward CowSwap). - Squid returned the correct quote for this bridge (600k USDC -> 350k USDC), - Squid returned the price impact (25%) - slippage was set correctly (DYDX asked for 0.1% slippage via our API, meaning anything up to 0.1% worse than the current market rate is acceptable) But this wasn't enough to protect our partner or their user. This was our big wake up call. If Squid worked exactly as intended, how can we expect our design to be successful in the real world if users can get completely wrecked? We had started building Squid in 2021, in DeFi 1.0 where "code is law" and application logic followed the same wild west product approach as self custodying your Bitcoin. It's dangerous even for the most hardcore nerd, but outright unusable and extremely unsafe for many normal people. An immutable, deterministic approach to trade, used by humans who are very much not immutable or deterministic. So we built this to protect users and our partners: - Don't return any quote if the price impact was >3%, or if the user would lose $3k or more. - Allow users to opt in by turning on "degen mode", but don't make it easy for them. We don't tell our partners to even add a "degen mode" button. The trading apps who need this feature ask us about it directly when needed. This user had said that $250k was a large personal amount of money for them. We felt terrible. In TradFi, this problem doesn't exist. Code has a bug, someone ends up with money that they shouldn't have, then they return it. So in our case, who should pay the user back? - DYDX is just a front end, but they had a critical issue with UX and had neglected to solve it despite warnings - Squid (and the Osmosis AMM pools) "worked as intended", but clearly shouldn't have let this route be handed to a user or executed - Osmosis base protocol had received the users funds, but had converted them to OSMO, and were sitting in the Osmosis community pool DYDX had 10s of millions of dollars in their treasury and had recently filled a user who lost $8m from a liquidation on their protocol. But they went completely quiet on this. The user was dead to them. Squid had always refunded users in full for any loss our protocol had caused from a bug, but this wasn't technically a bug, and $250k was a large chunk of our treasury at the time. We were still a small team, trying to survive a bear market. Osmosis had done nothing wrong, but they now had the user's money, so I thought it made sense for them to just give it back. So I spent the 12 days of Christmas lobbying the Osmosis community to give back this money that had landed in their lap. Drafting governance forum posts and talking with people who had influence in the community. The response was extremely negative, instead of returning the user's funds, the community laughed at the user, and decided to burn the OSMO that had been bought with the user's lost funds. This would to reduce the OSMO supply and hopefully pump their token. There was a solid contingent who were supportive of the user and our proposal, but they were outnumbered. I thought this was detestable behavior, but things were very sensitive in Cosmos, notoriously political and touchy. It was pointless to push it further. In the end, Squid sent a small portion of funds to the user to try help them somewhat. We wish we could have sent them more. DYDX and Osmosis gave nothing as far as we knew. We all know what it's like to accidentally fat finger something. Not saving a game, deleting some photos. It's awful, and you pray for a way to reverse it, take your hard drive to a specialist to look at the electrons and recover your memories. Humans are not perfectly rational, and they make mistakes. We need to live in a world which is forgiving and allows us to operate to the best of our abilities. Finance is a very harsh world, and in certain cases we can't and shouldn't protect our users from themselves, but we should try to do the right thing when it's available to us and avoid blatant stealing or loss of funds. For me, this was a very painful Christmas, and a moment where I grew out of DeFi 1.0. DeFi 2.0 Squid would build products which have the user in mind, not the dream-state vision of people who were pumping their ETH bags in 2020. Smart contracts should not be used for core business logic. They should be reduced as much as possible to only settlement. Intents solve this nicely, and many projects are building their products to be much more forgiving and user friendly. Aave and CowSwap (and all crypto swap products) should update their guardrails on their products to not allow a trade like this to happen again, but I'm glad for the transparency of DeFi bringing this to light, and I hope the block builder and MEV searcher return the user's funds!
Stani.eth@StaniKulechov

Earlier today, a user attempted to buy AAVE using $50M USDT through the Aave interface. Given the unusually large size of the single order, the Aave interface, like most trading interfaces, warned the user about extraordinary slippage and required confirmation via a checkbox. The user confirmed the warning on their mobile device and proceeded with the swap, accepting the high slippage, which ultimately resulted in receiving only 324 AAVE in return. The transaction could not be moved forward without the user explicitly accepting the risk through the confirmation checkbox. The CoW Swap routers functioned as intended, and the integration followed standard industry practices. However, while the user was able to proceed with the swap, the final outcome was clearly far from optimal. Events like this do occur in DeFi, but the scale of this transaction was significantly larger than what is typically seen in the space. We sympathize with the user and will try to make a contact with the user and we will return $600K in fees collected from the transaction. The key takeaway is that while DeFi should remain open and permissionless, allowing users to perform transactions freely, there are additional guardrails the industry can build to better protect users. Our team will be investigating ways to improve these safeguards going forward.

English
47
32
272
42.8K
squid
squid@squidrouter·
The Squid MCP is now live. because agents deserve a smooth cross-chain experience too details below 🫧
English
18
18
129
12K
fig
fig@ecdsafu·
@martinkrung Yes agree, DAOs make it much harder to do the right thing
English
0
0
0
7
Martin K.
Martin K.@martinkrung·
@ecdsafu Burn the osmosis did not help the price. But daos are bad at giving reimbursement as they just have to do nothing and sit idle.
English
1
0
3
300
fig
fig@ecdsafu·
Thanks Fomo 🙏 Normally, degen mode (allowing swapping beyond 3% price impact) would not ever be a good feature for a user. But, during crazy liquidity events, or depegging of stablecoins, getting even 50c for your $1 is much better than nothing Being able to swap instantly and not be forced to wait while a token to go to zero can be extremely important
English
0
0
1
18
Fomo {X}
Fomo {X}@ShortTheFOMO·
@ecdsafu Do think squid could and should simply not return routes where slippage is past a value.. Anyhow glad to see adult in the room tackling the issue rather than making it a feature. Ps: most XRPL swop interfaces would fail this test
English
1
1
5
319
fig
fig@ecdsafu·
@bakoushin That would be better, yes. I think the issue with DeFi is once it lands onchain there is no undoing it. I think it's interesting to build apps as "rollups" in a way that they have checkpoints so txs only become immutable after a while. Then users would be able to undo
English
0
0
0
13
Alex Bakoushin
Alex Bakoushin@bakoushin·
@ecdsafu In traditional UX, confirmation dialogs (Are you sure you want to delete this?) are considered inferior to undo. Gmail, for example, doesn’t ask if you really want to send — it just gives you a window to unsend. Has anyone tried applying this pattern to DeFi?
English
1
0
4
237
fig
fig@ecdsafu·
@kashev appreciate that sir 🙏🙏
English
1
0
1
16
fig
fig@ecdsafu·
@ExtinctionBurst Agree it's basically theft, and we need to fix these issues to even talk about being the future of finance
English
0
0
1
5
ExtinctionBurst
ExtinctionBurst@ExtinctionBurst·
@ecdsafu Until these issues are resolved this will never be the future of finance.
English
1
0
2
19
fig
fig@ecdsafu·
Great question, it was a finger in the air tbh, and we'd be happy to adjust it The main decision was how to balance protection for user with unnecessary UX blocks e.g. if someone is swapping $1M in stables, $3k is a 0.3% price impact, which we thought was reasonable and is hopefully enough headroom for them to get their swap through The scale could do with some more complex logic to handle stable vs volatile swaps and very large sizes too I imagine Since we implemented years ago, we haven't had any user complaints, so think it's fine for now
English
0
0
1
26
Jonny Mack
Jonny Mack@_nonlinear·
@ecdsafu how did you land on >3%/$3k or more? why not 2, or 4, or some other numbers?
English
1
0
5
321
fig
fig@ecdsafu·
@EseTeLopez Sorry to hear it's happened to you. Crypto and bridging are so scary
English
0
0
1
17
esetelopez.eth
esetelopez.eth@EseTeLopez·
@ecdsafu Its like when the bridge gives you a route and let you send your funds to a token that doesnt have liquidity. It happened to me many times with wormhole
English
1
0
4
329
fig
fig@ecdsafu·
@migue2459 Thanks Luis, yes some rough downsides to anonymity
English
0
0
1
23
luis miguel
luis miguel@migue2459·
@ecdsafu Damn that's rough. Squid stepping up while others ghosted is real class. Hope the MEV guys eventually do the right thing too
English
1
0
1
56