> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zecolabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data types

> The data types supported in Baretta.

Not every Python data type is useful for smart contracts. For this reason, Baretta limits the data types to the list below.

| Type | Description |
| - | - |
| `None` | No value |
| `bool` | True or false |
| `int64` | Signed 64-bit integer. This is the default for integers |
| `uint64` | Unsigned 64-bit integer |
| `uint128` | Unsigned 128-bit integer |
| `uint256` | Unsigned 256-bit integer |
| `str` | Text |
| `bytes` | Raw bytes |
| `list` | A list of values of one type. See [Lists and dicts](https://docs.zecolabs.com/baretta/collections.md) |
| `dict` | A map of keys to values. See [Lists and dicts](https://docs.zecolabs.com/baretta/collections.md) |
| `pointer` (`ptr`) | A reference to a value. See [Baretta Rules](https://docs.zecolabs.com/baretta/rules.md#pointers) |
| `function` | A function |
| `class` | A class |
| `module` | A module |
| `Lookup` | The result of an operation that can fail. See [Lookup](https://docs.zecolabs.com/baretta/lookup.md) |

An integer written without a type is `int64` by default.

> [!NOTE]
>
> Details about all additional types will be provided when everything is stable and maybe there will be additional types in the future.

## No try and except

Baretta removes `try` and `except`, because smart contracts do not need them. Use [Lookup](https://docs.zecolabs.com/baretta/lookup.md) to handle errors instead.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.