---
# System prepended metadata

title: Privado x Miden integration

---

# Privado × Miden Integration

## Goal

Miden aims to integrate with Privado to enable **private yet compliant asset exchange**.  
Users want to maintain privacy while still adhering to applicable **KYC** (Know Your Customer) or **KYB** (Know Your Business) requirements.

---

## Background: Miden

**Miden** is a blockchain designed for **high-throughput and private applications**.  
Users locally generate **zk-proofs** for their own state transitions, while the network merely verifies them.

- **Accounts** on Miden can be **private** or **public**.  
  - For private accounts, the network stores only a **commitment** to the state.  
  - For public accounts, it stores the **full account data**.  

- **Notes** are Miden’s equivalent of Bitcoin’s UTXOs.  
  - They represent messages or assets exchanged between accounts.  
  - Notes can also be **private** or **public**.  

A **transaction** in Miden represents a **state transition of a single account**, during which it can **consume** and **produce** notes.  
Consuming a note means that the **note’s script** must be executed successfully by the **receiving account**.

👉 Find a full overview of the Miden protocol [here](https://0xmiden.github.io/miden-docs/imported/miden-base/src/index.html).

---

## Potential Integrations

The goal is for users to **prove their identity during a transaction** — so that a receiving account can only consume a note if specific compliance conditions are met.  
Below are potential integration models.

---

### Option 1: Reading Data During the Transaction

Currently, Miden accounts can **read foreign account states** during transaction execution.

It may become possible to also **read data from external APIs** and integrate this information into the transaction’s inputs.  
However, this approach requires a method to **verify the authenticity of external data**, since there is no on-chain source of truth to validate it against.

---

### Option 2: Storing Identity as an NFT in the Account

Miden accounts have access to their own **persistent storage** during transaction execution.

If **Privado** could issue **NFTs representing user identities**, accounts could prove ownership of such NFTs — including specific verified attributes — to authorize compliant transactions.

---

### Option 3: On-Chain Identity Proofs via Privado Accounts

Another option is that **Privado** could store verified identities in **private on-chain accounts**.  
Since Miden’s private accounts can be arbitrarily large, this identity data could be efficiently managed using **lazy account loading** and **foreign procedure invocation**.  
This would allow Miden accounts to **prove identity directly from on-chain data** in a privacy-preserving way.

---

### Summary

| Option | Description | Verification Source | Feasibility |
|:--|:--|:--|:--|
| 1 | Read identity data from an external API during execution | Off-chain API | ? |
| 2 | Store identity as an NFT inside the account | On-chain NFT | Medium |
| 3 | Store and verify identity within private Privado accounts | On-chain account | High |
