# Protocol Details

- [Algebraic Primitives & Notation](/nocturne/protocol-details/algebraic-primitives-and-notation.md)
- [Keys & Key Derivation](/nocturne/protocol-details/keys-and-key-derivation.md)
- [Stealth Addresses](/nocturne/protocol-details/stealth-addresses.md)
- [Signatures](/nocturne/protocol-details/signatures.md)
- [Encodings](/nocturne/protocol-details/encodings.md): Details about encodings used to represent core data structures using both field elements and bits.
- [Commitment Tree](/nocturne/protocol-details/commitment-tree.md)
- [Subtree Update Circuit](/nocturne/protocol-details/commitment-tree/subtree-update-circuit.md): Details of subtree update circuit
- [JoinSplit Circuit](/nocturne/protocol-details/joinsplit-circuit.md): Details of JoinSplit circuit, including PIs, encodings, and constraints (in english)
- [Note Encryption](/nocturne/protocol-details/note-encryption.md)
- [Contracts](/nocturne/protocol-details/contracts.md): Details on the Nocturne contracts
- [Deposit Manager](/nocturne/protocol-details/contracts/deposit-manager.md): Gated entry point for deposits
- [Teller](/nocturne/protocol-details/contracts/teller.md): Stores assets and serves as entry point for processing bundles
- [Handler](/nocturne/protocol-details/contracts/handler.md): Handles private accounting and executes operations
- [ETH Adapters](/nocturne/protocol-details/contracts/eth-adapters.md)
- [Canonical Address Registry](/nocturne/protocol-details/contracts/canonical-address-registry.md)
- [Offchain Actors](/nocturne/protocol-details/offchain-actors.md): Details on the Nocturne offchain actors
- [Deposit Screener](/nocturne/protocol-details/offchain-actors/deposit-screener.md): Approves/rejects incoming deposits
- [Bundler](/nocturne/protocol-details/offchain-actors/bundler.md): Relays operations on behalf of users
- [Subtree Updater](/nocturne/protocol-details/offchain-actors/subtree-updater.md)
