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