> For the complete documentation index, see [llms.txt](https://docs.plume.org/plume/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.plume.org/plume/developers/how-to-guides/how-to-use-nightfall.md).

# How to Use NightFall

Nightfall is an L3 privacy blockchain originally incubated by EY and the Ethereum community, designed to bring enterprise-grade privacy to tokenized assets.

<figure><img src="/files/JtyfdclJsiLTMzYmYdFv" alt=""><figcaption></figcaption></figure>

**Nightfall\_4 (NF\_4)** uses a Zero-Knowledge Proof (ZKP)-based protocol for private transfers of ERC-standard tokens:

* **ERC-20**: fungible tokens
* **ERC-721**: NFTs
* **ERC-1155**: multi-token standard
* **ERC-3525**: semi-fungible tokens

NF\_4 incorporates a **Layer-2 ZK-ZK rollup**, allowing transactions to be grouped into succinct proofs. Key properties:

* **Scalable:** private transfers typically cost \~6,000 gas
* **Fast finality:** finality is aligned with the underlying blockchain (EVM or SVM)
* **Rust-based:** implementation written in Rust, while preserving NF\_3’s API for compatibility

In order to run Nightfall you must run two applications: a `client` and a `proposer`.

\
The purpose of the `proposer` is to make Layer 2 blocks. It makes an endpoint available to `clients`. Clients are the application that normal users will employ to make transactions that are hidden by ZKP. Full instructions for How to Run a Proposer on Plume Testnet can be found [here](https://github.com/EYBlockchain/nightfall_4_CE/blob/master/doc/Plume_Testnet_Docs/plume_testnet_proposer_playbook.md).\
\
`clients` are the application that normal users will employ to make transactions that are hidden by ZKP. the user can intitiate three types of transaction via the `client`: Deposit, Transfer, and Withdraw. Full instructions for How to Run a Client Application on Plume Testnet can be found [here](https://github.com/EYBlockchain/nightfall_4_CE/blob/master/doc/Plume_Testnet_Docs/plume_testnet_client_playbook.md).
