# Overview

[![Twitter URL](https://img.shields.io/twitter/url.svg?label=Follow%20%40BellaProtocol\&style=social\&url=https%3A%2F%2Ftwitter.com%2FBellaProtocol)](https://twitter.com/BellaProtocol) [![Chat](https://img.shields.io/badge/chat-on%20discord-7289da.svg)](https://discord.gg/8ctd5geS8t)

## the "*Tuner*", a programmable, transaction-based Uniswap V3 Simulator with 100% Precision

> Before an orchestra, every musical instrument has to be *in-tune*, to ensure an outstanding performance.
>
> Before running a strategy, every parameter has to be *fine tuned*, to maximize the performance.

***Tuner*****&#x20;is a programmatic Uniswap V3 simulator that allows strategy backtesting on a transaction-to-transaction basis with arbitrary or historical data without the EVM, it runs independently yet completely retains the exact smart-contract behavior of the intricate design and implementation of Uniswap V3.**

### Documentation

* [Getting Started](https://docs.bella.fi/getting-started)
* [Configuration](https://docs.bella.fi/configuration)
* [Guides](https://docs.bella.fi/guides)
* Developer Articles(stay tuned)

***Tuner*****&#x20;is fundamentally a state machine, it can:**

> **Completely replicate the tick-level calculation**

* this means your strategy will run through the Uniswap V3 implementation logic instead of just the high-level mathematic model.

> **Maintain the identical tick-level precision of prices, fees, and positions of Uniswap V3**

* this means the result of your backtesting is true to the real performance with the minimum margin of deviations.

> **Run fast**

* the EVM is slow, the historical dataset is huge, the Ganache cannot do the job, so use *Tuner*.

> **Fast-forward and rewind transactions**

* this means you can easily repeat a small portion of your test with a different set of parameters without the need to start over.

> **Take or recover from a snapshot(state)**

* this means you can run continuous regression test as your strategies constantly evolves.

> **Branch out and runs in parallel**

* this means you can run multiple back-tests each with a different set of parameters at the same time and compare the performance.

> **Persist historical data and strategy execution records in a SQLite database**

* this means the strategists can do advanced statistical analysis both in real-time and after the testing.


---

# 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.bella.fi/getting-started/readme.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.
