# Lookup Tables

Lookup Tables are the reason why large atomic transactions are possible, and BYOB couldn't exist without good LUT management. LUTs are managed automatically for you both on the frontend and for bot accounts so you actually don't have to think about them.

BYOB works with the following logic:

* If a transaction contains >20 keys that are not inside a LUT that is already known, they need to be added (either through an Action like Jupiter Swap that returns a set of LUTs or in localstorage from previous transactions or imported).
* Adding LUTs is done before creating the transaction and is completely automatic, however it doesn't work with multiple LUT accounts, so BYOB is currently kind-of limited to 256 unique account keys. If this is a problem, just create the LUT, close the dialog and do it again so it will create another LUT with the remaining keys.
* Created LUTs are saved in localstorage and re-used whenever possible
* LUTs can also be imported, if you have LUT accounts already from somewhere else. They don't have to be yours, you can import any LUT account, but are useless if they only contain account keys that you're not going to use anyway.
* A dialog with LUT management where the keys in localstorage are displayed
* Two actions: deactivate and close LUT in order to reclaim the SOL stored in a LUT
