# Technology Overview

There are multiple modules and protocols that makes up THORChain. The tech stack can be broken down in the following key pieces:

* [Bifrost, TSS and Vaults](/technical-documentation/technology/bifrost-tss-and-vaults.md): THORChain is a leaderless vault manager with several components:
  * 1-Way State Pegs: Syncs state from external chains to THORChain using the Bifröst Protocol.
  * THORChain State Machine (TSS) protocol: Coordinates asset exchange logic, delegates transactions and enables distributed threshold key-signing.
  * Bifröst Chain Client: Processes chain-specific transactions.
* [Midgard](/technical-documentation/technology/midgard.md): Midgard is a layer 2 REST API that provides front-end consumers with semi real-time rolled up data and analytics of the THORChain network.
* [Cosmos SDK](/technical-documentation/technology/cosmos-sdk.md): The Cosmos SDK is an open-source toolkit for building multi-asset public Proof-of-Stake (PoS) blockchains. There are multiple benefits from building an application-specific blockchain using the Cosmos SDK: Flexibility, Performance, Security and Sovereignty
* [CosmWasm](/technical-documentation/technology/cosmwasm.md): CosmWasm is a smart contracting platform built for blockchains that uses the Cosmos SDK, Simply put, it's the Cosmos (Cosm) way of using WebAssembly (Wasm) hence the name. With CosmWasm, teams can deploy smart contracts on THORChain directly

## Developer Resources

For technical implementation details including:

* Transaction memo formats and syntax
* API integration guides (THORNode, Midgard)
* Chain-specific integration requirements
* Smart contract deployment and aggregator contracts
* Affiliate fee implementation
* RPC and WebSocket endpoints
* Testing on stagenet

See the [THORChain Developer Documentation](https://dev.thorchain.org/)


---

# 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.thorchain.org/technical-documentation/technology.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.
