# Technical Implementation

- [zkBob Application Overview](https://docs.zkbob.com/implementation/high-level-overview.md): Main system components
- [Deployed Contracts](https://docs.zkbob.com/implementation/deployed-contracts.md): zkBob deployed contracts
- [Smart Contracts](https://docs.zkbob.com/implementation/contracts-and-circuits.md): EVM-based
- [zkBob Pool Contract](https://docs.zkbob.com/implementation/contracts-and-circuits/the-pool-contract.md): Main transaction processor
- [Transaction Calldata](https://docs.zkbob.com/implementation/contracts-and-circuits/the-pool-contract/transaction-calldata.md): Reference tables with calldata structure for different transaction types
- [Bob Token Contract](https://docs.zkbob.com/implementation/contracts-and-circuits/token-contract.md): The BOB token serviced by the Pool
- [Verifier contracts](https://docs.zkbob.com/implementation/contracts-and-circuits/verifier-contracts.md): Used to verify transaction and tree zkSNARK proofs
- [Operator Manager Contract](https://docs.zkbob.com/implementation/contracts-and-circuits/operator-manager-contract.md): Manages relayers access to the Pool
- [Mutable Operator Manager](https://docs.zkbob.com/implementation/contracts-and-circuits/operator-manager-contract/mutable-operator-manager.md): The simple operator manager with relayer change support
- [Voucher (XP) Token Contract](https://docs.zkbob.com/implementation/contracts-and-circuits/voucher-token-contract.md): Reward users for account usage, future version implementation
- [Accounts and Notes](https://docs.zkbob.com/implementation/account-and-notes.md): The common entities
- [Accounts](https://docs.zkbob.com/implementation/account-and-notes/accounts.md): Define a customer wallet state
- [Notes](https://docs.zkbob.com/implementation/account-and-notes/notes.md)
- [Relayer Node](https://docs.zkbob.com/implementation/relayer-node.md): An intermediary between zkBob clients and contract
- [Relayer Operations](https://docs.zkbob.com/implementation/relayer-node/relayer-operations.md): Relayer lifecycle detailed description
- [Optimistic State](https://docs.zkbob.com/implementation/relayer-node/optimistic-state.md): Optimistic state description
- [REST API](https://docs.zkbob.com/implementation/relayer-node/rest-api.md): To interact with the relayer
- [zkBob Keys](https://docs.zkbob.com/implementation/zkbob-keys.md): Different key types
- [Address derivation](https://docs.zkbob.com/implementation/zkbob-keys/address-derivation.md): Private payment address
- [Ephemeral keys](https://docs.zkbob.com/implementation/zkbob-keys/ephemeral-keys.md): Receiving key
- [zkSNARKs & Circuits](https://docs.zkbob.com/implementation/zksnarks-and-circuits.md)
- [Transfer verifier circuit overview](https://docs.zkbob.com/implementation/zksnarks-and-circuits/transaction-verifier-circuit.md)
- [zkBob Merkle Tree](https://docs.zkbob.com/implementation/untitled.md): The main data structure
- [The Poseidon Hash](https://docs.zkbob.com/implementation/untitled/the-poseidon-hash.md): Used for the different purposes
- [Elliptic Curve Cryptography](https://docs.zkbob.com/implementation/elliptic-curve-cryptography.md): Baby-JubJub curve
- [Transaction Overview](https://docs.zkbob.com/implementation/transaction-overview.md): An atomic operation on the blockchain
- [Common Structure](https://docs.zkbob.com/implementation/transaction-overview/common-structure.md): Public and secret fields
- [Memo Block](https://docs.zkbob.com/implementation/transaction-overview/untitled-1.md): The main transaction part containing the encrypted data to restore balances and history
- [Memo Block Encryption](https://docs.zkbob.com/implementation/transaction-overview/untitled-1/memo-block-encryption.md): Used to encrypt accounts, notes and shared keys
- [Transaction Types](https://docs.zkbob.com/implementation/transaction-overview/transaction-types.md): Deposit, transfer, withdrawal
- [Nullifiers](https://docs.zkbob.com/implementation/transaction-overview/the-nullifiers.md): Double-spending protection
- [Signing a Transaction](https://docs.zkbob.com/implementation/transaction-overview/signing-a-transaction.md): To prove an input account ownership
- [The Transaction Lifecycle](https://docs.zkbob.com/implementation/transaction-overview/the-transaction-lifecycle.md): From the user to the contract
- [Client Library SDK](https://docs.zkbob.com/implementation/client-library-sdk.md): Client library v5.4.0 development guide
- [Configuration](https://docs.zkbob.com/implementation/client-library-sdk/configuration.md)
- [Initializing the client](https://docs.zkbob.com/implementation/client-library-sdk/configuration/initializing-the-client.md): Instantiating the client object
- [Client Configuration](https://docs.zkbob.com/implementation/client-library-sdk/configuration/initializing-the-client/client-configuration.md): Configure the common parameters
- [Attaching a User Account](https://docs.zkbob.com/implementation/client-library-sdk/configuration/attaching-a-user-account.md): Switching library to the full state mode
- [Account Configuration](https://docs.zkbob.com/implementation/client-library-sdk/configuration/attaching-a-user-account/account-configuration.md): Configure the customer's wallet
- [Switching Between Pools](https://docs.zkbob.com/implementation/client-library-sdk/configuration/switching-between-pools.md): In the multi-pool configurations
- [Account-less Mode Operations](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations.md): You can use these methods without any user credentials
- [Converting Token Amounts](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/converting-token-amounts.md): Between native and pool dimensions
- [Transaction Fees](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/transaction-fees.md): Requesting and estimation
- [Transaction Constraints](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/transaction-constraints.md): Parameters needed to create a tx
- [Using the Delegated Prover](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/using-the-delegated-prover.md): To reduce proof time computation time
- [Getting the State](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/getting-the-state.md): The state of the Merkle tree: relayer and contract
- [Gift Cards](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/gift-cards.md): Encoding and decoding URLs for gift cards
- [Client Library Status](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/client-library-status.md): Retrieving the client state
- [Helpers](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/helpers.md)
- [Versioning](https://docs.zkbob.com/implementation/client-library-sdk/account-less-mode-operations/versioning.md): Library, relayer and prover version information
- [Full Mode Operations](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations.md): You can use it only with an attached account
- [Balances and History](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/balances-and-history.md): Retrieve user's shielded funds and activity
- [Shielded Addresses](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/shielded-addresses.md): Used to transfer funds inside a privacy pool
- [Account State](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/account-state.md): Low-level routines to interact with the a local Merkle tree
- [Fee Estimations](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/fee-estimations.md): Calculating exact fee values for the different transactions
- [Transaction Configuration](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/transaction-configuration.md): Getting transaction parts and maximum amount to transfer/withdraw
- [Sending Transactions](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/sending-transactions.md): Deposit, transfers and withdrawals
- [Transaction Maintenance](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/transaction-maintenance.md): Monitoring transactions after sending
- [Direct Deposits](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/direct-deposits.md): External transactions to the privacy pool
- [Gift Cards Maintenance](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/gift-cards-maintenance.md): Getting balance and redemption
- [Ephemeral Deposits](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/ephemeral-deposits.md): Using ephemeral 0x-accounts served on the library side
- [Forced Exit](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/forced-exit.md): Emergency funds withdrawal in case the relayer is unavailable
- [Other Routines](https://docs.zkbob.com/implementation/client-library-sdk/full-mode-operations/other-routines.md): Statistic routines etc
- [Common Types](https://docs.zkbob.com/implementation/client-library-sdk/common-types.md): The types used within the different library methods
- [Full Functions List](https://docs.zkbob.com/implementation/client-library-sdk/full-functions-list.md): All available functions of ZkBobClient object
- [Utilities](https://docs.zkbob.com/implementation/client-library-sdk/utilities.md): Auxiliary routines


---

# 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.zkbob.com/implementation.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.
