GraphQL Kotlin vs Hot Chocolate
GraphQL Kotlin
opensource.expediagroup.comHot Chocolate
chillicream.comSide by side
| Figure | GraphQL Kotlin | Hot Chocolate |
|---|---|---|
| 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.0 (#8) | 8.1 (#6) |
| Federation | The federation module can generate Apollo Federation compliant schemas. | A Hot Chocolate server can act as a Fusion subgraph, allowing services to be composed behind a gateway as teams need independent ownership and deployment. |
| Intended users | The project describes its common use cases as running a GraphQL server and generating a type-safe client in Kotlin. | The documentation describes trusted documents as suited to private APIs serving known clients, including an organization's own web or mobile applications. |
| License | The library is licensed under Apache License 2.0. | The product page says Hot Chocolate is MIT licensed and may be used, modified, and distributed in commercial or private projects. |
| Purpose | GraphQL Kotlin is a collection of libraries built on graphql-java to run GraphQL clients and servers in Kotlin. | Hot Chocolate is an open-source GraphQL server for .NET that runs on ASP.NET Core. |
| Security | The repository README directs users to SECURITY.md for security issue contact information and supported versions receiving security updates. | Hot Chocolate integrates with ASP.NET Core authentication and supports JWT, cookies, and other authentication schemes. |
| Support | The maintainers invite questions through GitHub Discussions and the public #graphql-kotlin channel on Kotlin Slack. | ChilliCream lists community support as free and paid support plans starting at $450 per month for Startup, with two critical incidents included. |
Plans
In their own words
GraphQL Kotlin
GraphQL Kotlin is a free Apache License 2.0 collection of libraries, built on graphql-java, for running GraphQL clients and servers in Kotlin. Its schema generator creates schemas from Kotlin code, and a federation module can produce Apollo Federation-compliant schemas. Gradle and Maven plugins generate type-safe Kotlin clients from existing schemas. Generated clients support queries, mutations, batching, coroutines, custom scalars, configurable enum defaults, and Jackson or kotlinx.serialization models. Reference HTTP integrations use Ktor HTTP Client and Spring WebClient, while custom engines are possible. Server implementations target Spring Boot and Ktor; the Spring server uses Spring WebFlux. Ktor supports Kotlin Flow subscriptions over WebSockets with the graphql-transport-ws subprotocol. Its plugin leaves route configuration to the application, allowing selective routes and added authentication logic. The schema generator supports Kotlin Lists, but Sets, arbitrary Maps, and arrays are not supported out of the box. The project is self-hosted, with security guidance in its repository and community support through GitHub Discussions and Kotlin Slack.
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.