# Saga Topology

The following sections will go through some of the key features of the Saga protocol. For a more extensive discussion, please see our [litepaper](https://sagaxyz.cdn.prismic.io/sagaxyz/08e727f2-88a2-4c95-ad17-b0b9579d2b69_saga-litepaper-march-2022.pdf).

In Saga, smart contract developers interact with the Saga Mainnet to request a Saga Chainlet. A Saga Chainlet is an application-specific blockchain secured using [Cosmos Interchain Security](https://github.com/cosmos/interchain-security) (ICS), with the Saga Mainnet validators providing the security. The validators for the Chainlets are the same as those for Saga’s Mainnet, and they produce blocks while checking to make sure that the other validators are following a predetermined service-level agreement (SLA). The provisions of this SLA include uptime requirements, running relayers and services, and validating properly without double signing. When a validator violates the SLA for a Chainlet, the evidence is relayed by the other validators via [Inter Blockchain Communication](https://ibc.cosmos.network/) (IBC) back to the Saga Mainnet. The network then slashes the staked SAGA tokens of the validator who violated the SLA. Using ICS, every Chainlet automatically inherits the security of Saga’s Mainnet without the need for a native and individual staking token.\
\
In Saga, a Chainlet can be configured to use various [Cosmos SDK](https://v1.cosmos.network/sdk) modules, including virtual machines (i.e. EVM, Cosmwasm, SolanaVM, MoveVM) as well as different flavors of each (i.e. Juno’s version of Cosmwasm, Osmosis’s version of Cosmwasm, the Aptos MoveVM). Every Chainlet has a dedicated VM that has been deployed onto an individual chain. To deploy, a developer simply requests a Chainlet launch from Saga Mainnet. Once the request is received on the Saga Mainnet, the Saga validators provision the requested Chainlet. Once the provisioning is complete, the developer is free to deploy the smart contracts they have developed onto their Chainlet.

<figure><img src="/files/yLdpFWgE4XPmcqtxpXce" alt=""><figcaption></figcaption></figure>


---

# 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-topology.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.
