> ## Documentation Index
> Fetch the complete documentation index at: https://opentools.page/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Modules

> How OpenTools groups by domain

Modules are how OpenTools organises tools into **domains**, for example email, trading or calendar, and not just by their provider.

Each module defines a bounded set of tools, schemas, and normalisation rules around a single problem, such as trading, email, or calendars.

Instead of thinking in terms of providers or APIs, OpenTools encourages you to think in terms of **what your application is trying to do**.

***

## What is a module?

A **module** is a domain-level grouping of tools.

It defines which tools exist for that domain and what schemas those tools return. It also defines which providers are supported and how data is normalised across providers

For example, the **Trading** module contains tools like:

* Account retrieval
* Position listing
* Order placement
* Portfolio history

Those tools may be backed by different providers, but the module defines the **shared contract** which is also known as the canonical schema.

***

## Why modules exist

Providers solve infrastructure problems but modules transform them into application use-cases so that you can scale with ease and allow for your users to adopt these integrations.

Without modules, applications quickly become tangled in extraneous logic, like re-configuring differing APIs for the same concept, different response shapes or conditional handling everywhere

Modules enforce a theoretical boundary based on DRY principles:

> *If two providers solve the same problem, they belong in the same module.*

Typical interaction with OpenTools is at the module level, not by manually wiring individual tools together.
This allows OpenTools to normalise behavior once and reuse it everywhere.

***

## Current modules

At the moment, OpenTools includes a single production-ready module, with more listed within [the roadmap](https://www.opentools.page/roadmap) and their approximate timelines. Please note that this is prone to change depending on user demand and contributions.

Currently, only the Trading module is actively in production, which covers market and account interactions across supported trading providers. More modules will follow as OpenTools expands. This is intentional; modules are added only when they can be fully supported as some are currently under development and actively stress-tested at time of writing.

***

## Next steps

<Columns cols={2}>
  <Card title="Trading" icon="up" href="/trading/overview">
    See how tools are implemented in a module like Trading to connect to real providers.
  </Card>

  <Card title="Tools" icon="wrench" href="/concepts/tools">
    Understand how tools are defined and executed.
  </Card>
</Columns>
