In Flash Trade, users simply select their desired token and enter the amount they wish to swap. The resolvers then manage the rest of the process. Once a user agrees to the rate, they sign the order, giving a resolver permission to access their assets. The resolver reserves an equivalent amount of collateral, ensuring the safety of the user's assets even if the resolver refuses to execute the order after the user has already transferred the funds.
In Flash Trade, the resolvers handle all aspects of the transaction, including paying gas fees. This approach creates a gasless flow and relieves users from storing multiple native coins in their wallets. The resolvers have an average 2-minute window to finalize the orders.
Liquidators play a critical role in monitoring transactions. A liquidation process is initiated when the transaction is not completed within the agreed timeframe. The first step is for liquidators to execute the user's order, after which, by making a request to the on-chain light client and providing proof of execution, they can take the collateral. The current state of the light client is maintained by a distributed network of nodes that constantly provide updates via generated Zk proofs, ensuring the security and transparency of the platform. Users can be sure that their orders will be executed and that they will receive assets according to the signed orders.
This approach removes risks from the users and transfers the entire management process and responsibility to the resolvers while guaranteeing that users will always receive the desired assets. Overcollateralizing each transaction demotivates the resolvers to avoid responsibility and encourages liquidators to execute liquidations as quickly as possible. Moreover, the architecture of the Flash Trade protocol based on ZK proofs guarantees a decentralized approach where any participant can make liquidations, thus increasing the system's reliability, the integrity of the execution of each transaction, and the security of the entire system.