# Swaps.io Protocol

In Swaps.io Protocol, users simply select their desired token and enter the amount they wish to swap. Intent Agents then manage the rest of the process. Once a user agrees to the rate, they sign the order, giving an Intent Agent permission to access their assets. The Intent Agent reserves a collateral amount exceeding the user's assets in value, ensuring the safety of the user's funds even if the Intent Agent refuses to execute the order after the user has already transferred the funds.

In Swaps.io Protocol, Intent Agents  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.&#x20;

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.&#x20;

This approach removes risks from the users and transfers the entire management process and responsibility to Intent Agents while guaranteeing that users will always receive the desired assets. Overcollateralizing each transaction demotivates Intent Agents to avoid responsibility and encourages liquidators to execute liquidations as quickly as possible. Moreover, the architecture of Swaps.io 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.swaps.io/swaps.io-protocol.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
