# Privacy on Demand

Privacy on Demand lets applications use **strong privacy for data and computation** while still using **ordinary EVM chains** (Ethereum, L2s, and other compatible networks) for accounts, assets, and business workflows.

> **Development status:** This Privacy on Demand material and the **COTI PoD SDK** it describes are **under active development**. Treat them accordingly: on-chain and client code **may not yet be fully audited**, and **breaking changes** (APIs, ABIs, addresses, presets, or documentation) can occur as the stack matures. Pin versions, follow release notes, and perform your own review before relying on anything in production.

### Quick Access

* [**Tutorials: PoD dApps (choose your integration model)**](/coti-documentation/privacy-on-demand/tutorials-privacy-on-demand.md) — Primitive-only vs custom COTI logic, then links to step-by-step guides.
* [**Architecture and design**](/coti-documentation/privacy-on-demand/architecture-and-components.md) — Inbox, MPC executor, PodUser, PodLib, and how they connect.
* [**Learn about fees**](/coti-documentation/privacy-on-demand/how-poa-fees-work.md) — How PoA/PoD fees split across COTI and your host chain.
* [**Millionaires demo**](https://millionaire.demo.coti.io) — Live demo (external).

### Further resources

* [**Examples**](https://github.com/cotitech-io/coti-pod-sdk/tree/main/contracts/examples) — Contract examples in the PoD SDK repo.
* [**PoD SDK documentation**](https://github.com/cotitech-io/coti-pod-sdk/tree/main/docs) — Full SDK docs on GitHub.

The same **Quick Access** and **Further resources** blocks appear on the [docs homepage](/coti-documentation/readme.md).

***

This section explains **what PoD is**, **how it feels to users and operators**, and **how the main pieces fit together**. For step-by-step integration with the **COTI PoD SDK**, use the [npm package](https://www.npmjs.com/package/@coti/pod-sdk), the [documentation on GitHub](https://github.com/cotitech-io/coti-pod-sdk/tree/main/docs), and the links below.

## Who this documentation is for

| Audience                                      | What you will get here                                                                                   |
| --------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| **Product, compliance, and business readers** | Plain-language model of privacy, where data lives, and what “async” private operations mean in practice. |
| **Architects and technical leads**            | End-to-end diagrams, component roles, and boundaries between chains and domains.                         |
| **Developers**                                | A clear map from concepts to Solidity/TypeScript work, plus pointers to the authoritative SDK docs.      |

## Table of contents

### Understand first (readable without writing code)

1. [What is Privacy on Demand?](/coti-documentation/privacy-on-demand/what-is-privacy-on-demand.md) — Problem, promise, and constraints in everyday language.
2. [How a private request travels end to end](/coti-documentation/privacy-on-demand/how-a-private-request-travels-end-to-end.md) — Timeline from user action to decrypted result.
3. [Architecture and main components](/coti-documentation/privacy-on-demand/architecture-and-components.md) — Where **Inbox**, **MPC executor**, **PodUser**, and **PodLib** sit, with diagrams.
4. [Glossary](/coti-documentation/privacy-on-demand/glossary.md) — Short definitions of terms you will see in PoD and SDK docs.

### Deeper context

5. [Async private operations (why it is not instant)](/coti-documentation/privacy-on-demand/async-private-operations.md) — What “pending” means and why UX must reflect it.
6. [How do PoA fees work?](/coti-documentation/privacy-on-demand/how-poa-fees-work.md) — Two-way Inbox budgets, oracle conversion, and step-by-step gas-unit consumption (worked example).
7. [For developers: mapping concepts to the SDK](/coti-documentation/privacy-on-demand/for-developers-mapping-to-the-sdk.md) — Checklists and links to the [PoD SDK documentation on GitHub](https://github.com/cotitech-io/coti-pod-sdk/tree/main/docs).

### Tutorials (hands-on)

8. [Tutorials: building PoD dApps](/coti-documentation/privacy-on-demand/tutorials-privacy-on-demand.md) — When to use **MpcLib / PodLib** primitives vs **custom COTI + host** contracts, with links to focused walkthroughs.
9. [TypeScript PoD SDK (`CotiPodCrypto`, `PodContract`)](/coti-documentation/privacy-on-demand/typescript-pod-sdk.md) — Encryption/decryption, fee estimation, method calls, and request ID extraction.
10. [Cookbook: private investor allocations with PoD](/coti-documentation/privacy-on-demand/cookbook-private-investor-allocations.md) — Start from a familiar public Sepolia allocation dApp, then make allocation reads and withdrawals private with PoD.
11. [Tutorial: private Adder on Sepolia](/coti-documentation/privacy-on-demand/tutorial-private-adder-sepolia.md) — Minimal primitive-only adder: `PodUserSepolia`, fees, TypeScript crypto.
12. [Tutorial: custom privacy logic with PoD](/coti-documentation/privacy-on-demand/tutorial-custom-logic.md) — Encrypted messaging shape: `DirectMessageCotiSide` + Sepolia orchestrator.

## Official technical reference

The machine-readable contracts, types, and APIs live in the open-source SDK. Treat this book chapter as the **human-oriented companion**; treat the repository as the **source of truth** for signatures, fees, and network constants:

* [COTI PoD SDK — documentation index](https://github.com/cotitech-io/coti-pod-sdk/tree/main/docs)


---

# 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.coti.io/coti-documentation/privacy-on-demand.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.
