# Swift Protocol's Core Utility: Privacy

**How is Privacy Achieved?**

The core of Swift Protocol's privacy functionality lies in its ability to obscure the transaction trail between sender and receiver addresses. This is achieved through a smart contract that processes deposits and allows for withdrawals from different addresses, thereby severing the direct link visible on the blockchain. The protocol's recommendation to employ a relayer for gas payments during withdrawals enhances privacy by enabling transactions from addresses without a prior balance, further complicating the traceability of funds.

The integration of zk-SNARKs technology elevates Swift Protocol's privacy capabilities. zk-SNARKs, or Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge, empower the protocol to authenticate transactions without disclosing any specific transaction data. This means the protocol can confirm the legitimacy of a transaction (such as verifying that a deposit has been made) without revealing sensitive information like the amount or the identities of the involved parties.&#x20;

<figure><img src="/files/Fc5OSTdWLomudQxJPvGj" alt=""><figcaption><p>How ZK-Snarks Work</p></figcaption></figure>

The application of zk-SNARKs ensures that while transactions remain verifiable and compliant with the protocol's rules, they also maintain a high degree of confidentiality, protecting user privacy on the public ledger.

By combining these  strategies, Swift Protocol stands out as a privacy-centric solution in the blockchain space, enabling secure, anonymous transactions while maintaining the integrity and accessibility of the decentralized ledger.


---

# 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://swift-protocol.gitbook.io/swift-protocol/swift-protocols-core-utility-privacy.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.
