A **solver** is a runtime component that loads equilibrium strategies into memory to serve strategic reasoning queries. When you train an equilibrium, the result is a strategy file. To actually use that strategy, to query it for recommended decisions, you need a solver to load it and make it available for requests.

## How Solvers Work

Think of an equilibrium as a blueprint for sound strategic behavior, and a solver as the engine that makes those blueprints actionable:

1. **Loading**: A solver loads an equilibrium's strategy data from storage into memory
2. **Serving**: Once loaded, the solver can quickly respond to queries about what action to take in different game states
3. **Resource Management**: Each solver consumes memory resources, so you can enable/disable them as needed

## Solver States

Solvers can be in one of two states:

- **Enabled**: The solver has loaded its equilibrium strategies into memory and is ready to serve queries. Enabled solvers allow agents to make grounded strategic decisions in real-time.
- **Disabled**: The solver is not loaded in memory and cannot serve queries. This frees up computational resources.

## See also
- [What is an Equilibrium?](/docs/what-is-an-equilibrium) - Understanding the strategies that solvers load
- [What is an Agent?](/docs/what-is-an-agent) - How agents use solvers for decision-making
- [What is Thinking?](/docs/what-is-thinking) - The reasoning process that solvers enable
