0x cross chain functionality - Swidge MVP
Overview
We apply for support from 0x treasury to build out Swidge MVP, the first fully decentralized omni-chain aggregation protocol. Swidge is a future proof, decentralized omni-chain liquidity aggregation protocol.
The Problem
- No cross-chain functionality
- There is no open source provider for cross-chain aggregation infrastructure
- Bridge/DEX aggregation → Causes 0x protocol costs in the long run
The 0x Protocol currently has no cross-chain functionality that would connect the different chains and the liquidity aggregation 0x protocol offers. 0x’s Mission is to build infrastructure for the emerging crypto economy, connecting liquidity across chains is therefore a core building block of reaching that vision. With Swidge we aim to extend 0x protocols functionality by allowing the routing through bridges and one click cross-chain any-to-any swaps.
With other bridge and DEX aggregators, 0x would need to trust their route building and can not execute cross-chain swaps with their own proprietary logic. This approach limits functionality and composability for 0x. Swidge provides the full functionality with maximum composability, acting as an open source building block for the 0x protocol.
0x Protocol & Swidge
- Open Source cross-chain aggregation protocol
- Allowing maximum composability among bridges/DEX/ecosystems
- Runs on the client side, fully decentralized
Together with 0x we would like to create the new standard for cross-chain aggregation and decentralized & free value flows. Initially we will focus on aggregating the interoperability layer, which at this point in time is not a part of the 0x protocol.
In the future the Swidge Protocol aims to be the open-source standard for interacting with Web3 liquidity. This approach aims to allow developers and users a safer and less centralized way to interact with aggregated liquidity and enables future proof aggregation by opening up a path for protocols and ecosystems to aggregate themselves. We aim to decentralize aggregation infrastructure and make it available to protocols like 0x, which are building business structures on top of this.
Swidge is building a decentralized open-source aggregation protocol, allowing proprietary logic to be executed against all aggregated protocols. The MVP version we will focus on aggregating message passing bridges (Options: Wormhole, cBridge, Axelar, Stargate), allowing 0x to connect the current cross-chain deployments and enable 1-click any-to-any swaps while staying decentralized.
0x Integration & Support:
- Meeting with the 0x Labs team to gather feedback on the solution and technical integration
- We’d like to present the tool and the underlying infrastructure on podcasts and other media channels that the 0x ecosystem is partnered with.
What Swidge does:
- Abstract Web3 complex liquidity flows for developers, by build a liquidity middleware layer for developers to interact with, from any programming language
- Lay a decentralized foundation for widespread DeFi adoption
- Simplify developer experience 100x when interacting with Web3 and help make Web3 more secure, leveraging WebAssembly and Polywrap
How Swidge does it:
- Integrate all liquidity providers in a decentralized manner, chain and programming language agnostic
- Enable client side execution of the Swidge core functionality by deploying all code to IPFS
Team
Team members
- Fabian Weber
- Sandro Puig
Contact
- Contact Name: Fabian Weber
- Contact Email: admin@swidge.xyz
- Website: https://swidge.xyz/
Team’s experience
Swidge team has been dedicated to building a liquidity aggregation solution for the past year. We built a working product by integrating every other existing aggregation solution as also some of the main liquidity providers and bridges.
This experience has allowed us to get a good feel of the different solutions out there, and to realize the need for something better.
We are supported by the Polywrap DAO team. Polywrap’s technology is the underlying infrastructure that enables Swidge to build this decentralized aggregation protocol. (Polywrap - Enter the Composable Future)
Development Roadmap
Requested Grant
Wallet | Stablecoin |
---|---|
swidge.eth | $30.000 |
- Total Estimated Duration: 3-4 Weeks
- Full-Time Equivalent (FTE): 2 Dev
- Total Costs: $30.000
- Start Date: ASAP
Milestone 1 - 0x MVP
- 0x Polywrapper: Polywrapper in Rust that enables the Swidge core Wrapper to interact with the 0x protocol capabilities.
- 0x contract integration: Implementation that will enable the core on-chain router to communicate with the 0x system.
- Bridge Polywrapper: Polywrapper in Rust that enables the Swidge Core wrapper to interact with the bridge protocol capabilities.
This milestone is scoped and all components are understood, we don’t foresee any blockers or dependencies at this point in time.
Number | Deliverable | Description |
---|---|---|
0a. | License | GPLv3 |
0b. | Documentation | We will provide both inline documentation of the code and a basic tutorial that explains how a user can interact with the wrapper |
0c. | Testing guide | Core functions will be fully covered by unit and e2e tests |
1. | 0x Polywrapper | - Write graphql schema for protocol actions: - check if the channel between Token A and B is enabled - quote if amount X of token A is swappable to token B - Compute the output amount and the address - Make transaction - Implement graphql schema methods in Rust using Polywrap Http and Ethereum plugin - Write unit tests suite for the core behavior - Deploy polywrapper to IPFS |
2. | 0x contract facet | - Write contract facet for on-chain infrastructure to be able to communicate with the protocols contracts & deploy on every live EVM chain |
3. | Bridge Polywrapper | - Write graphql schema for protocol actions: - check if the channel between Token A and B is enabled - quote if amount X of token A is swappable to token B - Compute the output amount and the address - Make transactio - Implement graphql schema methods in Rust using Polywrap Http and Ethereum plugin - Write unit tests suite for the core behavio - Deploy polywrapper to IPFS |
Estimated costs
Task | Description | Story Points |
---|---|---|
protocol contract facet | Write the contract facet | 2 |
protocol contract facet | Deploy to EVMs | 2.5 |
0x protocol Polywrapper | Write graphql schema | 1.5 |
0x protocol Polywrapper | Implement schema methods | 4 |
0x protocol Polywrapper | Deploy to IPFS | 0.3 |
Bridge protocol Polywrapper | Write graphql schema | 1.5 |
Bridge protocol Polywrapper | Implement schema methods | 4 |
Bridge protocol Polywrapper | Deploy to IPFS | 0.3 |
Smart Contract Upgrade | Upgrade the SC | 0.7 |
Total | 16.8 |
General Ecosystem Fit
- Where and how does your project fit into the ecosystem?
Swidge enables any developer to use cross-chain liquidity in a safe and abstracted way, while having the certainty that every piece of the system is decentralized. This is a core feature in tomorrow’s interconnected DeFi ecosystem.
- Who is your target audience?
The Swidge protocol is created to be a substantial piece of infrastructure that any developer can use to move any asset and interact with any protocol across any chain. The Swidge Protocol will provide its Core Wrapper SDK (Swidge SDK) to protocols for B2B integrations. This allows them to interact with all aggregated protocols in a decentral manner as Swidge does not run any centralized backend.
- What need(s) does Swidge meet?
Swidge meets the needs of dApp developers who want a simple way to integrate different liquidity protocols from a variety of chains into their dApps. With our SDK developers will be able to interact with any protocol in an abstracted manner, simply executing standardized methods on the SDK.
- Are there any other projects similar to Swidge in the ecosystem?
There are many projects trying to solve interoperability of liquidity protocols across chains, but so far everyone is relying on centralized logic in order to take decisions on which is the best route, and in many cases even to encode the transaction for the on-chain contracts, which is a huge liability and a single point of failure on what should be part of a decentralized financial infrastructure.
Swidge comes to solve this issue by giving the user ownership of the last piece of the system, the transaction encoding process. With Polywrap wrappers holding the logic of the algorithm that checks the possible paths and generates the calldata required for the contracts, we eliminate any single point that could be risky and exploitable at a big scale. Additionally, thanks to the nature of WebAssembly, being sandboxed and safer than other runtimes on the browser, it adds a layer of security to these delicate steps where transaction generation could be spoofed with different receiving addresses.