# Baker

## How long is a cycle?

A cycle is composed by 4096 blocks and lasts slightly less than 3 days.

## What rewards should I expect?

* bake:  `16 / halving_factor` TZL
* endorse: `2 / halving_factor` TZL
* seed nonce revelation: `0.125 / halving_factor` TZL

## How is halving computed?

Halving factor depends on the halving period. Halving period is incremented each 256 cycles (\~2 years). Halving factor is then computed as `2 ^ halving_period`.

## How do I find out when's my turn to bake?

Choose a `block_number` and call: `https://rpc.betanet.tzlibre.io/chains/main/blocks/head/helpers/baking_rights?level=<block_number>`.

## Where are my private keys?

Your keys are strored in: `~/.tzlibre-client-betanet`.

## How long does it take to bootstrap?

Depending on your connection and on chain length it can take anything between 30 minutes and a few hours.

## What's minimum amount of TZL to bake?

**1000 TZL**

## Are there any security deposits?

Yes, **1344 TZL** per block and **84 TZL** per endorsement.

But, from cycle `0` o  `1` security deposits are `0`TZL due `preserved_cycles`.

Then from cycle `preserved_cycles + 1 = 4` to `preserved_cycles + 1 + security_deposit_ramp_up_cycles = 134` it will be `(1344+83*32)/128*(i-preserved_cycles)` where `i` is the current cycle.

## How can I be sure my baker is up and running?

Check logs of baker container:

```
docker logs -f tzlibre_baker
```

Check logs of baker endorser:

```
docker logs -f tzlibre_endorser
```

## When I will bake/endorse next block?

&#x20;You can use this endpoint to retrieve your next baking rights, renaming `{YOUR_ADDRESS}` with your baking address.

```
https://api-explorer.betanet.tzlibre.io/tables/rights?priority=0&columns=type,address,cycle,height,priority&address={YOUR_ADDRESS}
```

You'll receive something like this:

```
[
    [
        "endorsing", // type of baking rights
        "tz1...", // baking address
        6, // cycle
        26105, // level
        0 // priority
    ]
]
```


---

# 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://tzlibre-doc.gitbook.io/tzlibre/faq/baker.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.
