> For the complete documentation index, see [llms.txt](https://docs.lacunalabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.lacunalabs.io/lacuna-labs/how-lacuna-works.md).

# How lacuna works

*Public balances, replaced by private claims in a shared pool.*

Lacuna replaces public balances with private claims held inside a shared pool. The mechanics are unusual, but the experience is familiar: deposit, use your funds, withdraw.

## The shielded-pool model

Picture a shared vault filled with identical sealed boxes. You place value into a box and drop it in. Everyone can see the vault and count the boxes, but no one can see what is inside any box or who holds its key. To move or withdraw value, you prove you hold a valid key — without ever opening your box in public. That is a shielded pool: deposits become sealed cryptographic commitments, and value moves between them through proofs that reveal nothing.

## The user journey

Using Lacuna follows three steps. You **shield** assets by depositing them into the pool, where they become a private balance only you control. You **transact,** transfer to someone, swap one asset for another, or bridge to another chain entirely inside the pool. And you **unshield** whenever you like, withdrawing to any address, including a brand-new one with no history.

*Fig. 3 — The core flow: shield into the pool, transact privately inside it, and unshield to any address when you choose.*

## What makes Lacuna different

Most privacy tools force a trade-off: give up custody, accept a desktop-only workflow, or settle for a single feature with no path to real use. Lacuna is built to avoid all three — self-custodial, mobile-native, and full-stack, with transfers, swaps, and bridging in one protocol.

| Approach            | Self-custodial | Mobile | Transfers | Swaps | Bridging |
| ------------------- | :------------: | :----: | :-------: | :---: | :------: |
| Custodial mixer     |        –       |    ✓   |     ✓     |   –   |     –    |
| Desktop ZK tool     |        ✓       |    –   |     ✓     |   –   |     –    |
| Single-purpose pool |        ✓       |    –   |     ✓     |   –   |     –    |
| **Lacuna**          |        ✓       |    ✓   |     ✓     |   ✓   |     ✓    |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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.lacunalabs.io/lacuna-labs/how-lacuna-works.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.
