# UI Overview

## UI actions

* [Setup](https://docs.zkbob.com/zkbob-app/account-creation) a zkAccount using an existing web3 wallet or a secret phrase.
* [Deposit ](https://docs.zkbob.com/zkbob-app/deposits)arbitrary token amounts of a supported token into the application.
* [Transfer](https://docs.zkbob.com/zkbob-app/transfers) deposits to other participants using zkSnarks technology (proof of transaction without disclosing details of the sender, recipient, and value).
* [Withdraw](https://docs.zkbob.com/zkbob-app/withdrawals) arbitrary token amounts securely and privately.
* [Generate secure addresses](https://docs.zkbob.com/zkbob-app/generate-a-secure-address) for funds transfer within the application.
* [Create and use payment links](https://docs.zkbob.com/zkbob-app/payment-links) to accept donations or payments from other users who may even know about zkBob. They do not need a zkBob account and can pay with any token.

## ZeroPool Library

The zkBob application uses the [Zero Pool](https://zeropool.network/) library to prepare zkproof transactions and interact with the relayer. The application is responsible for:

* Processing transactions
* Restoring local state
* Building zkproofs from user input (ie amount, address)
* Interacting with the relayer
