Hot Chocolate vs Lighthouse
Hot Chocolate
chillicream.comLighthouse
lighthouse-php.comSide by side
| Figure | Hot Chocolate | Lighthouse |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · GraphQL Tools | 8.1 (#6) | 8.1 (#7) |
| Purpose | Hot Chocolate is an open-source GraphQL server for .NET that runs on ASP.NET Core. | Lighthouse is a framework for serving GraphQL from Laravel. |
Plans
In their own words
Hot Chocolate
Hot Chocolate is an open-source GraphQL server for.NET that runs on ASP.NET Core and builds a GraphQL schema from C# types and resolvers. Developers can define typed schemas through implementation-first or code-first methods. It supports GraphQL over HTTP and WebSocket, plus Server-Sent Events for streaming responses. Documentation describes schema downloads, a Nitro GraphQL IDE endpoint, and a command-line interface for schema export. Data integrations include Entity Framework, MongoDB, and Marten; DataLoaders and batch resolvers help batch and cache related requests. OpenTelemetry instrumentation covers server, execution, and DataLoader activity. Security guidance recommends query cost analysis, pagination and execution-depth limits, and timeouts for public APIs; trusted documents can restrict private APIs to registered operations. Servers can act as Fusion subgraphs. Hot Chocolate implements the GraphQL 2025 specification and GraphQL over HTTP, and supports spec-compliant clients including Strawberry Shake, Relay, and Apollo Client. It is MIT licensed for commercial or private use. Community support is free; paid Startup support starts at $450 per month and includes two critical incidents.
Lighthouse
Lighthouse is a framework for serving GraphQL from an existing Laravel application. It uses GraphQL Schema Definition Language and server-side directives to describe data and add behavior, while reusing Laravel concepts and Eloquent models. Built-in directives can create records, resolve relationships, apply query constraints, paginate results, and validate fields and arguments. Developers can add custom directives for reusable behavior, while the @can directive family can use Laravel Policies to restrict field operations. The default endpoint is `/graphql`, and any GraphQL client can use it. Lighthouse also supports standard Laravel authentication mechanisms, including Sanctum, and GraphQL subscriptions for event updates. Parsed queries can be cached with Laravel cache stores or local PHP files using OPcache; Automatic Persisted Queries are supported with Apollo compatibility. Installation uses Composer in a Laravel or Lumen project. The package is free and self-hosted. GraphQL tooling such as GraphiQL is not included, and federation support is experimental and cannot serve as a federation gateway.