> [!NOTE] This is a more technical explanation of how Cap works. If you're looking for a more general overview, check out the [Effectiveness](./effectiveness.md) page.
3. When a solution is requested, the widget sends a request to the server. The server will return a token and the configuration for the challenges to solve.
4. The widget then generates multiple challenges using a set seed (the challenge token) and the configuration provided by the server.
6. Once a valid solution is found, the widget sends the result back to the server for validation.
7. The server itself then also generates the same challenges using the provided token and configuration, and verifies the solutions submitted by the widget.
8. Upon successful verification, the server redeems the solution and issues a token that can be used to authenticate the request.