# Saga Chainlets

In essence, a Saga Chainlet is a sovereign blockchain with a VM module running a single smart contract.&#x20;

<figure><img src="/files/7yCGUBpBaXtrIBZw189X" alt=""><figcaption></figcaption></figure>

Because each Chainlet contains only the smart contracts a developer or team would like to deploy on a single chain, the developer has a flexible and usable development environment:

* For the developer, the deployment of Chainlet is as easy as deploying a smart contract
* Chainlet blockspace is not shared with any other application, leading to predictable fees&#x20;
* Saga is meant to be VM agnostic, which means developers can bring their own VM module to plug into their Chainlet. The first kind of VM Saga will support is the EVM
* Chainlet components such as VM module, SDK and Tendermint Core can be upgraded independently from other applications and Saga Mainnet
* Saga supports other technology stacks besides Cosmos SDK and Tendermint, including Polygon Edge

Saga enables developers to manually “shard” various workflows into multiple Chainlets to leverage horizontal scaling. Deploying a Uniswap-like AMM smart contract into its own application specific Chainlet will already offer significant scalability improvements. However, once the demand for the smart contract starts exceeding the limitations of current blockchain technology, the developer could deploy multiple instances of the same smart contract focused on particular subsets of activity. In the AMM example, the developer could deploy a smart contract instance for each asset pair. The Chainlet architecture enables near limitless scalability, as long as these Chainlets can be secured properly.


---

# 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.saga.xyz/introduction/saga-overview/saga-chainlets.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.
